Ajankohtainen tilanne: PHP2Shell. Kaksi kriittistä PHP-haavoittuvuutta (CVSS 9.2) sallii haittakoodin suorittamisen ilman kirjautumista. Korjaukset 21.10.2026 alkaen.Mitä nyt on tehtävä →

Sanasto: PHP ja tietoturva

125 ammattitermiä selkein sanoin, kuhunkin liittyy viittaus sopivalle asiasivulle.

#

2FA
2FA (kaksivaiheinen tunnistautuminen) vaatii kirjautumisessa salasanan lisäksi toisen todisteen, esimerkiksi sovelluksen koodin tai turva-avaimen. Varastettu salasana ei silloin enää yksin riitä. Kaikkien CMS-järjestelmien, hosting-paneelin ja palvelinten ylläpitopääsyjen tulisi käyttää 2FA:ta vakiona. Kaksivaiheisen tunnistautumisen käyttöönotto ylläpitotunnuksille →
3-2-1-varmuuskopiointi
3-2-1-sääntö suosittelee kolmea kopiota tiedoista kahdella eri tallennusvälineellä, joista yksi on toisessa paikassa. Ainakin yhden kopion tulisi olla sellainen, ettei sitä voi muuttaa palvelimelta käsin, jotta hyökkääjät eivät voi poistaa tai salata sitä. Varmuuskopio lasketaan vasta, kun palautus on testattu. Palvelimen varmuuskopiostrategia: varmuuskopiot 3-2-1-säännön mukaan →

A

Aikajana
Aikajana (timeline) järjestää poikkeaman kaikki jäljet aikajärjestykseen: lokimerkinnät, tiedostomuutokset, kirjautumiset ja prosessit. Se osoittaa, milloin hyökkäys alkoi ja missä järjestyksessä asiat tapahtuivat. Tärkeää on yhtenäinen aikavyöhyke, mieluiten UTC. Tapauksen aikajanan laatiminen →
Apache
Apache HTTP Server on yksi vanhimmista ja yleisimmistä verkkopalvelimista. PHP toimii siinä joko moduulina (mod_php) tai PHP-FPM:n kautta FastCGI:llä. .htaccess-tiedostoilla konfiguraatiota voi säätää hakemistokohtaisesti. Apache mod_php:n suojaus →
AVV
AVV (Auftragsverarbeitungsvertrag, henkilötietojen käsittelysopimus) GDPR:n 28 artiklan mukaan tarvitaan, kun palveluntarjoaja käsittelee henkilötietoja toimeksiannosta tai voi päästä niihin käsiksi. Tämä koskee usein myös hosting-yrityksiä, toimistoja ja IT-palveluntarjoajia, joilla on palvelinpääsy. Sopimus säätelee muun muassa ohjeita, suojatoimia ja ilmoitusreittejä. Henkilötietojen käsittely, kun palveluntarjoajat pääsevät palvelimelle →

B

Backport
Backport siirtää tietoturvakorjauksen vanhempaan ohjelmaversioon vaihtamatta uuteen versioon. Linux-jakelut ja hosting-yritykset tekevät näin usein; näytetty versionumero pysyy silloin samana. Siitä, onko backport asennettu, kertovat paketin muutosloki ja palveluntarjoajan vahvistus, ei numero. PHP-päivitys vai backport? Päätös vanhoille järjestelmille →
Brute Force
Brute force -hyökkäyksessä hyökkääjä kokeilee automaattisesti useita salasanoja yhdelle tilille. Kohteina ovat usein CMS-järjestelmien ylläpitokirjautumiset, SSH tai FTP. Suojaa tarjoavat vahvat salasanat, kaksivaiheinen tunnistautuminen ja automaattiset estot, kuten Fail2ban. Ylläpidon kirjautumisten suojaaminen Brute Forcelta: Brute Force -suoja jokaiselle kirjautumiselle →
BSI
BSI (Bundesamt für Sicherheit in der Informationstechnik, Saksan liittovaltion tietoturvavirasto) on Saksan liittovaltion kyberturvallisuusviranomainen. Se julkaisee varoituksia, suosituksia ja standardeja, kuten IT-Grundschutzin. PHP2Shellistä BSI on antanut varoitustason 3 (oranssi) ja suositellut välitöntä päivitystä. Mitä BSI suosittelee PHP2Shellin osalta →

C

