Wiedza - Artykuły
Image
TYPY PUBLIKACJI

Podstawowe koncepcje bezpieczeństwa serwera Apache

10.01.2008 21:00, Autor: Kuba Pawlak (qbap), Komentarze (2)

Serwer HTTP bazujący na Apache powinien być odpowiednio skonfigurowany tak by niepowołane osoby nie mogły przejąc nad nim kontroli. Oczywiście coś takiego jak 100% zabezpieczenie nie istnieje, niemniej jednak nie oznacza to, że nie można zrobić wszystkiego by maksymalnie zniechęcić potencjalnych atakujących.

Zawsze zdarza się tak, że obok informacji dotyczącej błędu występującego w danym systemie, programie czy usłudze pojawia się również wersja, której ten bug dotyczy. Standardowo serwer Apache wyświetla informacje na temat systemu/wersji na jakim został postawiony i potencjalnie w momencie znalezienia jakiegoś błędu może stać się to powodem do praktyk włamaniowych. Z tego też względu warto wyłączyć opcje odpowiedzialną za wyświetlanie tego typu informacji.

Wszystkie opcje będziemy wprowadzać i zapisywać w pliku konfiguracyjnym kryjącym się pod nazwą httpd.conf.

ServerSignature Off
ServerTokens Prod

Kolejna sprawa to upewnienie się by serwer Apache nie miał dostęp do innych folderów (łącznie z opcją przeglądania) z wyjątkiem tego w którym znajduje się nasz serwis:

<Directory />
  Order Deny,Allow
  Deny from all
  Options None
  AllowOverride None
</Directory>
<Directory /techit>
  Order Allow,Deny
  Allow from all
</Directory>

Serwer Apache umożliwia nam również zacieśnić ilość osób jakie mogą mieć dostęp do naszego serwera dla danej klasy czy konkretnego IP:

Order Deny,Allow
Deny from all
Allow from xx.xx.xx.x/24

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

Inną z ciekawych opcji jakie oferuje Apache jest możliwość zablokowania dostępu do określonych plików. Poniższy przykład pokazuje jak zablokować dostęp do plików zaczynających swoją nazwę od .tech

AccessFileName .httpdoverride
<Files ~ "^\.tech">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

i restart Apacha...

/etc/init.d/apache2 restart

Poza wskazanymi ustawieniami warto się zastanowić nad odpowiednią konfiguracją takich elementów jak MaxSpareServers, MaxRequestsPerChild, ThreadsPerChild, ServerLimit, MaxSpareThread, LimitRequestBody czy Timeout. Ważne jest również by wyłączyć moduły z których się nie korzysta.

r    e    k    l    a    m    a

Komentarze

Lk_hc
(niezalogowany)
20.05.2008 9:51

Lk_hc (niezalogowany)
 

Kompleksowe ujęcie problemu...

 
zdzisław dyrma
(niezalogowany)
25.02.2009 12:36

zdzisław dyrma (niezalogowany)
 

no bardzo kompleksowe, a podręcznik o'reilly'ya "Apache Security" ma kilkaset stron

 

Dodaj komentarz

Autor: