Suhosin

Suhosin
Originalförfattare Stefan Esser
Initial release 2 oktober 2006
Slutlig utgåva
0.9.38 / 21 maj 2015
Förvar github .com /sektioneins /suhosin
Skrivet i C
Plattform PHP
Licens PHP-licens
Hemsida suhosin .org

Suhosin (koreanska 수호신, koreanskt uttal: [suɦoɕin] , som betyder "skyddsängel") är en patch med öppen källkod för PHP och även en PHP-tillägg, skriven av det tyska företaget Sektion Eins . Plåstret och förlängningen är två oberoende delar, som kan användas separat eller i kombination. "Målet bakom Suhosin är att vara ett skyddsnät som skyddar servrar från osäkra PHP-kodningsmetoder."

Suhosin minskar också den "attackbara ytan" som PHP lägger till en webbserver genom funktionsvitlistor , resursbegränsningar, transparent sessions- och cookie-kryptering, binärt innehållsfilter, loggning och diverse andra skydd. Detta minskar risken för att distribuera tidigare bedömda osäkra PHP-program och skyddar mot kända och okända attacker.

Funktioner

Medan den ursprungliga patchen inkluderade flera minnesrelaterade härdningar på låg nivå, är dessa funktioner inte närvarande i modulerna, men de flesta av dem har uppströms till PHP.

  • Cookies-kryptering: för att minska XSS -baserad cookiesstöld, är cookies krypterade, så att en angripare inte kunde få sina värden, och de är knutna till användaragenten och en del av användarens IP-adress, vilket gör en stulen cookie oanvändbar av angriparen.
  • Inkluderingsskydd: Uppladdade filer och fjärrfiler kan inte inkluderas, vilket mildrar godtyckliga filinkluderingsattacker .
  • Inaktivera vanliga kodexekveringsvektorer: nyckelordet eval är inte en riktig funktion i PHP, så det kan inte inaktiveras med disable_function -direktivet, men Suhosin lade till denna möjlighet och tillät även att inaktivera den ökända /e- operatorn för preg_replace -funktionen som kan leda till exekvering av godtycklig kod.
  • Skydd mot oändlig rekursion : PHP har ett dokumenterat beteende som ger ett segmenteringsfel vid oändlig rekursion. Eftersom detta är ett minnessäkerhetsproblem, kommer Suhosin att få applikationen att avsluta när en maximal nivå av rekursion har uppnåtts.
  • Granulär funktion vit/svart-lista: disabled_function -direktivet i PHP är inte alls granulärt, Suhosin tillhandahåller en vit- och svartlista-mekanism för funktioner, per virtuell värd och mapp.
  • Svartlista mot känsliga variabelnamn: Suhosin släpper GET, POST, COOKIE-variabler med globala reserverade variabelnamn efter namn, som GLOBALS, _COOKIE, _ENV, _FILES, _GET, _POST,...
  • Filuppladdningshärdning: Suhosin stöder anrop av skript vid filuppladdning, vilket tillåter saker som automatisk antivirusskanning vid uppladdning. Det kan också förhindra ELF- filer, binära filer, ...
  • Anpassade åtgärder vid överträdelse: blockering av kränkande variabler, skicka en specifik HTTP-svarskod , utfärda en omdirigering eller till och med köra ett annat PHP-skript.
  • Omfattande loggning: flera loggenheter, loggning av kränkande filnamn och radnummer, angriparens IP-adress, även bakom omvända proxyservrar .

Distribution med operativsystem

I vissa Linux-distributioner , särskilt Debian i versioner upp till 6.x ("Squeeze") och Gentoo Linux , levererades den som standard med både patch och tillägg. Suhosin togs bort från Debian från och med version 7 (Wheezy) men dök upp igen i den nuvarande utvecklingsgrenen.

Den är aktiverad som standard i Mac OS X Server .

Från och med PHP 5.4, släppte openSUSE Suhosin-patchen, men upprätthåller en port för Suhosin-tillägget.

FreeBSD 10.1 behåller Suhosin-tillägget i sin portsamling.

Utvecklingshistoria och arv

Suhosin släpptes först 2006 och riktade sig till PHP 5.2.0. Den senaste utgåvan av härdningsplåstret skedde ett par månader efter utgivningen av modulen. Den senaste nyhetsartikeln på den officiella webbplatsen är från 2007, och ingen aktivitet inträffade i kodförrådet från maj 2012 till februari 2014. Detta ledde till att vissa distributioner betraktade Suhosin-projektet som dödt, tills några människor från samhället började bidra tillbaka till det , cirka 2014. Det finns inga planer på att uppströmma funktioner till PHP.

I november 2015 skapades suhosin7 för att tillhandahålla liknande härdningsfunktioner som PHP7 men lyckades inte få fart bland communityn. Snuffleupagus -projektet syftar till att vara dess efterföljare, för PHP7 och framåt.

Se även

  1. ^   Kapitel 13, Säkra PHP-nätapplikationer av Tricia Ballad; William Ballad Utgivare: Addison-Wesley Professional, Web ISBN 978-0-321-57431-2
  2. ^ Officiell funktionslista
  3. ^ Översikt över paketet php5-suhosin i Debian sid
  4. ^ Mailinglist Archive: opensuse-factory (418 mail)
  5. ^ a b "Hardened-PHP-projekt - PHP-säkerhet - Nyheter" . hardened-php.net . Hämtad 2017-01-18 .
  6. ^ SektionEins (2014-06-11). "Ladda ner" . SUHOSIN . Hämtad 2017-01-18 .
  7. ^ "sektioneins/suhosin" . GitHub . Hämtad 2017-01-18 .
  8. ^ " 'Angående: [PHP-DEV] Suhosin patch inaktiverad som standard i Debian php5 builds' - MARC" . marc.info . Hämtad 2018-02-25 .
  9. ^ "första commit · sektioneins/suhosin7@aee7faf" . GitHub . Hämtad 2017-01-18 .
  10. ^ "sektioneins/suhosin7" . GitHub . Hämtad 2017-01-18 .

externa länkar