CDN
CDN (Content Delivery Network) toimittaa sisältöä monen hajautetun palvelimen kautta ja on siten varsinaisen verkkosivuston edessä. Monet CDN-palvelut tarjoavat lisäksi WAF-sääntöjä, esimerkiksi Cloudflare PHP2Shelliä vastaan. Suoja tehoaa vain CDN:n kautta kulkevaan liikenteeseen eikä korvaa PHP-päivitystä. Cloudflaren suojasäännöt PHP2Shelliä vastaan: mitä ne tekevät ja mitä eivät →
CERT-Bund
CERT-Bund on Saksan liittovaltion hallinnon tietoturvapoikkeamiin vastaava ryhmä (Computer Emergency Response Team), joka toimii BSI:n yhteydessä. Se julkaisee haavoittuvuuksia koskevia varoitus- ja tiedotuspalveluita ja ilmoittaa verkko-operaattoreille haavoittuvista järjestelmistä. CERT-Bund on varoittanut myös PHP2Shellistä. Mitä CERT-EU ja CERT-Bund suosittelevat PHP2Shellistä →
CERT-EU
CERT-EU on Euroopan unionin toimielinten, elinten ja virastojen kyberturvallisuustiimi. Raporttien mukaan CERT-EU pitää mahdollisena, että PHP2Shell koskee versioita PHP 5:stä alkaen. Se neuvoo eristämään julkisesti tavoitettavissa olevat sovellukset, jos niitä ei voi korjata ripeästi. Mitä CERT-EU ja CERT-Bund suosittelevat PHP2Shellistä →
CGI
CGI (Common Gateway Interface) on vanha rajapinta, jossa verkkopalvelin käynnistää jokaiselle pyynnölle ulkoisen ohjelman ja palauttaa sen tulosteen. Se on yksinkertainen mutta hidas, ja PHP:ssä FastCGI on pitkälti korvannut sen. Vanhoja CGI-ratkaisuja löytyy yhä joiltakin hosting- ja Windows-järjestelmiltä. CGI ja FastCGI: perusteet →
cgroups
cgroups (Control Groups) on Linux-ytimen toiminto, jolla voi rajoittaa muistia, suoritinta ja muita resursseja prosessiryhmille. Kontit ja systemd käyttävät sitä, esimerkiksi asetuksella MemoryMax. Php.net suosittelee väliaikaisena PHP2Shell-toimena muistirajaa kontin tai cgroupin kautta RLIMIT_AS- tai RLIMIT_DATA-rajojen sijaan. Muistirajojen asettaminen systemd:llä ja cgroupeilla →
Chain of Custody
Chain of custody (todistusketju) dokumentoi aukottomasti, kuka on turvannut, luovuttanut ja käsitellyt todisteen ja milloin. Tarkistussummilla täydennettynä se osoittaa, ettei tietoja ole muutettu. Ilman tätä dokumentaatiota jäljet menettävät arvoaan tuomioistuimessa tai vakuutusyhtiöihin nähden. IT-forensiikka verkkopalvelinhyökkäyksen jälkeen →
CLI
CLI (Command Line Interface) on PHP komentorivillä, esimerkiksi ajastetuissa tehtävissä (cron), CMS-järjestelmien konsolikomennoissa ja Composerissa. CLI-PHP voi olla eri versio kuin verkkosivuja tarjoava PHP. Komento php -v näyttää siksi vain komentorivin version; molempien reittien on oltava korjattuja. PHP komentorivillä (CLI) →
CloudLinux
CloudLinux on jaettuun hostingiin tarkoitettu Linux-jakelu, joka erottaa asiakkaat rajoitettuihin ympäristöihin. Alt-php-ratkaisulla se tarjoaa monta PHP-versiota rinnakkain, myös vanhempia. Jokainen näistä versioista on korjattava erikseen. CloudLinux ja alt-php: mitä hosting-asiakkaiden pitäisi tietää →
Command Injection
Command injectionissa syötteet päätyvät tarkistamattomina järjestelmäkomentoon, jonka sovellus suorittaa. Hyökkääjä voi näin käynnistää omia komentojaan verkkopalvelimen oikeuksilla. Suojaa tarjoavat shell-kutsujen välttäminen aina kun mahdollista sekä johdonmukainen merkkien suojaus funktiolla escapeshellarg(). Command Injectionin estäminen PHP:ssä →
Composer
Composer on PHP:n pakettienhallinta. Se asentaa kirjastot composer.json-tiedoston tietojen mukaan ja tallentaa tarkat versiot composer.lock-tiedostoon. Komennolla composer audit voi tarkistaa asennetuista paketeista tunnetut haavoittuvuudet; PHP:n omia haavoittuvuuksia komento ei löydä. Composer: PHP:n pakettienhallinta →
cPanel
cPanel on verkkohostingin hallintapaneeli, ja WHM on sen käyttöliittymä palvelimen ylläpitäjälle. PHP-versiot tarjotaan siellä yleensä omilla paketeilla (EasyApache). Mitkä koontiversiot on korjattu, vahvistavat paketin tila ja hosting-yritys. cPanel ja WHM: PHP turvalliseksi →
Credential Stuffing
Credential stuffingissa hyökkääjät kokeilevat aiemmista tietovuodoista peräisin olevia tunnuksia muissa palveluissa. Se toimii, koska monet käyttävät samoja salasanoja useissa paikoissa. Suojaa tarjoavat palvelukohtaiset yksilölliset salasanat ja kaksivaiheinen tunnistautuminen. Kaksivaiheisen tunnistautumisen käyttöönotto ylläpitotunnuksille →
CSP
CSP (Content Security Policy) on otsake, joka määrittää, mistä lähteistä sivu saa ladata komentosarjoja, kuvia ja muuta sisältöä. Se vaikeuttaa XSS:ää ja vieraiden komentosarjojen lisäämistä, esimerkiksi skimmingin yhteydessä. Tiukka CSP on testattava huolellisesti, jotta verkkosivusto toimii edelleen. Security Header -otsakkeet verkkosivustoille: tietoturvaotsakkeiden oikea asetus →
CSRF
CSRF (Cross-Site Request Forgery) saa kirjautuneen käyttäjän selaimen suorittamaan tahattomasti toiminnon toisella verkkosivustolla. Tyypillisiä ovat muutokset ylläpitoalueilla. Suojaa tarjoavat lomakkeiden satunnaiset tokenit ja SameSite-attribuutilla varustetut evästeet. CSRF-suoja PHP-sovelluksissa →
CVE
CVE (Common Vulnerabilities and Exposures) on maailmanlaajuisesti käytetty hakemisto, joka antaa jokaiselle tunnetulle haavoittuvuudelle yksilöllisen numeron, esimerkiksi CVE-2026-109618. Numeron avulla valmistajien, viranomaisten ja jakeluiden tiedotteet ovat vertailukelpoisia. CVE-numeron perusteella voi myös tarkistaa paketin muutoslogista, onko korjaus asennettu. CVE-numeroiden todistaminen paketin muutoslokista →
CVSS
CVSS (Common Vulnerability Scoring System) arvioi haavoittuvuuden vakavuutta asteikolla 0–10. Arvioinnissa otetaan huomioon esimerkiksi se, onko hyökkäys mahdollinen verkon yli ja ilman kirjautumista. PHP2Shell-haavoittuvuuksien CVSS v4.0 -pistemäärä on kummallakin 9.2; konkreettisesta riskistä ympäristössänne luku ei yksinään kerro mitään.

D

DDoS
DDoS-hyökkäys (Distributed Denial of Service) ylikuormittaa palvelun pyynnöillä useista lähteistä, kunnes se ei ole enää tavoitettavissa. Tietoja ei yleensä varasteta. DDoS on erotettava exploitista, joka hyödyntää kohdennetusti haavoittuvuutta. DDoS vai hakkerihyökkäys? Hyökkäysten oikea arviointi →
Defacement
Defacementissa hyökkääjät muuttavat näkyvästi verkkosivuston etusivua tai sisältöä, esimerkiksi viesteillä tai kuvilla. Se on silmiinpistävää, mutta usein vain syvemmän murron näkyvä merkki. Verkkosivustoa tulee käsitellä vaarantuneena, kunnes asia on selvitetty. Verkkosivusto hakkeroitu, mitä tehdä? Hätäapu etänä →
Deserialisointi
Deserialisointi muuntaa tallennetut tiedot takaisin olioiksi, PHP:ssä esimerkiksi funktiolla unserialize(). Jos tiedot tulevat käyttäjiltä, hyökkääjät voivat rakentaa oliot niin, että latauksen yhteydessä suoritetaan ei-toivottua koodia. Käyttäjätiedoille JSON on turvallisempi valinta. Turvaton deserialisointi PHP:ssä: unserialize ja tietoturva →
disable_functions
disable_functions on php.ini-asetus, jolla yksittäisiä PHP-funktioita poistetaan käytöstä, tyypillisesti järjestelmäkomentojen suorittamiseen tarkoitettuja. Sen voi asettaa vain php.ini-tiedostossa, ei sovelluskoodissa. Se vaikeuttaa hyökkääjien toimintaa, mutta ei korvaa päivityksiä eikä asianmukaisia käyttöoikeuksia. PHP disable_functions oikein käytettynä →
display_errors
display_errors määrittää, näyttääkö PHP virheilmoitukset suoraan selaimessa. Tuotannossa arvon kuuluu olla Off, ja virheet kirjoitetaan sen sijaan lokiin log_errors-asetuksella. Näkyvät ilmoitukset paljastavat muuten polkuja, versioita ja koodinpätkiä. display_errors off: virhetulosteiden poisto tuotannosta →

E

