Apache HTTP

Så här skyddar du din Apache-server

Så här skyddar du din Apache-server
Apache är en populär webbserver med öppen källkod som är tillgänglig för både Linux- och Windows-system. Det möjliggör konfigurering för en mängd olika användningsfall, från HTML-webbsidor till HyperText Preprocessor (PHP) dynamiskt webbapplikationsinnehåll.Apache ger en säker och robust plattform för att distribuera dina webbapplikationer. Det är dock fortfarande viktigt att installera de senaste säkerhetsuppdateringarna och konfigurera servern ordentligt för att skapa en säker miljö för dina webbapplikationer.
I den här artikeln hittar du några tips och tricks för att stärka dina Apache-webbserverkonfigurationer och förbättra den allmänna säkerheten.

Icke-privilegierat användarkonto

Syftet med ett icke-root eller okontrollerat användarkonto är att begränsa användaren från onödig åtkomst till vissa uppgifter i ett system. I samband med en Apache-webbserver betyder detta att den ska fungera i en begränsad miljö med endast nödvändiga behörigheter. Som standard körs Apache med daemon-kontobehörigheter. Du kan skapa ett separat icke-root-användarkonto för att undvika hot i händelse av säkerhetsproblem.

Dessutom, om apache2 och MySQL är under samma användaruppgifter, kommer alla problem i processen med en gång tjänst att påverka den andra. För att ändra användar- och gruppbehörigheter för webbservern, gå till / etc / apache2, öppna filenvvvars och ställ in användaren och gruppen till en ny icke-privilegierad kontoanvändare, säg "apache" och spara filen.

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / envvars
... klipp ..
exportera APACHE_RUN_USER = apache
exportera APACHE_RUN_GROUP = apache
... klipp ..

Du kan också använda följande kommando för att ändra äganderätten till installationskatalogen till den nya icke-rotanvändaren.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Utfärda följande kommando för att spara ändringarna:
ubuntu @ ubuntu ~: $ sudo service apache2 starta om

Håll Apache uppdaterad

Apache är känt för att tillhandahålla en säker plattform med en mycket bekymrad utvecklargemenskap som sällan står inför säkerhetsfel. Ändå är det normalt att upptäcka problem när programvaran släpps. Därför är det viktigt att hålla webbservern uppdaterad för att använda de senaste säkerhetsfunktionerna. Det rekommenderas också att följa Apache Server Announcement Lists för att hålla dig uppdaterad om nya meddelanden, utgåvor och säkerhetsuppdateringar från Apache-utvecklingsgemenskapen.

För att uppdatera din apache med apt, skriv följande:

ubuntu @ ubuntu ~: $ sudo apt-get-uppdatering
ubuntu @ ubuntu ~: $ sudo apt-get uppgradering

Inaktivera serversignatur

Standardkonfigurationen för en Apache-server visar mycket information om servern och dess inställningar. Till exempel aktiverade ServerSignature- och ServerTokens-direktiv i / etc / apache2 / apache2.conf-fil lägger till en extra rubrik i HTTP-svaret som exponerar potentiellt känslig information. Denna information inkluderar serverinställningsdetaljer, såsom serverversion och hosting OS, som kan hjälpa angriparen med rekognoseringsprocessen. Du kan inaktivera dessa direktiv genom att redigera apache2.conf-fil via vim / nano och lägg till följande direktiv:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... klipp ..
ServerSignature Av
... klipp ..
ServerTokens Prod
... klipp ..

Starta om Apache för att uppdatera ändringarna.

Inaktivera listor över serverkataloger

Kataloglistorna visar allt innehåll som sparats i rotmappen eller underkatalogerna. Katalogfilerna kan innehålla känslig information som inte är avsedd för allmän visning, såsom PHP-skript, konfigurationsfiler, filer som innehåller lösenord, loggar, etc.
För att inte tillåta katalogförteckningar, ändra konfigurationsfilen för Apache-servern genom att redigera apache2.conf-fil som:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... klipp ..

Alternativ -index

... klipp ..

ELLER

... klipp ..

Alternativ -indexer

... klipp ..

Du kan också lägga till detta direktiv i .htaccess-filen i din huvudsakliga webbkatalog.

Skydda systeminställningar

De .htaccess-filen är en bekväm och kraftfull funktion som gör det möjligt att konfigurera utanför huvud-apache2.conf-fil. Men i fall där en användare kan ladda upp filer till servern kan detta utnyttjas av en angripare för att ladda upp sin egen “.htaccess ”-fil med skadliga konfigurationer. Så om du inte använder den här funktionen kan du inaktivera .htaccess-direktivet, i.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... klipp ..
#AccessFileName .htaccess
... klipp ..

