Apache HTTP

Hvordan sikre Apache-serveren din

Hvordan sikre Apache-serveren din
Apache er en populær, åpen kildekodeserver tilgjengelig for både Linux- og Windows-systemer. Det tillater konfigurering for et variert utvalg av brukstilfeller, fra HTML-websider til HyperText Preprocessor (PHP) dynamisk webapplikasjonsinnhold.Apache gir en sikker og robust plattform for å distribuere webapplikasjonene dine. Det er imidlertid fortsatt viktig å installere de nyeste sikkerhetsoppdateringene og konfigurere serveren riktig for å etablere et sikkert miljø for webapplikasjonene dine.
I denne artikkelen finner du noen tips og triks for å styrke Apache Web Server-konfigurasjonene og forbedre den generelle sikkerheten.

Ikke-privilegert brukerkonto

Hensikten med en ikke-rot 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 de nødvendige tillatelsene. Som standard kjører Apache med daemonkontorettigheter. Du kan opprette en egen ikke-rot brukerkonto for å unngå trusler i tilfelle sikkerhetsproblemer.

Videre, hvis apache2 og MySQL er under samme brukerlegitimasjon, vil ethvert problem i prosessen med en gangs tjeneste ha innvirkning på den andre. For å endre bruker- og gruppeprivilegiene for webserveren, gå til / etc / apache2, åpne fil-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-rotbrukeren.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Gi følgende kommando for å lagre endringene:
ubuntu @ ubuntu ~: $ sudo service apache2 start på nytt

Hold Apache oppdatert

Apache er kjent for å tilby en sikker plattform med et svært bekymret utviklermiljø som sjelden møter sikkerhetsfeil. Det er likevel 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 kunngjøringslistene for Apache Server for å holde deg oppdatert om nye kunngjøringer, utgivelser og sikkerhetsoppdateringer fra Apache-utviklingssamfunnet.

For å oppdatere apache ved hjelp av apt, skriv inn følgende:

ubuntu @ ubuntu ~: $ sudo apt-get oppdatering
ubuntu @ ubuntu ~: $ sudo apt-get upgrade

Deaktiver serversignatur

Standardkonfigurasjonen til en Apache-server avslører mange detaljer om serveren og dens innstillinger. For eksempel aktiverte ServerSignature- og ServerTokens-direktiver i / etc / apache2 / apache2.conf-fil legger til en ekstra overskrift i HTTP-svaret som avslører 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 ..
ServerSignature Off
... snip ..
ServerTokens Prod
... snip ..

Start Apache på nytt for å oppdatere endringene.

Deaktiver serverlisteoppføringer

Katalogoppføringene viser alt innhold som er lagret i rotmappen eller underkatalogene. Katalogfilene kan inneholde sensitiv informasjon som ikke er ment for offentlig visning, for eksempel PHP-skript, konfigurasjonsfiler, filer som inneholder passord, logger osv.
For å ikke tillate katalogoppføringer, endre konfigurasjonsfilen til Apache-serveren 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-fil i hovedkatalogen til nettstedet.

Beskytt systeminnstillinger

De .htaccess-filen er en praktisk og kraftig funksjon som gjør det mulig å konfigurere utenfor hovedapache2.conf-fil. I tilfeller der en bruker kan laste opp filer til serveren, kan dette imidlertid utnyttes av en angriper for å laste opp sin egen “.htaccess ”-fil med ondsinnede konfigurasjoner. Så hvis du ikke bruker denne funksjonen, kan du deaktivere .htaccess-direktivet, 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-fil og slå AllowOverRide-direktivet til Ingen;

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

Tillat overstyring Ingen

... snip ..

Sikre kataloger med autentisering

Du kan opprette brukerlegitimasjon for å beskytte alle eller noen av katalogene ved hjelp av htpasswd-verktøyet. Gå til servermappen din og bruk følgende kommando for å opprette en .htpasswd-fil for å lagre passordhash for legitimasjonen som er tildelt, for eksempel en bruker som heter dev.

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

Ovennevnte kommando vil be om det nye passordet og passordbekreftelsen. Du kan se katten ./ htpasswd-fil for å sjekke hash for de lagrede brukerlegitimasjonene.

Nå kan du automatisk konfigurere konfigurasjonsfilen i katalogen din_website 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 dialogboksen"
AuthUserFile / etc / apache2 / user_name / domain_name /.htpasswd
Krev gyldig bruker
... snip ..

Husk å legge til stien 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 at webserveren din skal fungere bra. For dette formålet, sjekk ut apache-moduldokumentasjonen som dekker alle tilgjengelige moduler.

Deretter bruker du følgende kommando for å finne ut hvilke moduler som kjører på serveren din.

[e-postbeskyttet] ~: $ sudo ls / etc / apache2 / mods-aktivert

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

[e-postbeskyttet] ~: $ sudo a2dismod module_name

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

Forhindre Slow Loris og DoS Attack

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

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

Dessuten kommer den nye Apache-serveren med en praktisk modul mod_reqtimeout som gir et direktiv RequestReadTimeout for å sikre serveren mot ugyldige forespørsler. Dette direktivet har noen vanskelige konfigurasjoner, slik at du kan lese ut relatert informasjon tilgjengelig på dokumentasjonssiden.

Deaktiver unødvendige HTTP-forespørsler

Ubegrensede HTTP / HTTPS-forespørsler kan også føre til lav serverytelse eller et DoS-angrep. Du kan begrense mottak av HTTP-forespørsler per katalog ved å bruke LimitRequestBody til mindre enn 100K. For eksempel, for å lage et direktiv for mappen / var / www / your_website, kan du legge til LimitRequestBody-direktivet under AllowOverride All, i.e.:

... snip ..

Alternativer-indekser
AllowOverride All
LimitRequestBody 995367

... snip ..

Merk: Husk å starte Apache på nytt etter de anvendte endringene for å oppdatere den tilsvarende.

Konklusjon

Standardinstallasjonen av Apache-serveren kan levere mye sensitiv informasjon for å hjelpe angripere i et angrep. I mellomtiden er det mange andre måter (ikke oppført ovenfor) for å sikre Apache-webserveren. Fortsett å undersøke og holde deg oppdatert om nye direktiver og moduler for å sikre serveren din ytterligere.

Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...
Gratis og åpen kildekode-spillmotorer for utvikling av Linux-spill
Denne artikkelen vil dekke en liste over gratis og open source-spillmotorer som kan brukes til å utvikle 2D- og 3D-spill på Linux. Det er mange slike ...
Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...