EDR
EDR (Endpoint Detection and Response) on palvelimilla ja työasemilla toimiva ohjelmisto, joka tarkkailee prosesseja, tiedostoihin pääsyjä ja verkkoyhteyksiä ja ilmoittaa epäilyttävästä toiminnasta tai pysäyttää sen. Verkkopalvelimilla se voi esimerkiksi havaita, että PHP-FPM käynnistää shellin. Koska PHP2Shellille ei ole vahvistettuja IOC-tunnisteita, tällainen käyttäytymisanalyysi on erityisen tärkeää. Varoitusmerkki: verkkopalvelin käynnistää shellin →
Eheystarkistus
Eheystarkistuksessa tiedostoja verrataan tunnettuun alkuperäiseen tilaan, yleensä tarkistussummien avulla. Monissa CMS-järjestelmissä on tähän omat komentonsa, esimerkiksi WordPressissä, Nextcloudissa tai Matomossa. Mukautettuja tiedostoja, latauksia ja tietokannan sisältöä tällainen vertailu ei kata. CMS-ydintiedostojen vertailu alkuperäiseen →
Embargo
Embargo on sovittu määräaika, jonka ajan haavoittuvuuden yksityiskohdat pidetään salassa, kunnes korjaukset ovat saatavilla. Näin valmistajat ja jakelut voivat valmistella päivitykset. PHP2Shellin kohdalla yksityiskohdat tulivat useiden raporttien mukaan julkisiksi ennen embargon päättymistä; php.net ilmoitti korjauksista siksi jo 20.10.2026. Miksi PHP-aukko tuli tietoon ennen korjausta →
End of Life
End of Life (EOL) tarkoittaa, ettei ohjelmistoversio saa valmistajalta enää päivityksiä, ei myöskään tietoturvakorjauksia. PHP 8.1 ja vanhemmat eivät saa PHP-projektilta enää virallisia päivityksiä; versioille 7.4, 8.0 ja 8.1 on saatavilla vain vähäisiä lähdekoodin backporteja. EOL-ohjelmistoja käyttävät järjestelmät tarvitsevat päivityssuunnitelman. PHP End of Life: vanhentuneiden versioiden riskit →
Exploit
Exploit on koodi tai menetelmä, joka hyödyntää tiettyä haavoittuvuutta todellisuudessa. Heti kun korjaus julkaistaan, hyökkääjät voivat analysoida sen ja johtaa siitä exploiteja. Siksi aika korjauksen julkaisusta hyökkäyksiin lyhenee usein selvästi. Päivityksen ja hyökkäyksen välinen aikaikkuna →
expose_php
expose_php ohjaa, paljastaako PHP versionsa HTTP-otsakkeessa X-Powered-By. Tuotannossa asetuksen tulisi olla Off, jotta hyökkääjät eivät heti näe, mikä PHP-versio on käytössä. Tämä on tietojen suojaamista, ei korvaa päivitystä. expose_php ja Server-otsakkeet: versiotietojen piilotus →
Extension
Extension (laajennus) lisää PHP:hen toimintoja, esimerkiksi tietokantoja, kuvia tai salausta varten. Laajennukset toimivat samassa prosessissa kuin PHP ja niillä on samat oikeudet. Tarpeettomien laajennusten poistaminen käytöstä pienentää hyökkäyspinta-alaa. PHP-laajennusten (extensions) ymmärtäminen →

F

Fail2ban
Fail2ban lukee lokitiedostoja ja estää IP-osoitteet tilapäisesti palomuurissa toistuvien epäonnistuneiden yritysten jälkeen. Tyypillisiä käyttökohteita ovat SSH, sähköposti ja verkkosivustojen ylläpitokirjautumiset. Monesta osoitteesta tuleviin hajautettuihin hyökkäyksiin se auttaa vain rajallisesti. Fail2banin käyttöönotto verkkopalvelimille →
FastCGI
FastCGI on protokolla, jonka kautta verkkopalvelin välittää pyyntöjä pysyvästi käynnissä oleville ohjelmaprosesseille, esimerkiksi PHP-FPM:lle. Toisin kuin perinteisessä CGI:ssä, jokaiselle pyynnölle ei käynnistetä uutta prosessia. Koska prosessit käsittelevät useita pyyntöjä peräkkäin, puhdas uudelleenkäynnistys päivitysten jälkeen on tärkeää. CGI ja FastCGI: perusteet →
Forensiikka
IT-forensiikka selvittää poikkeaman jälkeen menetelmällisesti, mitä tapahtui: miten hyökkääjä pääsi sisään, mitä hän teki ja mitkä tiedot ovat vaarantuneet. Perustana ovat turvatut kopiot tallennusvälineistä, työmuistista ja lokeista. Tulokset ovat tärkeitä ilmoitusvelvollisuuksien, vakuutuksen ja rikosilmoituksen kannalta. IT-forensiikka verkkopalvelinhyökkäyksen jälkeen →
FPM-pooli
Pooli on joukko PHP-FPM-prosesseja, joilla on oma konfiguraatio, oma socket ja mahdollisimman oma järjestelmäkäyttäjä. Oma pooli jokaiselle verkkosivustolle erottaa sivustot toisistaan, jolloin yhteen sivustoon murtautuminen ei suoraan ulotu toisten tiedostoihin. Poolissa asetukset voi lukita php_admin_value-direktiivillä. PHP-FPM-poolien eristys sivustoittain →
FrankenPHP
FrankenPHP on moderni PHP:n sovelluspalvelin, joka perustuu Caddy-verkkopalvelimeen. PHP on siinä suoraan upotettuna, ja worker-tilassa sovellus pysyy muistissa pyyntöjen välillä. PHP-tiimin mukaan FrankenPHP kuuluu koskeneisiin ajotapoihin; päivityksen jälkeen palvelin on käynnistettävä uudelleen uudella PHP:llä. FrankenPHP turvalliseksi →

G

GDPR 33 artikla
GDPR:n 33 artikla velvoittaa rekisterinpitäjät ilmoittamaan henkilötietojen tietoturvaloukkauksesta toimivaltaiselle valvontaviranomaiselle mahdollisuuksien mukaan 72 tunnin kuluessa tiedon saamisesta. Velvollisuus raukeaa vain, jos loukkauksesta ei todennäköisesti aiheudu riskiä rekisteröidyille. Yksittäistapauksessa neuvoa antavat tietosuojavastaavat tai lakimiehet. GDPR-ilmoitusvelvollisuus: 72 tuntia tapahtuman jälkeen →
GDPR 34 artikla
GDPR:n 34 artikla säätää ilmoittamisesta niille henkilöille, joita asia koskee. Se on tarpeen, jos tietoturvaloukkauksesta aiheutuu todennäköisesti korkea riski heidän oikeuksilleen ja vapauksilleen. Pitääkö tämä paikkansa, tulisi arvioida tietosuojavastaavien tai lakimiesten kanssa. GDPR-ilmoitusvelvollisuus: 72 tuntia tapahtuman jälkeen →
GHSA
GHSA on GitHub Security Advisoryn tunniste eli tietoturvatiedote GitHubin tietokannassa. Monet avoimen lähdekoodin projektit, myös PHP, julkaisevat tiedotteensa siellä CVE-numeron lisäksi. PHP2Shellille ne ovat GHSA-w8hw-w9fx-j79w ja GHSA-6wmf-4rv5-p3rp.

H

Hallinnoitu palvelin
Hallinnoidussa palvelimessa (managed server) palveluntarjoaja tarjoaa oman palvelimen ja hoitaa sopimuksessa määritellyt osat käytöstä, usein käyttöjärjestelmän ja PHP:n päivitykset. Mitä tarkalleen kuuluu mukaan, selviää sopimuksesta ja vaihtelee suuresti palveluntarjoajittain. Epäselvissä tapauksissa korjausvastuu kannattaa vahvistaa kirjallisesti. Hallinnoitu palvelin: vastuun selvittäminen →
HSTS
HSTS (HTTP Strict Transport Security) on otsake, jolla verkkosivusto kertoo selaimelle, että sivustoon otetaan tietyn ajan yhteys vain HTTPS:n kautta. Se estää yhteyksien alentamisen salaamattomaan HTTP:hen. Ennen käyttöönottoa HTTPS:n tulisi toimia luotettavasti kaikilla koskeneilla verkkotunnuksilla. Security Header -otsakkeet verkkosivustoille: tietoturvaotsakkeiden oikea asetus →
.htaccess
.htaccess-tiedostot ovat hakemistokohtaisia asetustiedostoja Apachelle ja yhteensopiville palvelimille, kuten LiteSpeedille. CMS-järjestelmät käyttävät niitä uudelleenohjauksiin ja pääsynsuojaukseen, hyökkääjät piilotettuihin uudelleenohjauksiin. Nginx ei tulkitse .htaccess-tiedostoa; suojasäännöt on siellä kirjoitettava palvelinkonfiguraatioon. Apachen turvallinen asetus PHP:lle →
Hätäsuunnitelma
IT-hätäsuunnitelma määrittää, kuka tekee mitä poikkeamatilanteessa: yhteystiedot, päätöspolut, ensimmäiset toimet ja toiminnan palautus. Sen on oltava saatavilla myös offline-tilassa, jos järjestelmät kaatuvat. Säännölliset harjoitukset osoittavat, toimiiko se todellisessa tilanteessa. IT-hätäsuunnitelma verkkopalvelimille →

