Hvordan sikre Apache -serveren din

Hvordan sikre Apache -serveren din
Apache er en populær, open source webserver tilgjengelig for både Linux og Windows Systems. Det tillater konfigurasjon for et mangfoldig utvalg av brukssaker, fra HTML websider til hypertekst forbehandling (PHP) dynamisk webapplikasjonsinnhold.Apache gir en sikker og robust plattform for å distribuere webapplikasjonene dine. Imidlertid er det fremdeles viktig å installere de nyeste sikkerhetsoppdateringene og konfigurere serveren riktig for å etablere et sikkert miljø for webapplikasjonene dine.
I denne artikkelen vil du finne noen tips og triks for å styrke Apache -webserverkonfigurasjonene og forbedre den generelle sikkerheten.

Ikke-privilegert brukerkonto

Hensikten med en ikke-root eller uprivilegert brukerkonto er å begrense brukeren fra unødvendig tilgang til visse oppgaver i et system. I sammenheng med en Apache -webserver betyr dette at den skal fungere i et begrenset miljø med bare nødvendige tillatelser. Som standard kjører Apache med Daemon -kontoprivilegier. Du kan opprette en egen brukerkonto som ikke er rotte for å unngå trusler i tilfelle sikkerhetsproblemer.

Videre, hvis Apache2 og MySQL er under samme brukeropplysning, vil ethvert problem i prosessen med en gang tjeneste ha innvirkning på den andre. For å endre bruker- og gruppeprivilegier for webserveren, gå til /etc /Apache2, åpne filen Envvars, og sett brukeren og gruppen til en ny ikke-privilegert kontobruker, si: "Apache," og lagre filen.

ubuntu@ubuntu ~: $ sudo vim/etc/apache2/envvars
... Snip ..
Eksporter apache_run_user = apache
Eksporter apache_run_group = apache
... Snip ..

Du kan også bruke følgende kommando for å endre eierskapet til installasjonskatalogen til den nye ikke-root-brukeren.

ubuntu@ubuntu ~: $ sudo chown -r apache: apache /etc /apache2
Utsted følgende kommando for å lagre endringene:
ubuntu@ubuntu ~: $ sudo service apache2 omstart

Hold Apache oppdatert

Apache er kjent for å gi en sikker plattform med et meget bekymret utviklerfellesskap som sjelden står overfor noen sikkerhetsfeil. Likevel er det normalt å oppdage problemer når programvaren er utgitt. Derfor er det viktig å holde webserveren oppdatert for å benytte de nyeste sikkerhetsfunksjonene. Det anbefales også å følge Apache Server -kunngjøringslistene for å holde deg oppdatert om nye kunngjøringer, utgivelser og sikkerhetsoppdateringer fra Apache Development Community.

For å oppdatere apache ved hjelp av APT, skriver du inn følgende:

ubuntu@ubuntu ~: $ sudo apt-get update
ubuntu@ubuntu ~: $ sudo apt-get oppgradering

Deaktiver server signatur

Standardkonfigurasjonen av en Apache -server utsetter mange detaljer om serveren og dens innstillinger. For eksempel aktivert serversignatur- og servertokens -direktiver i/etc/apache2/apache2.Conf File Legg til en ekstra overskrift til HTTP -responsen som utsetter potensielt sensitiv informasjon. Denne informasjonen inkluderer serverinnstillingsdetaljer, for eksempel serverversjon og hosting OS, som kan hjelpe angriperen med rekognoseringsprosessen. Du kan deaktivere disse direktivene ved å redigere Apache2.Conf -fil via VIM/Nano og legg til følgende direktiv:

ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.konf
... Snip ..
Serveresignatur av
... Snip ..
Servertokens prod
... Snip ..

Start Apache på nytt for å oppdatere endringene.

Deaktiver serverkatalogoppføringer

Katalogoppføringene viser alt innhold som er lagret i rotmappen eller underkatalogene. Katalogfilene kan inneholde sensitiv informasjon som ikke er beregnet på offentlig visning, for eksempel PHP -skript, konfigurasjonsfiler, filer som inneholder passord, logger osv.
For å ikke tillate katalogoppføringer, endre Apache Server -konfigurasjonsfilen ved å redigere Apache2.Conf -fil som:

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

Alternativer -indekser

... Snip ..

ELLER

... Snip ..

Alternativer -indekser

... Snip ..

Du kan også legge til dette direktivet i .Htaccess -filen til hovednettstedskatalogen.

Beskytt systeminnstillinger

