Denne artikkelen er en del av Apache Server Guide-serien:

  • Sikre Apache på Ubuntu - Del 1
  • Sikre Apache på Ubuntu - Del 2
  • Optimalisering av Apache Performance - Del 1
  • Optimalisering av Apache Performance - Del 2
  • Sette opp navnbasert Virtualhost Apache
  • Sette opp IP og portbasert Virtualhost i Apache
  • Hvordan sette opp passordbeskytt webkatalogen i Apache
  • Sette opp Apache Server med SSL-støtte på Ubuntu
  • Konfigurere Fail2ban for å beskytte Apache fra et DDOS-angrep
  • Hvordan sette opp Webdav med Apache på Ubuntu
  • Overvåk Apache Web Server ved hjelp av Mod_status
  • Slik beskytter du mot DDoS med Mod_evasive på Apache Server

Apache er en av de mest brukte og populære webserverne i verden, og den driver nesten 40% av alle serverne i verden. Hvis du er en nettredaktør eller administrator som opprettholder en Apache-server, er det viktig for deg å vite hvordan du sikrer Apache og hindre det fra å bli hacket. I denne artikkelen vil vi beskrive noen tips og triks som du kan bruke til å sikre Apache-serveren din.

Merk : Vi bruker Ubuntu 14.04 for denne opplæringen.

Installer og oppdater Apache

Først må du oppdatere og installere Apache til systemet.

For dette, kjør følgende kommando:

 sudo apt-få oppdatering sudo apt-get install apache2 

Skjul Apache Versjon

Apache viser som standard versjonen av Apache-webserveren din installert på systemet ditt med navnet på operativsystemet til serveren din.

I skjermbildet ovenfor kan du se Apache-versjonen og operativsystemet installert på serveren din. Dette kan være et stort sikkerhetsproblem for webserveren din. For å skjule denne informasjonen må du redigere Apaches hovedkonfigurasjonsfil ("/etc/apache2/conf-enabled/security.conf").

 sudo nano /etc/apache2/conf-enabled/security.conf 

Legg til / rediger følgende linje:

 Server Signatur Off ServerTokens Prod 

Lagre filen og start apache-tjenesten.

 sudo /etc/init.d/apache2 restart 

Slå av katalogbrowsing og deaktiver symbolske koblinger

Som standard er katalogoppføring aktivert i Apache-serveren. Katalogoppføring viser hele katalogen med alle filene fra Apache-serveren. Hvis dette er aktivert, kan en angriper enkelt vise en fil, analysere den og få sensitiv informasjon om et program.

Du kan se standard katalogoppføring i bildet nedenfor.

Du kan deaktivere denne innstillingen ved å redigere Apache-konfigurasjonsfilen.

 sudo nano /etc/apache2/apache2.conf 

Legg til / rediger følgende linje:

 Alternativer -FølgSymLinks TillatOverride None Krev all gitt 

Merk : Koden ovenfor antar at websidene dine blir servert fra mappen "/ var / www / html". Hvis du har endret den offentlige mappen til en egendefinert plassering, endrer du Directory i den ovennevnte koden.

Alternativet Line- Options -FollowSymLinks deaktiverer også symbolske linker. Hvis du vil aktivere symbolske lenker, fjerner du "-" -tegnet foran FollowSymLinks, slik at det blir Options FollowSymLinks.

Lagre filen og start Apache-serveren på nytt.

Etter dette prøver du å besøke Internett i en nettleser, og du får en forbudt feil som vises i bildet nedenfor.

Deaktiver unødvendige moduler

Apache leveres som standard med flere installerte moduler som ikke er nødvendige for normal bruk. Det anbefales å trimme fettet og deaktivere alle de unødvendige modulene. Du kan liste alle aktiverte moduler på serveren din ved hjelp av følgende kommando:

 sudo ls / etc / apache2 / mods-enabled / 

Dette viser utgangen som vist i bildet nedenfor.

Fra modulene ovenfor er enkelte moduler som "status" og "autoindex" aktivert, men ikke nødvendig.

Du kan deaktivere disse modulene ved å bruke følgende kommando:

 sudo a2dismod autoindex sudo a2dismod status sudo /etc/init.d/apach2 restart 

Gjør bruk av ModSecurity

Mod-sikkerhet er en gratis Apache-modul som brukes til å beskytte din webserver fra forskjellige angrep som SQL-injeksjon, cross-site scripting, session kapring, brute force og mange andre utnytter. Det lar deg også overvåke trafikk på sanntid.