I

Image-Digest
Image digest on tiivisteen arvo (sha256), joka määrittää konttilevykuvan sisällön yksiselitteisesti. Toisin kuin tagi, kuten php:8.3-fpm, joka voidaan siirtää uusiin versioihin, digest ei koskaan muutu. Jos levykuvat kiinnitetään digestillä, se on päivitettävä tietoisesti tietoturvapäivityksen jälkeen. Viralliset PHP Docker -kuvat: tagit, digestit ja uudelleenrakennus →
Incident Response
Incident response on tietoturvapoikkeaman järjestelmällistä käsittelyä: havaitseminen, rajaaminen, jälkien turvaaminen, puhdistus, palautus ja jälkityö. Määritelty toimintatapa estää sen, että kiireessä tuhotaan todisteita tai jätetään takaovia huomaamatta. Tärkeitä ovat selkeät vastuut ja aukoton dokumentointi. Incident response palvelinhyökkäyksissä →
ini_set()
ini_set() on PHP-funktio, jolla komentosarja muuttaa asetuksia ajon aikana. Mitä komentosarja saa muuttaa, riippuu asetuksen muutostilasta. Koska myös haittakoodi voi kutsua ini_set()-funktiota, suojausasetusten kuuluu olla palvelimen tai poolin konfiguraatiossa, ei sovelluskoodissa. php.ini selitettynä: rakenne, tasot ja etusija →
IOC
IOC (Indicator of Compromise) ovat hyökkäyksen konkreettisia jälkiä, esimerkiksi tiedostonimiä, tiivisteitä, IP-osoitteita tai verkkotunnuksia. Niiden avulla järjestelmät voi tarkistaa kohdennetusti tunnetun hyökkäyksen varalta. PHP2Shellille ei ole julkaistu vahvistettuja IOC-tunnisteita; havaitseminen perustuu käyttäytymisanalyysiin. Onko minuun jo murtauduttu? PHP2Shellin merkit →
ISO 27001
ISO/IEC 27001 on tietoturvallisuuden hallintajärjestelmien (ISMS) kansainvälinen standardi. Se edellyttää riskien, toimenpiteiden ja parannusten järjestelmällistä hallintaa, mukaan lukien haavoittuvuuksien ja poikkeamien hallinta. Yritykset voivat hakea sen mukaista sertifiointia. ISO 27001 ja TISAX: mitä verkkopalvelimet koskee →
Istunto (Session)
Istunto yhdistää saman kävijän useita pyyntöjä, esimerkiksi kirjautumista tai ostoskoria varten. PHP tallentaa tiedot palvelimen puolelle ja antaa selaimelle istuntotunnuksen, oletuksena evästeessä PHPSESSID. Se, joka tuntee vieraan istuntotunnuksen, voi tietyissä oloissa esiintyä kyseisenä käyttäjänä. Istunnot ja evästeet PHP:ssä →
IT-Grundschutz
BSI:n IT-Grundschutz (saksalainen tietoturvan perustason menetelmä) on menetelmä, jossa on osioita ja vaatimuksia tietoturvaa varten yrityksissä ja viranomaisissa. Siinä on omat osionsa esimerkiksi verkkopalvelimille ja verkkosovelluksille. Sitä voi käyttää perustana ISMS:lle tai sertifioinnille. CIS-benchmarkit ja BSI-moduulit verkkopalvelimille →

J

Jaettu hosting
Jaetussa hostingissa monet asiakkaat jakavat yhden palvelimen, jota hosting-yritys ylläpitää. Hosting-yritys vastaa PHP:stä, käyttöjärjestelmästä ja verkkopalvelimesta, asiakas omasta sovelluksestaan. PHP2Shellin osalta tämä tarkoittaa: kysykää hosting-yritykseltä korjaustilanne ja tarkistakaa oma verkkosivustonne jälkien varalta. Jaettu hosting: mitä hosting-yritys tekee ja mitä sinun on tehtävä →
JIT
JIT (Just-in-Time-kääntäjä) kääntää usein suoritettavan PHP-koodin konekoodiksi ajon aikana. Se tuli mukaan PHP 8.0:n myötä ja on osa OPcachea. Tyypillisillä verkkosivustoilla suorituskykyhyöty on yleensä pieni, laskentaintensiivisissä tehtävissä suurempi. JIT ja suorituskyky PHP 8:ssa →
Julkaisusykli
Jokainen PHP-versio saa ensin virhekorjauksia ja sen jälkeen jonkin aikaa vain tietoturvakorjauksia. Milloin mikin versio päättyy, PHP-projekti julkaisee php.netissä tuettujen versioiden kohdalla. Php.netin mukaan PHP 8.2:n tuki päättyy 31.12.2026. PHP-versiot ja julkaisusykli →

K

Kiristyshaittaohjelma (ransomware)
Kiristyshaittaohjelma (ransomware) salaa tiedot ja vaatii lunnaita salauksen purkamisesta, usein yhdistettynä uhkaukseen julkaista varastetut tiedot. Vaarantunut verkkopalvelin voi olla tähän sisääntulopiste. Tehokkain suoja ovat erilliset, testatut varmuuskopiot ja hätäsuunnitelma. Palvelimen varmuuskopiostrategia: varmuuskopiot 3-2-1-säännön mukaan →
Kontti (container)
Kontti (container) on eristetty ajoympäristö, joka käynnistää sovelluksen kaikkine riippuvuuksineen levykuvasta (image), esimerkiksi Dockerilla. Kontin PHP tulee levykuvasta, ei isäntäjärjestelmästä. Isännän päivitys ei siksi korjaa sitä; levykuva on rakennettava uudelleen ja kontti käynnistettävä uudelleen. PHP:n ajaminen konteissa →
Korjaus (Patch)
Korjaus (patch) on valmistajan tekemä oikaisu, joka sulkee haavoittuvuuden ohjelmakoodista. Se tehoaa vasta, kun se on asennettu ja kaikki käynnissä olevat prosessit on käynnistetty uudelleen. Korjaus ei poista jo asennettua haittaohjelmaa eikä todista, ettei aiemmin ole tapahtunut mitään. PHP-korjauspalvelu: päivitys asennettuna, uudelleenkäynnistys ja todiste →
Koventaminen
Koventaminen tarkoittaa järjestelmän asettamista niin, että se tarjoaa mahdollisimman vähän hyökkäyspinta-alaa: vain tarpeelliset palvelut, niukat oikeudet ja turvalliset oletukset. PHP-palvelimilla siihen kuuluvat esimerkiksi erilliset poolit, estetyt funktiot ja PHP:n suorituksen esto lataushakemistoissa. Koventaminen rajoittaa vahinkoja mutta ei korvaa päivityksiä. Palvelimen koventaminen PHP-verkkopalvelimille →
Kryptolouhija (cryptominer)
Kryptolouhija (cryptominer) on haittaohjelma, joka laskee kryptovaluuttaa vieraalla palvelimella. Tyypillisiä merkkejä ovat jatkuvasti korkea suorittimen kuormitus ja tuntemattomat prosessit. Louhija osoittaa, että hyökkääjä voi suorittaa koodia; palvelinta tulee silloin pitää vaarantuneena. Kryptolouhija verkkopalvelimella: merkit ja toimintatapa →
Kybervakuutus
Kybervakuutus korvaa sopimuksesta riippuen hyökkäyksen jälkeisiä kustannuksia, esimerkiksi forensiikan, palautuksen tai liiketoiminnan keskeytymisen. Monissa sopimuksissa on velvoitteita, kuten ajantasaiset päivitykset ja vahingon välitön ilmoittaminen. Mitä yksittäistapauksessa pätee, selvittäkää vakuutusyhtiönne kanssa. Kyberturvavakuutus: mikä merkitsee vahinkotilanteessa →

