Osigurajte i ojačajte svoj Apache web server primenom najboljih praksi kako biste zaštitili svoju web aplikaciju.
Web server predstavlja ključnu komponentu web aplikacija. Nepravilno konfigurisan server, ili korišćenje podrazumevanih postavki, može dovesti do otkrivanja osetljivih podataka, što predstavlja potencijalni bezbednosni rizik.
Kao vlasnik ili administrator web sajta, trebalo bi redovno da sprovodite bezbednosne provere kako biste otkrili potencijalne pretnje na mreži i preduzeli odgovarajuće korake pre nego što to učini haker.
Hajde da razmotrimo osnovne konfiguracije koje će vam pomoći da osigurate vaš Apache web server.
Sve konfiguracije se nalaze u datoteci `httpd.conf` vaše Apache instance.
Napomena: Pre bilo kakve modifikacije konfiguracionih datoteka, napravite rezervnu kopiju, kako biste se lako vratili na prethodno stanje u slučaju problema.
Onemogućite HTTP TRACE metod
Podrazumevana postavka `TraceEnable on` omogućava korišćenje TRACE metode, što omogućava praćenje zahteva.
Kada je `TraceEnable off`, server i `mod_proxy` vraćaju klijentu grešku 405 (Metod nije dozvoljen).
Omogućavanje `TraceEnable on` stvara rizik od napada praćenjem više lokacija, potencijalno omogućavajući hakeru da ukrade informacije o vašim kolačićima.
Rešenje
Rešite ovaj bezbednosni problem onemogućavanjem TRACE HTTP metoda u Apache konfiguraciji.
To možete učiniti izmenom ili dodavanjem sledeće direktive u datoteku `httpd.conf` vašeg Apache web servera.
TraceEnable off
Pokrenite Apache kao posebnog korisnika i grupu
Po defaultu, Apache se konfigurisan da radi pod korisnikom `nobody` ili `daemon`.
Ne postavljajte korisnika (ili grupu) na `root`, osim ako ste potpuno sigurni u ono što radite i rizike koje takva postavka nosi.
Rešenje
Preporučuje se da Apache pokrećete pod zasebnim, ne-root nalogom. Izmenite direktive za korisnika i grupu u datoteci `httpd.conf` vašeg Apache web servera.
User apache Group apache
Onemogućite Server Signature
Postavka `Off`, koja je podrazumevana, suzbija prikazivanje linije podnožja servera.
Postavka `On` dodaje liniju koja prikazuje broj verzije servera i ServerName virtuelnog hosta.
Rešenje
Preporučuje se da onemogućite `ServerSignature`, jer možda ne želite da otkrijete verziju Apache-a koju koristite.
ServerSignature Off
Onemogućite Server Tokens
Ova direktiva kontroliše da li će polje zaglavlja odgovora servera, koje se šalje klijentima, uključivati informacije o tipu operativnog sistema i kompajliranim modulima.
Rešenje
ServerTokens Prod
Ograničite pristup na određenu mrežu ili IP adresu
Ako želite da se vaš sajt prikazuje samo sa određene IP adrese ili mreže, možete izmeniti konfiguraciju direktorijuma sajta u datoteci `httpd.conf`.
Rešenje
Navedite mrežnu adresu u direktivi `Allow`.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.0.0/24 </Directory>
Navedite IP adresu u direktivi `Allow`.
<Directory /yourwebsite> Options None AllowOverride None Order deny,allow Deny from all Allow from 10.20.1.56 </Directory>
Koristite samo TLS 1.2
Protokoli SSL 2.0, 3.0, TLS 1 i 1.1 su poznati po tome da imaju nekoliko kriptografskih slabosti.
Potrebna vam je pomoć oko konfigurisanja SSL-a? Pogledajte ovaj vodič.
Rešenje
SSLProtocol -ALL +TLSv1.2
Onemogućite listanje direktorijuma
Ako u direktorijumu web sajta nemate datoteku `index.html`, klijent će videti sve datoteke i poddirektorijume koji se nalaze u tom direktorijumu (slično kao izlaz komande `ls -l`).
Rešenje
Da biste onemogućili pregled direktorijuma, možete postaviti vrednost direktive `Options` na `None` ili `-Indexes`.
<Directory /> Options None Order allow,deny Allow from all </Directory>
ILI
<Directory /> Options -Indexes Order allow,deny Allow from all </Directory>
Uklonite nepotrebne DSO module
Proverite svoju konfiguraciju kako biste uklonili suvišne DSO module.
Postoji mnogo modula koji su po defaultu aktivirani nakon instalacije. Možete ukloniti one koji vam nisu potrebni.
Onemogućite null i slabe šifre
Dozvolite samo jake šifre, kako biste sprečili korišćenje nižih šifri za ostvarivanje konekcije.
Rešenje
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Održavajte server ažuriranim
Pošto je Apache projekat otvorenog koda, najlakši način da poboljšate bezbednost vašeg Apache web servera je da koristite najnoviju verziju. Nove ispravke i sigurnosne zakrpe se dodaju u svako novo izdanje. Uvek nadogradite na najnoviju stabilnu verziju Apache-a.
Navedene konfiguracije predstavljaju samo neke od osnovnih koraka, a ako želite da dobijete detaljnije informacije, možete pogledati moj detaljan vodič za bezbednost i jačanje servera.
Da li ste uživali u čitanju ovog članka? Podelite ga sa drugima!