Den här artikeln är en del av Apache Server Guide-serien:

  • Säkra Apache på Ubuntu - Del 1
  • Säkra Apache på Ubuntu - Del 2
  • Optimera Apache Performance - Del 1
  • Optimera Apache Performance - Del 2
  • Konfigurera namnbaserad Virtualhost Apache
  • Konfigurera IP och portbaserad Virtualhost i Apache
  • Så här ställer du in lösenordskyddswebbkatalogen i Apache
  • Ställa in Apache Server med SSL-support på Ubuntu
  • Konfigurera Fail2ban för att skydda Apache från ett DDOS-attack
  • Så här ställer du upp Webdav med Apache på Ubuntu
  • Övervaka Apache webbserver med Mod_status
  • Hur man skyddar mot DDoS med Mod_evasive på Apache Server

Apache är ett av de mest använda och populära webbservrarna i världen, och det driver nästan 40% av alla servrar i världen. Om du är en webbansvarig eller administratör som upprätthåller en Apache-server är det viktigt att du vet hur du skyddar Apache och förhindrar att det hackas. I den här artikeln kommer vi att beskriva några tips och tricks som du kan använda för att säkra din Apache-server.

Obs! Vi använder Ubuntu 14.04 för denna handledning.

Installera och uppdatera Apache

Först måste du uppdatera och installera Apache till ditt system.

För detta kör följande kommando:

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

Dölj Apache Version

Som standard visar Apache versionen av din Apache webbserver installerad på ditt system med namnet på operativsystemet på din server.

I skärmbilden ovan kan du se Apache-versionen och operativsystemet installerat på din server. Detta kan vara ett stort säkerhetsproblem för din webbserver. För att dölja den här informationen måste du redigera Apaches huvudkonfigurationsfil ("/etc/apache2/conf-enabled/security.conf").

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

Lägg till / ändra följande rad:

 ServerSignatur Av ServerTokens Prod 

Spara filen och starta om apache-tjänsten.

 sudo /etc/init.d/apache2 omstart 

Slå av webbsökning och inaktivera symboliska länkar

Som standard är kataloglistan aktiverad på Apache-servern. Listannonsering visar hela katalogen med alla filer från Apache-servern. Om det här är aktiverat kan en angripare enkelt se vilken fil som helst, analysera den och få känslig information om ett program.

Du kan se standard kataloglistan i bilden nedan.

Du kan inaktivera den här inställningen genom att redigera Apache-konfigurationsfilen.

 sudo nano /etc/apache2/apache2.conf 

Lägg till / ändra följande rad:

 Alternativ -FöljSymLinks TillåtOverride None Kräv alla tillåtna 

Obs! Ovanstående kod förutsätter att dina webbsidor serveras från mappen "/ var / www / html". Om du har ändrat den offentliga mappen till en anpassad plats ändrar du katalogvägen i ovanstående kod.

Options -FollowSymLinks inaktiverar också symboliska länkar. Om du vill aktivera symboliska länkar, ta bort "-" tecknet framför FollowSymLinks, så blir det Options FollowSymLinks.

Spara filen och starta om Apache-servern.

Efter det här försöker du att besöka webben i en webbläsare, och du får ett förbjudet fel som visas i bilden nedan.

Inaktivera onödiga moduler

Apache kommer som standard med flera installerade moduler som inte är nödvändiga för normal användning. Det rekommenderas att trimma fettet och inaktivera alla de onödiga modulerna. Du kan lista alla aktiverade moduler på din server med följande kommando:

 sudo ls / etc / apache2 / mods-enabled / 

Detta visar utmatningen enligt bilden nedan.

Från ovanstående moduler aktiveras vissa moduler som "status" och "autoindex" men inte behövs.

Du kan inaktivera dessa moduler med följande kommando:

 sudo a2dismod autoindex sudo a2dismod status sudo /etc/init.d/apach2 starta om 

Använd användningen av ModSecurity