L

Least Privilege
Least privilege (vähimpien oikeuksien periaate) tarkoittaa, että jokainen käyttäjä ja prosessi saa vain ne oikeudet, joita se todella tarvitsee. Kun PHP toimii niukoilla oikeuksilla, hyökkääjä voi murron jälkeen tehdä vähemmän vahinkoa. Tämä koskee järjestelmäkäyttäjiä, tiedosto-oikeuksia, tietokantatilejä ja ylläpitäjien pääsyä. Vähimmän oikeuden periaate: verkkopalvelinkäyttäjän oikeudet →
Lessons Learned
Lessons learned on poikkeaman jälkityö: mitä tapahtui, mikä meni hyvin, mitä on muututtava? Tavoitteena ovat konkreettiset toimet vastuuhenkilöineen ja aikatauluineen, ei syyllisten etsintä. Tulokset otetaan huomioon hätäsuunnitelmassa, korjausprosessissa ja koulutuksissa. Lessons Learned: paremmaksi häiriön jälkeen →
LFI
LFI (Local File Inclusion) tarkoittaa, että sovellus sisällyttää paikallisen tiedoston, jonka polkuun hyökkääjä voi vaikuttaa. Näin voi lukea asetustiedostoja tai tietyissä oloissa suorittaa lisättyä koodia. Suojaa tarjoavat kiinteät sallittujen luettelot käyttäjän syötteistä tulevien tiedostonimien sijaan. Local File Inclusionin estäminen PHP:ssä: LFI ja RFI →
LiteSpeed
LiteSpeed on verkkopalvelin, joka on pitkälti yhteensopiva Apache-asetusten, kuten .htaccess-tiedostojen, kanssa ja yhdistää PHP:n omalla LSAPI-rajapinnallaan. Se on yleinen hosting-yrityksillä; OpenLiteSpeed on sen vapaa muunnelma. PHP-tiimin mukaan LiteSpeed kuuluu PHP2Shellin koskemiin ajotapoihin. LiteSpeed ja LSAPI: PHP:n päivitys →

M

memory_limit
memory_limit rajoittaa, kuinka paljon työmuistia yksittäinen PHP-komentosarja saa käyttää; oletus on 128 MB. Kun raja saavutetaan, PHP keskeytyy Out-of-Memory-virheeseen. Haavoittuvuutta CVE-2026-109618 vastaan php.net neuvoo väliaikaisesti asettamaan memory_limit=-1 lukittuna sekä muistirajan kontin tai cgroupin kautta. memory_limit-asetuksen määrittäminen oikein →
mod_php
mod_php on Apache-verkkopalvelimen PHP-moduuli. PHP toimii siinä suoraan Apache-prosessissa ja yleensä sen käyttäjäoikeuksilla. PHP-tiimi arvioi PHP2Shellin riskin suurimmaksi juuri mod_php:ssä; siinä on esitetty hyökkäys, joka toimii jo ennen kuin sovelluskoodia ajetaan. mod_php selitettynä: PHP Apache-prosessissa →
ModSecurity
ModSecurity on yleinen avoimen lähdekoodin WAF, joka toimii moduulina Apachessa, Nginxissä tai muissa verkkopalvelimissa. Se arvioi pyyntöjä sääntöjen perusteella ja voi kirjata tai estää niitä. Useimmiten sitä käytetään yhdessä OWASP Core Rule Setin kanssa. ModSecurityn ja OWASP Core Rule Setin käyttöönotto →
Muutosloki (Changelog)
Muutosloki (changelog) luettelee ohjelma- tai paketti-version muutokset, tietoturvakorjausten kohdalla yleensä CVE-numeroineen. Debianissa ja Ubuntussa paketin muutoslokin näyttää apt-get changelog, RHEL-perheessä rpm -q --changelog. Näin backport voidaan todentaa myös silloin, kun versionumero on sama. CVE-numeroiden todistaminen paketin muutoslokista →

N

Nginx
Nginx on yleinen verkkopalvelin ja käänteinen välityspalvelin (reverse proxy). Se ei suorita PHP:tä itse, vaan välittää pyynnöt FastCGI:n kautta PHP-FPM:lle. Tärkeää on konfiguraatio, joka välittää PHP:lle vain todelliset PHP-tiedostot ja jättää lataushakemistot ulkopuolelle. Nginx ja PHP-FPM turvalliseksi →
NIS2
NIS2 on EU-direktiivi, joka asettaa monille yrityksille ja laitoksille riskienhallintaa ja tietoturvapoikkeamien ilmoittamista koskevia velvoitteita. Se koskee selvästi useampia toimialoja ja yrityskokoja kuin sitä edeltänyt sääntely. Kuuluuko yrityksenne piiriin, selvittäkää kansallisen täytäntöönpanon perusteella ja oikeudellisen neuvonnan avulla. NIS2 ja verkkopalvelimen tietoturva →

O

OPcache
OPcache on PHP:n mukana toimitettava tavukoodivälimuisti. Se tallentaa jo käännetyn koodin jaettuun muistiin, jotta PHP-tiedostoja ei tarvitse kääntää uudelleen jokaisella pyynnöllä. Päivityksen tai puhdistuksen jälkeen välimuisti on tyhjennettävä tai PHP käynnistettävä uudelleen, muuten vanha koodi voi jäädä käyttöön. OPcache selitettynä: PHP:n tavukoodivälimuisti →
open_basedir
open_basedir rajoittaa, mihin hakemistoihin PHP-komentosarjat saavat päästä tiedostofunktioilla. Usean verkkosivuston palvelimilla se estää sitä, että yksi sivusto lukee helposti toisen tiedostoja. Täydellistä eristystä se ei ole; mukaan kuuluvat erilliset järjestelmäkäyttäjät ja FPM-poolit. open_basedir ja sivustokohtainen eristys →
Origin-palvelin
Origin-palvelin on varsinainen verkkopalvelin CDN:n tai käänteisen välityspalvelimen takana. Jos se on tavoitettavissa myös suoraan IP-osoitteen kautta, hyökkääjät voivat ohittaa esiasennetun suojan. Siksi origin-palvelimen tulisi ottaa yhteyksiä vastaan vain CDN:ltä tai välityspalvelimelta. Cloudflaren suojasäännöt PHP2Shelliä vastaan: mitä ne tekevät ja mitä eivät →
Out of Memory
Out of Memory tarkoittaa tilaa, jossa ohjelma ei saa lisää muistia ja joutuu keskeytymään. PHP:ssä näin käy, kun memory_limit ylittyy. Haavoittuvuudessa CVE-2026-109618 tällainen keskeytys voi katkaista PHP:n sillä hetkellä, kun pyyntötiedot on alustettu vain osittain. memory_limit ja Out-of-Memory: mitä sisällä tapahtuu →
OWASP CRS
OWASP Core Rule Set (CRS) on vapaasti saatavilla oleva sääntökokoelma ModSecurityä ja yhteensopivia WAF-palomuureja varten. Se tunnistaa tyypilliset hyökkäysluokat, kuten SQL-injektion tai command injectionin. Säännöt on sovitettava sovellukseen, muuten ne estävät myös laillisia pyyntöjä. ModSecurityn ja OWASP Core Rule Setin käyttöönotto →
OWASP Top 10
OWASP Top 10 on säännöllisesti päivitettävä luettelo verkkosovellusten tärkeimmistä riskeistä, jonka julkaisee voittoa tavoittelematon OWASP Foundation. Se toimii perustana kehitykselle, tarkastuksille ja koulutuksille. Lisäksi OWASP tarjoaa Cheat Sheet -oppaita konkreettisine vastatoimineen.