De .HTaCcess -filen er en praktisk og kraftig funksjon som tillater konfigurasjon utenfor hoved Apache2.Conf -fil. I tilfeller der en bruker kan laste opp filer til serveren, kan dette imidlertid utnyttes av en angriper for å laste opp hans eller hennes egen ".htaccess ”-fil med ondsinnede konfigurasjoner. Så hvis du ikke bruker denne funksjonen, kan du deaktivere .Htaccess -direktiv, i.e.:

ubuntu@ubuntu ~: $ sudo vim/etc/apache2/apache2.konf
... Snip ..
#AccessFilename .Htaccess
... Snip ..

ELLER
Deaktiver .Htaccess -fil bortsett fra de spesifikt aktiverte katalogene ved å redigere Apache2.Conf File and Turning AllowOverride -direktivet til ingen;

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

Tillat ingen

... Snip ..

Sikre kataloger med autentisering

Du kan opprette brukeropplysninger for å beskytte alle eller noen av katalogene ved hjelp av HTPasswd -verktøyet. Gå til servermappen din og bruk følgende kommando til å opprette en .htpasswd -fil for å lagre passord hashes for legitimasjonene som er tilordnet, for eksempel, en bruker som heter Dev.

ubuntu@ubuntu ~: $ sudo htpasswd -c/etc/apache2/-htpasswd dev

Kommandoen ovenfor vil be om det nye bekreftelsespassordet. Du kan se katten ./htpasswd -fil for å sjekke hasj for den lagrede brukeropplysning.

Nå kan du automatisk angi konfigurasjonsfilen i din_website -katalogen du trenger å beskytte ved å endre .Htaccess -fil. Bruk følgende kommando og direktiver for å aktivere autentisering:

ubuntu@ubuntu ~: $ sudo nano/var/www/your_website/.Htaccess
... Snip ..
AuthType Basic
Authname "Legg til dialogrommet"
AuthUserFile/etc/apache2/user_name/domain_name/.htpasswd
Krever gyldig bruker
... Snip ..

Husk å legge til banen i henhold til din.

Kjør nødvendige moduler

Standard Apache -konfigurasjon inkluderer aktiverte moduler som du kanskje ikke engang trenger. Disse forhåndsinstallerte modulene åpner dører for apache-sikkerhetsproblemer som enten allerede eksisterer eller kan eksistere i fremtiden. For å deaktivere alle disse modulene, må du først forstå hvilke moduler som kreves for en jevn funksjon av webserveren din. For dette formålet, sjekk ut Apache -moduldokumentasjonen som dekker alle tilgjengelige moduler.

Bruk deretter følgende kommando for å finne ut hvilke moduler som kjører på serveren din.

ubuntu@ubuntu ~: $ sudo ls/etc/apache2/mods-aktivert

Apache kommer med den kraftige A2Dismod -kommandoen for å deaktivere modulen. Det forhindrer å laste modulen og ber deg om en advarsel når du deaktiverer modulen om at handlingen kan påvirke serveren din negativt.

ubuntu@ubuntu ~: $ sudo a2dismod module_name

Du kan også deaktivere modulen ved å kommentere i LoadModule -linjen.

Forhindre sakte Loris og DOS -angrep

Standardinstallasjonen av en Apache -server tvinger den til å vente på forespørsler fra klienter for lenge, noe som utsetter serveren for å bremse Loris og DOS -angrep. Apache2.Conf Configuration File gir et direktiv som du kan bruke for å senke tidsavbruddsverdien til noen sekunder for å forhindre denne typen angrep, i.e.:

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

Dessuten kommer den nye Apache -serveren med en hendig modul MOD_REQTITIONOUT som gir et direktiv RequestReadTimeout for å sikre serveren fra uekte forespørsler. Dette direktivet kommer med noen få vanskelige konfigurasjoner, slik at du kan lese den relaterte informasjonen som er tilgjengelig på dokumentasjonssiden.

Deaktiver unødvendige HTTP -forespørsler

Ubegrenset HTTP/HTTPS -forespørsler kan også føre til lav serverytelse eller et DOS -angrep. Du kan begrense mottak av HTTP-forespørsler per-Directory ved å bruke LimitRequestBody til mindre enn 100K. For eksempel, for å opprette et direktiv for mappen/var/www/your_website, kan du legge til LimitRequestBody -direktivet nedenfor tillate overføring alle, i.e.:

... Snip ..

Alternativer -indekser
TillatRide alle
LimitRequestBody 995367

... Snip ..

Merk: Husk å starte Apache på nytt etter de påførte endringene for å oppdatere den deretter.

Konklusjon

Standardinstallasjonen av Apache -serveren kan gi rikelig med sensitiv informasjon for å hjelpe angripere i et angrep. I mellomtiden er det mange andre måter (ikke oppført ovenfor) for å sikre Apache -webserveren også. Fortsett å forske og holde deg oppdatert om nye direktiver og moduler for å sikre serveren din videre.