Podziel się opinią o serwisie


reklama

 IBM

Strefa IBM System x


Strefa IBM System x"..."Zarządzanie infrastruktura IT w obecnej chwili pochłania znaczną część budżetu IT. W odpowiedzi na tą sytuację IBM dołącza do serwerów IBM System x® system do zarządzania IBM Systems Director®, który oferuje obszerny zbiór narzędzi ułatwiających administrację.
Zapraszamy do strefy »

Biblioteka Wiedzy poleca

Nowa, inteligentna moc w serwerach

Nowe serwerowe procesory Intel oferują wiekszą szybkość, wydajność i inteligencje, adaptują się do potrzeb energetycznych
pobierz »

ERP dla średniej firmy: Od czego zacząć?

Wybór systemu ERP to jedna z najważniejszych decyzji podejmowanych przez przedsiębiorstwo. Dlatego powinny ją poprzedzić rzetelne przygotowania....
pobierz »

WatchGuard SSL 100: zdalny dostęp efektywnie i niedrogo

Szeroka gama aplikacji biznesowych isystemów, atakże coraz większe zróżnicowanie w lokalizacji i urządzeniach z których korzystają firmy spowodowała...
pobierz »

Więcej bezpłatnych raportów w serwisie
powiększ tekst >
AKTUALNOŚCI

Uszczelnianie Apache, PHP i MySQL

15 marca 2007

Paweł Krawczyk
Instalacja dowolnej dystrybucji Linuxa jako systemu serwerowego nie nastręcza obecnie większych trudności. System jednak instaluje się najczęściej z ustawieniami domyślnymi. Ustawienia domyślne służą przede wszystkim natychmiastowej dostępności wszystkich funkcji oprogramowania, a nie bezpieczeństwu, które wiąże się zwykle z ograniczaniem funkcjonalności.

Tymczasem dziury w aplikacjach webowych pojawiają się cały czas. Po eksplozji popularności języka PHP i platformy "LAMP" (Linux+Apache+MySQL+PHP) nastąpił prawdziwy wysyp dziur w popularnych aplikacjach takich jak fora dyskusyjne, systemy CMS itd. Był on rezultatem pisania na szybko, przez wielu autorów aplikacji o nie do końca przemyślanej strukturze, które realizowały wszystko to czego oczekiwało od nich rozwijające się dynamicznie środowisko WWW - a przy okazji parę innych funkcji, nie do końca pożądanych przez administratorów.

Przede wszystkim należy zadbać o aktualne wersje oprogramowania - stare wersje Apache, PHP i MySQL mogą mieć dziury, których załatanie może być po prostu nie możliwe bez aktualizacji konkretnego pakietu. W przypadku serwera wystawionego do publicznego Internetu jest to procedura obowiązkowa, tym bardziej że w sieci mnożą się robaki korzystające właśnie z dziur w Apache i PHP ). Poza aktualizacjami, które zwykle pojawiają się przecież już po odkryciu dziury, system można uodpornić na wiele znanych i przyszłych ataków za pomocą mechanizmów wbudowanych w same aplikacje. Jak pisałem wyżej, zwykle są one wyłączone w domyślnej instalacji po to, by nie zniechęcać użytkownika, któremu aplikacja napisana w PHP mogłaby "nie zadziałać" od razu.

Poniżej opisane poprawki nie stanowią kompleksowego podręcznika hardeningu środowiska LAMP - taki "hardening" prowadzi się zawsze na gotowej instalacji i w kontekście konkretnej aplikacji, więc nie ma tutaj gotowych recept. Opisane zabezpieczenia można wprowadzać pojedynczo, w zależności od funkcjonalności wykorzystywanej w naszym serwerze. Opisane zmiany w konfiguracji były testowane w domyślnej instalacji Debian "Etch". Dystrybucja ta pozostawia system w stanie dość bezpiecznym - poniższe poprawki pozwalają to bezpieczeństwo jeszcze podnieść.

Należy pamiętać o tym, by po wprowadzeniu każdej ze zmian przetestować, czy nie spowodowała ona natychmiastowego padu aplikacji. Po wprowadzeniu zmian w konfiguracji Apache lub PHP należy restartować serwer WWW (apache2ctl restart).

httpd.conf
Plik httpd.conf jest głównym plikiem konfiguracyjnym serwera Apache. W Debianie znajduje się on w katalogu /etc/apache2 i nie zawiera prawie żadnych dyrektyw konfiguracyjnych - dla wygody automatycznych konfiguratorów są one rozsiane po plikach znajdujących się w podkatalogach. Opisane poniżej dyrektywy można wkleić do pliku httpd.conf ale należy również sprawdzić, czy w innych miejscach nie znajdują się identyczne dyrektywy ale z innymi wartościami (np. poleceniem grep).

ServerTokens Prod
ServerSignature Off
<Directory />

<limit TRACK>
deny from all
</limit>

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} !^(GET|POST|HEAD)$
RewriteRule .* - [F]
</IfModule>

</Directory>
TraceEnable Off

Znaczenie opcji:
- ServerTokens i ServerSignature - określają ilość informacji zwracanych przez serwer w nagłówkach HTTP; standardowo serwer chwali się wersjami wszystkich modułów, co bardzo ułatwia włamywaczowi znalezienie ewentualnych dziur jeśli serwer nie jest zaktualizowany; wartość "Prod" w opcji ServerTokens powoduje, że serwer będzie się przedstawiał tylko jako Apache, bez żadnych numerów wersji

- Limit TRACK i TraceEnable - wyłączają metody HTTP służące do diagnostyki aplikacji i serwera; nie są one potrzebne do pracy większości aplikacji, a mogą ułatwić zadanie włamywaczowi
- RewriteRule - cała ta sekcja blokuje metody HTTP inne niż GET, POST i HEAD, wykorzystywane przez większość normalnych aplikacji webowych; zablokuje to jednak także możliwość uploadu plików (należy dopisać metodę PUT) oraz korzystania z WebDAV - w takim razie należy zrezygnować z całej tej sekcji


Wystaw ocenę:
   Średnia ocena (liczba głosów: 8)
AudioBot - odsłuchaj materiałAudioBot - odsłuchaj materiał wydrukuj wydrukuj wyslij do znajomegowyślij do znajomego rss

Komentarze

Redakcja securitystandard.pl - bezpieczeństwo IT , aktualnosci, porady, produkty nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.

phpowiec

  • ocena: 5
  • IP: 83.11.190.161
  • 26-07-2008, 11:11

www.lol.pl bardzo i sie podoba art zapraszam

Spambot

  • ocena: 5
  • IP: 93.105.69.124
  • 09-01-2009, 19:55

Dobry art, bardzo ładnie opisane zabezpieczanie funkcji w php.ini, właśnie tego szukałem i także zapraszam na moją strone http://spambot.pl