P

PECL
PECL (PHP Extension Community Library) on hakemisto C-kielellä kirjoitetuille PHP-laajennuksille, jotka eivät kuulu vakiotoimitukseen. Tällaisten laajennusten on vastattava asennettua PHP-versiota. PHP:n pääversion vaihdon jälkeen ne on usein käännettävä uudelleen tai korvattava. PHP-laajennusten (extensions) ymmärtäminen →
PHP
PHP on komentosarjakieli, joka toimii pääasiassa verkkopalvelimilla ja muodostaa siellä verkkosivuja. Monet yleiset CMS- ja verkkokauppajärjestelmät, kuten WordPress, TYPO3 tai Shopware, on kirjoitettu PHP:llä. PHP-tulkin haavoittuvuus koskee siksi kaikkia sen päällä toimivia sovelluksia riippumatta niiden omasta päivitystilasta. Mikä on PHP? Ohjelmointikieli selitettynä →
php-cgi
php-cgi on PHP-ohjelma, jota käytetään CGI:n tai FastCGI:n kautta. PHP-tiimin mukaan se kuuluu PHP2Shellin koskemiin ajotapoihin. Siellä, missä php-cgi on yhä käytössä, kannattaa selvittää, voiko siirtyä PHP-FPM:ään. php-cgi: riskialtis perintö →
PHP-FPM
PHP-FPM (FastCGI Process Manager) on erillinen palvelu, joka hallinnoi PHP-prosesseja pooleissa ja vastaanottaa pyyntöjä verkkopalvelimelta FastCGI:n kautta. Se on nykyisin tavallisin ajotapa Nginxin kanssa ja monilla Apache-palvelimilla. PHP-päivityksen jälkeen PHP-FPM on käynnistettävä uudelleen, jotta vanhat prosessit eivät jää käyntiin. PHP-FPM selitettynä: prosessinhallinta, poolit ja workerit →
php.ini
php.ini on PHP:n keskeinen asetustiedosto. Se määrittää rajat sekä tietoturva- ja virheasetukset, esimerkiksi memory_limit tai display_errors. Usein jokaisella SAPI:lla (FPM, CLI, Apache) on oma php.ini, jota on ylläpidettävä erikseen. php.ini selitettynä: rakenne, tasot ja etusija →
PHP2Shell
PHP2Shell on nimi kahdelle kriittiselle haavoittuvuudelle itse PHP:ssä, CVE-2026-109618 ja CVE-2026-109619, kummankin CVSS v4.0 -pistemäärä on 9.2. Ne sallivat haittakoodin suorittamisen etänä ilman kirjautumista. Ne on korjattu versioissa PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35, jotka julkaistiin 21.10.2026. Mikä on PHP2Shell? Haavoittuvuus selkeästi →
php_admin_value
php_admin_value asettaa PHP-asetuksen FPM-poolissa tai Apachen konfiguraatiossa niin, etteivät sovellukset voi ohittaa sitä ini_set()-funktiolla tai .htaccess-tiedostolla. Kytkimille on olemassa php_admin_flag. Php.net suosittelee tätä tapaa PHP2Shellin väliaikaisiin torjuntatoimiin, esimerkiksi memory_limit-asetukselle. php_admin_value: asetusten lukitseminen ylikirjoitukselta →
Plesk
Plesk on yleinen verkkopalvelinten hallintapaneeli, jolla voi asettaa verkkotunnukset, PHP-versiot ja sivustokohtaiset käsittelijät. Siinä on omat PHP-pakettinsa, mutta se voi käyttää myös jakelun PHP-paketteja. Backportien kohdalla Plesk voi edelleen näyttää vanhemman numeron, kuten 8.2.34, vaikka korjaus olisi asennettu. Plesk-palvelin: PHP-versioiden tarkistus ja korjaus →
post_max_size
post_max_size määrittää, kuinka suuri POST-pyynnön sisältö saa olla yhteensä; oletus on 8 MB. Väliaikaisena PHP2Shell-toimena php.net mainitsee arvon 8M sivustoille ilman tiedostolatauksia ja 32M tiedostolatausten kanssa. upload_max_filesize-arvon on oltava tätä pienempi. post_max_size- ja upload_max_filesize-rajojen järkevä asettaminen →
Proof of Concept
Proof of Concept (PoC) on todiste siitä, että haavoittuvuutta voi hyödyntää, usein yksinkertaisena demonstraatiokoodina. Se auttaa valmistajia ja tutkijoita arvioinnissa, mutta voi toimia myös hyökkääjien mallina. Julkaistu PoC lisää siksi yleensä korjaamisen kiireellisyyttä.

R

RCE
RCE (Remote Code Execution) tarkoittaa, että hyökkääjä voi suorittaa omaa koodiaan vieraassa järjestelmässä etäyhteyden kautta. Jos siihen ei tarvita kirjautumista, puhutaan tunnistautumattomasta RCE:stä, verkkopalvelinten haavoittuvuuksien vakavimmasta luokasta. RCE:n avulla hyökkääjä voi lukea tietoja, asentaa takaovia ja käyttää palvelinta edelleen väärin. Mikä on PHP2Shell? Haavoittuvuus selkeästi →
Reverse Proxy
Reverse proxy (käänteinen välityspalvelin) vastaanottaa pyyntöjä internetistä ja välittää ne yhdelle tai useammalle taustalla olevalle palvelimelle. Se voi hoitaa TLS:n, jakaa kuormaa ja toimia paikkana suodatussäännöille tai WAF:lle. Suojaa se tarjoaa vain, jos taustapalvelimet eivät ole lisäksi tavoitettavissa suoraan. Upload-pyyntöjen suodatus reunalla: mahdollisuudet ja riskit →
RFI
RFI (Remote File Inclusion) on muunnelma, jossa sovellus lataa ja suorittaa koodia vieraasta osoitteesta. PHP:ssä asetus allow_url_include=Off, joka on ollut pitkään oletuksena, estää etätiedostojen sisällyttämisen. Vanhat sovellukset ja asetukset kannattaa tarkistaa tämän osalta. Local File Inclusionin estäminen PHP:ssä: LFI ja RFI →
Root-palvelin
Root-palvelin on vuokrattu palvelin, jolla asiakkaalla on täydet pääkäyttäjäoikeudet. Tällöin myös täysi vastuu päivityksistä, koventamisesta ja valvonnasta on asiakkaalla. Palveluntarjoaja tarjoaa vain laitteiston ja verkon. Root-palvelimen ja vServerin suojaus itse →

S