ELLER
Inaktivera .htaccess-fil utom de specifikt aktiverade katalogerna genom att redigera apache2.conf-fil och vänder AllowOverRide-direktivet till None;

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... klipp ..

AllowOverride None

... klipp ..

Säkra kataloger med autentisering

Du kan skapa användaruppgifter för att skydda alla eller några av katalogerna med hjälp av htpasswd-verktyget. Gå till din servermapp och använd följande kommando för att skapa en .htpasswd-fil för att lagra lösenordshash för de referenser som tilldelats till exempel en användare som heter dev.

[e-postskyddad] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd dev

Ovanstående kommando kommer att be om det nya lösenordet och lösenordsbekräftelsen. Du kan se katten ./ htpasswd-fil för att kontrollera hash för de lagrade användaruppgifterna.

Nu kan du automatiskt ställa in konfigurationsfilen i katalogen your_website som du behöver skydda genom att ändra .htaccess-fil. Använd följande kommando och direktiv för att aktivera autentisering:

ubuntu @ ubuntu ~: $ sudo nano / var / www / din_webbplats /.htaccess
... klipp ..
AuthType Basic
AuthName "Lägg till dialogrutan"
AuthUserFile / etc / apache2 / user_name / domain_name /.htpasswd
Kräver giltig användare
... klipp ..

Kom ihåg att lägga till sökvägen enligt din.

Kör nödvändiga moduler

Standard Apache-konfigurationen innehåller aktiverade moduler som du kanske inte ens behöver. Dessa förinstallerade moduler öppnar dörrar för Apache-säkerhetsproblem som redan finns eller kan finnas i framtiden. För att inaktivera alla dessa moduler måste du först förstå vilka moduler som krävs för att din webbserver ska fungera väl. För detta ändamål, kolla in apache-modulens dokumentation som täcker alla tillgängliga moduler.

Använd sedan följande kommando för att ta reda på vilka moduler som körs på din server.

[e-postskyddad] ~: $ sudo ls / etc / apache2 / mods-enabled

Apache levereras med det kraftfulla a2dismod-kommandot för att inaktivera modulen. Det förhindrar att modulen laddas och uppmanar dig med en varning när du inaktiverar modulen om att åtgärden kan påverka din server negativt.

[e-postskyddad] ~: $ sudo a2dismod module_name

Du kan också inaktivera modulen genom att kommentera i LoadModule-raden.

Förhindra långsam Loris och DoS Attack

Standardinstallationen av en Apache-server tvingar den att vänta på förfrågningar från klienter för länge, vilket utsätter servern för långsamma Loris- och DoS-attacker. Apache2.conf konfigurationsfil ger ett direktiv som du kan använda för att sänka timeoutvärdet till några sekunder för att förhindra dessa typer av attacker, i.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
Timeout 60

Dessutom kommer den nya Apache-servern med en praktisk modul mod_reqtimeout som tillhandahåller ett direktiv RequestReadTimeout för att skydda servern från obehöriga förfrågningar. Detta direktiv kommer med några knepiga konfigurationer, så att du kan läsa ut den relaterade informationen som finns på dokumentationssidan.

Inaktivera onödiga HTTP-begäranden

Obegränsade HTTP / HTTPS-förfrågningar kan också leda till låg serverprestanda eller en DoS-attack. Du kan begränsa mottagande av HTTP-förfrågningar per katalog genom att använda LimitRequestBody till mindre än 100K. För att till exempel skapa ett direktiv för mappen / var / www / din_webbplats kan du lägga till LimitRequestBody-direktivet nedan AllowOverride All, i.e.:

... klipp ..

Alternativ -indexer
AllowOverride All
LimitRequestBody 995367

... klipp ..

Obs! Kom ihåg att starta om Apache efter att de tillämpade ändringarna uppdaterats.

Slutsats

Standardinstallationen av Apache-servern kan leverera mycket känslig information för att hjälpa angripare i en attack. Under tiden finns det många andra sätt (som inte anges ovan) för att skydda Apache-webbservern också. Fortsätt undersöka och hålla dig uppdaterad om nya direktiv och moduler för att säkra din server ytterligare.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jag har nyligen läst om Microsoft Sculpt Touch trådlös mus och bestämde mig för att köpa den. Efter att ha använt den ett tag bestämde jag mig för att...
Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...
Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...