Du kan installere mod-sikkerhet ved å bruke følgende kommando:

 sudo apt-get installere libapache2-modsecurity 

For å sjekke om mod_security-modulen kjører, bruk følgende kommando:

 sudo apachectl -M | grep - fargerik 

Bildet som vises nedenfor indikerer at modulen ble lastet.

For å aktivere mod_security-reglene, må du endre navn på og redigere SecRuleEngine anbefalt konfigurasjonsfil og angi SecRuleEngine alternativet på On .

For dette kjør følgende kommando:

 sudo mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf sudo nano /etc/modsecurity/modsecurity.conf 

Legg til / rediger følgende linje:

 SecRuleEngine On 

Start nå Apache for at endringene skal tre i kraft.

Det er mange sikkerhetsregler som følger med Modesecurity (kalt Core Rule Set) som er plassert i katalogen "/ usr / share / modsecurity-crs". Nå må du aktivere disse reglene for å få det til å fungere med Apache.

Du kan gjøre dette ved å redigere filen "/etc/apache2/mods-enabled/security2.conf".

 sudo nano /etc/apache2/mods-enabled/security2.conf 

Legg til / rediger følgende linje:

 IncludeOptional /etc/modsecurity/*.conf IncludeOptional "/usr/share/modsecurity-crs/*.conf" IncludeOptional "/usr/share/modsecurity-crs/base_rules/*.conf 

Lagre filen og start Apache på nytt.

Slå av server side Inkluderer og CGI utførelse.

Det anbefales å deaktivere server side inkluderer og CGI kjøring hvis ikke nødvendig.

For å gjøre dette må du redigere Apache hovedkonfigurasjonsfilen.

 sudo nano /etc/apache2/apache2.conf 

Legg til / rediger følgende linje:

 Alternativer -FølgSymLinks -Includes -ExecCGI AllowOverride None Krev all gitt 

Lagre filen og start Apache på nytt.

Du kan også gjøre dette for en bestemt katalog. For eksempel, for å slå av server side inkluderer og cgi fil henrettelser for katalogen "/ var / www / html / webdir1", ddd / rediger følgende linje:

 Alternativer-Inkluderer -ExecCGI 

Lagre filen og start Apache på nytt.

Begrensende store forespørsler

Apache har som standard ingen grense for størrelsen på HTTP-forespørselen. Dette vil tillate en angriper å sende en stor mengde data. Apache har flere direktiver som lar deg angi en riktig forespørsel størrelse. Dette vil beskytte webserveren mot et angrep på tjenesten.

Du kan angi verdien fra 0 (ubegrenset) til 2147483647 (2GB) i Apache main config-filen.

For eksempel begrense forespørselsstørrelsen til katalogen "/ var / www / html / webdir1" til 200K.

 sudo nano /etc/apache2/apache2.conf 

Legg til / rediger følgende linje:

 LimitRequestBody 204800 

Lagre filen og start Apache på nytt.

Tillat surfing utenfor dokumentroten

Det anbefales at Apache kun får tilgang til dokumentets rotkatalog. Du kan sikre rotkatalogen (/) ved å angi følgende linje:

 sudo nano /etc/apache2/apache2.conf 

Legg til / rediger følgende linje:

 Alternativer Ingen Bestil nekt, tillat nekte fra alle 

Dette er hva koden gjør:

  • Options None : Dette vil deaktivere alle alternativene.
  • Order deny, allow : Ordren der tillatelse og nekte kommandoer blir brukt.
  • Deny from all : Dette vil nekte en forespørsel fra alle til rotkatalogen.

Lagre filen og start Apache på nytt.

Hold Apache oppdatert

Nye Apache-oppdateringer vil inneholde nye korrigeringer og oppdateringer som vil redusere sikkerheten til Apache-serveren, så det anbefales å bruke den nyeste versjonen av Apache-serveren.

Du kan oppdatere Apache til den nyeste versjonen ved å bruke følgende kommando:

 sudo apt-get install apache2 - reinstallere 

Konklusjon

Jeg håper dette innlegget vil hjelpe deg med å sikre Apache-serveren din. Du finner flere forhåndssikkerhetstips og triks for å sikre Apache-serveren i mitt neste innlegg. Du er velkommen til å kommentere nedenfor hvis du har spørsmål.