SAPI
SAPI (Server Application Programming Interface) on rajapinta, jonka kautta PHP keskustelee ympäristönsä kanssa, esimerkiksi Apachen, PHP-FPM:n tai komentorivin kanssa. Käytössä oleva SAPI määrittää, miten PHP-prosessit käynnistetään, käytetään uudelleen ja käynnistetään uudelleen. PHP-tiimin mukaan PHP2Shell koskee useita ajotapoja, joista mod_php on riskialtein. SAPI selitettynä: miten PHP keskustelee verkkopalvelimen kanssa →
SEO-roskaposti
SEO-roskaposti tarkoittaa lisättyjä sivuja, linkkejä tai uudelleenohjauksia, joilla hyökkääjät sijoittavat vieraita tarjouksia hakukoneisiin. Usein vain hakukoneet tai Googlen kautta tulevat kävijät näkevät manipuloidun sisällön. Puhdistuksen lisäksi tarvitaan sen jälkeen tarkistus Google Search Consolessa. SEO-roska ja vieraat sivut Googlen hakemistossa →
serialize_handler
session.serialize_handler määrittää, missä muodossa PHP tallentaa istuntotiedot, esimerkiksi php, php_binary tai php_serialize. Haavoittuvuutta CVE-2026-115560 koskeva ohje koskee vain epätavallista konfiguraatiota, jossa tämä muoto vaihdetaan ajon aikana ja session-upload-progress on aktiivinen. Ratkaisu seuraavaan korjausjulkaisuun asti on session.upload_progress.enabled=0. CVE-2026-115560: ohje session upload progressista →
session.upload_progress
Session-upload-progress on PHP-toiminto, joka tallentaa käynnissä olevien tiedostolatausten etenemisen istuntoon; se on oletuksena päällä. Php.net neuvoo väliaikaisesti asettamaan session.upload_progress.enabled=0 php.ini-tiedostossa, FPM-poolissa tai palvelinkonfiguraatiossa ja käynnistämään sen jälkeen kaikki worker-prosessit uudelleen. Asiantuntijaraporttien mukaan pelkkä asetus ei sulje molempia PHP2Shell-haavoittuvuuksia; päivitys on välttämätön. session.upload_progress pois käytöstä: oikein ja pysyvästi →
SIEM
SIEM (Security Information and Event Management) kerää lokitietoja keskitetysti monista järjestelmistä ja arvioi niitä tietoturvatapahtumien varalta. Näin voi havaita yhteyksiä, jotka hukkuvat yksittäisiin lokeihin. SIEM tarvitsee ylläpidetyt säännöt ja ihmisiä, jotka käsittelevät ilmoitukset. Tietoturvavalvonta verkkopalvelimille →
Skimming
Verkkokauppojen skimmingissä hyökkääjät lisäävät kassalle JavaScriptiä, joka lukee ja lähettää maksu- ja asiakastietoja. Koodi on usein teematiedostoissa, seurantakomentosarjoissa tai tietokantamerkinnöissä. Asiakkaat eivät huomaa mitään, kauppias usein vasta maksupalveluntarjoajien ilmoitusten kautta. Verkkokauppa hakkeroitu? Tietoturva kauppiaille →
SQL-injektio
SQL-injektiossa hyökkääjä syöttää syötteiden kautta omia tietokantakomentojaan sovellukseen. Näin tietoja voi lukea tai muuttaa. Suojaa tarjoavat valmistellut lausekkeet (prepared statements), joissa käytetään paikkamerkkejä yhdistettyjen SQL-tekstien sijaan. SQL-injektion estäminen PHP:ssä →
SSRF
SSRF (Server-Side Request Forgery) saa sovelluksen lähettämään hyökkääjän puolesta pyyntöjä muihin osoitteisiin, myös sisäisiin järjestelmiin. Näin tavoitettavissa ovat palvelut, jotka on tarkoitettu suojatuiksi ulkopuolelta. Suojaa tarjoavat sallittujen kohteiden luettelot ja sisäisten osoitealueiden esto. Server-Side Request Forgeryn (SSRF) estäminen PHP:ssä →
Superglobals
Superglobals ovat muuttujia, jotka PHP tarjoaa jokaisessa komentosarjassa, esimerkiksi $_GET, $_POST, $_COOKIE, $_FILES, $_SERVER ja $_SESSION. Ne sisältävät nykyisen pyynnön tiedot, jotka tulevat suurelta osin kävijältä. Kaikkea niissä olevaa on käsiteltävä epäluotettavana ja tarkistettava. Superglobaalit: $_GET, $_POST, $_FILES ja muut →
sury.org
sury.org on Ondřej Surýn ylläpitämä pakettivarasto, jossa on ajantasaisia ja vanhempia PHP-versioita Debianille ja Ubuntulle. Se on kolmannen osapuolen tarjonta eikä Debianin tietoturva-arkisto. Raporttien mukaan sieltä tarjottiin koontiversiot kaikille haaroille 5.6:sta 8.5:een. sury.org-repositorio: PHP-paketit kolmannelta osapuolelta →

T

Takaovi (Backdoor)
Takaovi (backdoor) on piilotettu pääsy, jonka kautta hyökkääjät voivat palata murron jälkeen. Se voi olla tiedosto, ylläpitäjätili, ajastettu tehtävä (cron) tai SSH-avain. Siksi jokaiseen puhdistukseen kuuluu kaikenlaisten pääsyreittien etsintä, ei vain tiedostojen. WordPressin takaoven löytäminen: takaovien järjestelmällinen etsintä →
Threat Hunting
Threat hunting on hyökkääjien aktiivista etsintää omasta verkosta ilman, että varoitusta on annettu. Lähtökohtana ovat hypoteesit, esimerkiksi: onko verkkopalvelimen prosessi käynnistänyt shellin 20.10. jälkeen? Näin löytyy murtoja, jotka automaattiset työkalut ohittavat. Varoitusmerkki: verkkopalvelin käynnistää shellin →
Tietoturvaotsakkeet
Tietoturvaotsakkeet ovat HTTP-vastauksen otsakerivejä, jotka antavat selaimelle suojasääntöjä, esimerkiksi Content-Security-Policy, Strict-Transport-Security tai X-Content-Type-Options. Ne suojaavat kävijöitä tietyiltä selaimessa tapahtuvilta hyökkäyksiltä. Palvelimen haavoittuvuuksia, kuten PHP2Shelliä, vastaan ne eivät auta. Security Header -otsakkeet verkkosivustoille: tietoturvaotsakkeiden oikea asetus →
TISAX
TISAX on autoteollisuuden tietoturvallisuuden tarkastus- ja tiedonvaihtomenettely. Se perustuu Saksan autoteollisuusliiton (VDA) vaatimusluetteloon, ja sitä operoi ENX Association. Toimittajien on sen avulla osoitettava tietoturvatasonsa valmistajille. ISO 27001 ja TISAX: mitä verkkopalvelimet koskee →
TLS
TLS (Transport Layer Security) salaa selaimen ja palvelimen välisen yhteyden; tunnistat sen HTTPS:stä. Tällä hetkellä suositeltuja ovat TLS 1.2 ja 1.3, vanhemmat protokollaversiot tulisi poistaa käytöstä. TLS suojaa tietoja siirron aikana, ei palvelimen omilta haavoittuvuuksilta. TLS ja HTTPS oikein asetettuna →
Todisteiden turvaaminen
Todisteiden turvaaminen tarkoittaa poikkeaman jälkien tallentamista ennen kuin ne katoavat puhdistuksen, uudelleenkäynnistyksen tai uudelleenasennuksen myötä. Siihen kuuluvat lokitiedostot, levykuvat ja tapauksesta riippuen työmuisti. Ammattilehdistö neuvoo PHP2Shellin jälkeen säilyttämään palvelinlokit 20.10.2026 alkaen. Varmistakaa todisteet ennen palvelimen uudelleenasennusta →
Type Juggling
Type juggling tarkoittaa PHP:n automaattista tyyppimuunnosta, esimerkiksi löyhässä vertailussa ==. Näin arvot voivat katsoa yhtäläisiksi vaikka eivät ole, mikä on vaarallista salasanojen tai tokenien tarkistuksessa. Suojaa tarjoavat tiukat vertailut === sekä hash_equals() salaisuuksille. Type Juggling PHP:ssä: löyhät vertailut tietoturvariskinä →