Mod-säkerhet är en gratis Apache-modul som används för att skydda din webbserver från olika attacker som SQL-injektion, cross-site scripting, session kapning, brute force och många andra funktioner. Det gör det också möjligt för dig att övervaka trafiken i realtid.

Du kan installera mod-säkerhet med följande kommando:

 sudo apt-get installera libapache2-modsecurity 

För att kontrollera om mod_security-modulen körs, använd följande kommando:

 sudo apachectl -M | grep - färgskydd 

Bilden nedan visar att modulen laddades.

För att aktivera mod_security-reglerna måste du byta namn på och redigera den rekommenderade konfigurationsfilen för mod säkerhet och SecRuleEngine alternativet SecRuleEngine till On .

För detta kör följande kommando:

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

Lägg till / ändra följande rad:

 SecRuleEngine On 

Nu startar du om Apache för att ändringarna ska träda i kraft.

Det finns många säkerhetsregler som följer med Modesecurity (kallad Core Rule Set) som finns i katalogen "/ usr / share / modsecurity-crs". Nu måste du aktivera dessa regler för att få det att fungera med Apache.

Du kan göra detta genom att redigera filen "/etc/apache2/mods-enabled/security2.conf".

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

Lägg till / ändra följande rad:

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

Spara filen och starta om Apache.

Inaktivera serverns sida ingår och CGI-utförande.

Det rekommenderas att inaktivera serverns sida innehåller och CGI-körning om det inte behövs.

För att göra detta måste du redigera Apache main config-filen.

 sudo nano /etc/apache2/apache2.conf 

Lägg till / ändra följande rad:

 Alternativ -FöljSymLinks -Includes -ExecCGI AllowOverride None Kräver allt beviljat 

Spara filen och starta om Apache.

Du kan också göra det för en specifik katalog. Till exempel, för att stänga av serverns sida ingår och cgi-filavrättningar för katalogen "/ var / www / html / webdir1", ddd / redigera följande rad:

 Alternativ -Inkluderar -ExecCGI 

Spara filen och starta om Apache.

Begränsa stora förfrågningar

Apache har som standard ingen gräns för storleken på HTTP-förfrågan. Detta gör det möjligt för en angripare att skicka en stor mängd data. Apache har flera direktiv som låter dig ställa in en korrekt förfrågan storlek. Detta kommer att skydda din webbserver från en attack av denial of service.

Du kan ställa in värdet från 0 (obegränsat) till 2147483647 (2GB) i Apache main config-filen.

Till exempel begränsa begäran storlek för katalogen "/ var / www / html / webdir1" till 200K.

 sudo nano /etc/apache2/apache2.conf 

Lägg till / ändra följande rad:

 LimitRequestBody 204800 

Spara filen och starta om Apache.

Tillåt att bläddra utanför dokumentroten

Det rekommenderas för Apache att bara kunna komma åt dokumentets rotkatalog. Du kan säkra rotkatalogen (/) genom att ange följande rad:

 sudo nano /etc/apache2/apache2.conf 

Lägg till / ändra följande rad:

 Alternativ Ingen Beställa neka, tillåt neka från alla 

Det här är vad koden gör:

  • Options None : Detta stänger av alla alternativ.
  • Order deny, allow : Den ordning i vilken kommandona tillåter och nekas.
  • Deny from all : Detta kommer att neka en begäran från alla till rotkatalogen.

Spara filen och starta om Apache.

Håll Apache uppdaterad

Nya Apache-uppdateringar kommer att innehålla nya korrigeringar och korrigeringar som minskar sårbarheten hos din Apache-server, så det rekommenderas att använda den senaste versionen av Apache-servern.

Du kan uppdatera din Apache till den senaste versionen med följande kommando:

 sudo apt-get install apache2 - reinstallera 

Slutsats

Jag hoppas att det här inlägget hjälper dig att säkra din Apache-server. Du hittar mer säkerhetsåtgärder och tips för att få Apache-servern i mitt nästa inlägg. Skriv gärna kommentar nedan om du har några frågor.