U

upload_max_filesize
upload_max_filesize rajoittaa yksittäisen ladatun tiedoston kokoa; oletus on 2 MB. Arvon on oltava pienempi kuin post_max_size, koska tiedosto on osa POST-pyyntöä. Liian reilut arvot kasvattavat hyökkäyspinta-alaa hyödyttömästi. post_max_size- ja upload_max_filesize-rajojen järkevä asettaminen →
.user.ini
.user.ini-tiedostot ovat hakemistokohtaisia PHP-asetuksia, joita PHP-FPM ja CGI lukevat. Niiden avulla verkkosivuston ylläpitäjät voivat muuttaa yksittäisiä arvoja ilman palvelinoikeuksia, mutta vain sellaisia, jotka PHP sallii. Php.netin mukaan tietoturvan kannalta olennaisia asetuksia, kuten PHP2Shelliä vastaan tarkoitettua session.upload_progress.enabled=0, ei pidä asettaa .user.ini-tiedostolla. php.ini selitettynä: rakenne, tasot ja etusija →

V

Valvonta (monitoring)
Valvonta (monitoring) on järjestelmien jatkuvaa tarkkailua, esimerkiksi tavoitettavuuden, kuormituksen, lokitiedostojen ja tiedostomuutosten osalta. Tietoturvavalvonta etsii kohdennetusti poikkeamia, kuten uusia PHP-tiedostoja tai verkkopalvelimen käynnistämiä shellejä. Se auttaa vain, jos joku arvioi ilmoitukset myös ripeästi. Tietoturvavalvonta verkkopalvelimille →
Varoitustaso
BSI luokittelee uhkatilanteen tietoturvavaroituksissa tasoihin, jotka on merkitty myös väreillä. Taso 3 (oranssi) tarkoittaa liiketoimintakriittistä tilannetta, jossa normaalitoiminta voi häiriintyä merkittävästi. PHP2Shellille on voimassa varoitustaso 3 / oranssi. BSI:n oranssi varoitustaso: mitä luokitus tarkoittaa →
VdS 10000
VdS 10000 on VdS Schadenverhütungin (saksalainen vahingontorjuntaorganisaatio) ohje tietoturvallisuudesta pienissä ja keskisuurissa yrityksissä. Se on kevyempi kuin ISO 27001 ja räätälöity pk-yritysten mahdollisuuksiin. Sen mukainen sertifiointi on mahdollinen. VdS 10000: tietoturva pienille ja keskisuurille yrityksille →
Virtuaalinen korjaus (virtual patching)
Virtuaalinen korjaus estää hyökkäykset tunnettua haavoittuvuutta vastaan ennen sovellusta, yleensä WAF-palomuurilla, muuttamatta haavoittuvaa koodia. Se antaa lisäaikaa, kunnes varsinainen päivitys on mahdollinen. PHP2Shellin osalta esimerkiksi Cloudflare varoittaa, etteivät pelkkiin pyyntötietoihin perustuvat säännöt riitä; päivitys on välttämätön. WAF ja virtuaalinen korjaus PHP:lle →
vServer
vServer (virtuaalipalvelin) on jaetulla laitteistolla toimiva virtuaalinen tietokone, jolla on oma käyttöjärjestelmä ja yleensä root-oikeudet. Tietoturvassa pätee sama kuin root-palvelimella: päivitykset ja koventaminen ovat asiakkaan asia. Monet vServerit toimivat esiasennetuilla paneeleilla, kuten Pleskillä. Root-palvelimen ja vServerin suojaus itse →

W

WAF
WAF (Web Application Firewall) tarkistaa HTTP-pyynnöt ennen sovellusta ja estää tunnetut hyökkäysmallit. Se voi toimia pilvipalveluna, välityspalvelimena tai verkkopalvelimen moduulina. Se antaa lisäaikaa mutta ei korvaa päivitystä, ja se ohitetaan, jos palvelin on tavoitettavissa myös suoraan. WAF ja virtuaalinen korjaus PHP:lle →
Web shell
Web shell on komentosarja, jonka hyökkääjät sijoittavat verkkopalvelimelle ohjatakseen sitä selaimen kautta. Se on usein pieni, hämärretty ja piilotettu latausten tai välimuistin hakemistoihin. Web shell säilyy myös PHP- tai CMS-päivityksen jälkeen, ja sitä on etsittävä kohdennetusti. Web shellin tunnistaminen ja poistaminen →

X

XSS
XSS (Cross-Site Scripting) tarkoittaa, että vierasta JavaScriptiä suoritetaan verkkosivuston kautta muiden kävijöiden selaimessa. Sen avulla voi kaapata istuntoja tai lukea lomakesyötteitä. Suojaa tarjoavat kaikkien tulosteiden johdonmukainen koodaus ja Content Security Policy. XSS:n estäminen PHP:ssä: Cross-Site Scriptingin turvallinen torjunta →
XXE
XXE (XML External Entities) hyödyntää sitä, että XML-jäsentimet voivat ladata asiakirjoista ulkoisia viittauksia. Näin voidaan tietyissä oloissa lukea palvelimen tiedostoja tai käynnistää sisäisiä pyyntöjä. Suojaa tarjoaa ulkoisten entiteettien latauksen poistaminen käytöstä epäluotettavaa XML-dataa käsiteltäessä. XML External Entitiesin (XXE) estäminen PHP:ssä →

Z

ZAC
Zentrale Ansprechstellen Cybercrime (ZAC) ovat Saksan poliisin erikoistuneita yhteyspisteitä yrityksille ja viranomaisille, jotka ovat joutuneet kyberhyökkäyksen kohteeksi. Niitä on kaikissa Saksan osavaltioissa ja liittovaltion rikospoliisilla (BKA). Ne ottavat vastaan rikosilmoituksia ja neuvovat jatkotoimissa. Rikosilmoituksen tekeminen: Zentrale Ansprechstelle Cybercrime →
Zend Engine
Zend Engine on PHP-tulkin ydin. Se muuntaa PHP-koodin sisäisiksi komennoiksi (opcode), suorittaa ne ja hallinnoi muistia. Zend Enginen virheet vaikuttavat jokaiseen PHP-sovellukseen, ja ne voidaan korjata vain PHP-päivityksellä. Zend Engine: PHP:n sydän →
Zero-Day
Zero-Day on haavoittuvuus, jota hyödynnetään tai joka on julkisesti tiedossa ennen kuin valmistaja on julkaissut korjauksen. Ylläpitäjillä on silloin nolla päivää valmisteluaikaa. Korjaukseen asti auttavat vain väliaikaiset toimet, eristäminen ja valvonta. Päivityksen ja hyökkäyksen välinen aikaikkuna →
Pikayhteys

Jokainen tunti on tärkeä. Kirjoittakaa meille nyt.

Kuvatkaa lyhyesti järjestelmä, PHP-versio ja havainnot. Otamme yhteyttä, selvitämme tilanteen ja työskentelemme etänä, kunnes tapaus on käsitelty loppuun ja dokumentoitu.

Pikaapu