Apache HTTP

Sådan sikres din Apache-server

Sådan sikres din Apache-server
Apache er en populær open source-webserver, der er tilgængelig til både Linux- og Windows-systemer. Det giver mulighed for konfiguration af en række forskellige brugssager, fra HTML-websider til HyperText Preprocessor (PHP) dynamisk webapplikationsindhold.Apache giver en sikker og robust platform til at implementere dine webapplikationer. Det er dog stadig vigtigt at installere de nyeste sikkerhedsrettelser og konfigurere serveren korrekt til at skabe et sikkert miljø til dine webapplikationer.
I denne artikel finder du nogle tip og tricks til at styrke dine Apache Web Server-konfigurationer og forbedre den generelle sikkerhed.

Ikke-privilegeret brugerkonto

Formålet med en ikke-rod eller uprivilegeret brugerkonto er at begrænse brugeren fra unødvendig adgang til bestemte opgaver i et system. I forbindelse med en Apache-webserver betyder det, at den skal fungere i et begrænset miljø med kun de nødvendige tilladelser. Som standard kører Apache med daemon-konto privilegier. Du kan oprette en separat ikke-root-brugerkonto for at undgå trusler i tilfælde af sikkerhedssårbarheder.

Desuden, hvis apache2 og MySQL er under de samme brugeroplysninger, vil ethvert problem i processen med en gangstjeneste have en indvirkning på den anden. For at ændre bruger- og gruppeprivilegierne til webserveren skal du gå til / etc / apache2, åbne fil-envvars og indstille brugeren og gruppen til en ny ikke-privilegeret kontobruger, sige "apache" og gemme filen.

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

Du kan også bruge følgende kommando til at ændre ejerskabet af installationsmappen til den nye ikke-root-bruger.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Udsted følgende kommando for at gemme ændringerne:
ubuntu @ ubuntu ~: $ sudo service apache2 genstart

Hold Apache opdateret

Apache er berømt for at levere en sikker platform med et meget bekymret udviklerfællesskab, der sjældent står over for sikkerhedsfejl. Ikke desto mindre er det normalt at opdage problemer, når softwaren er frigivet. Derfor er det vigtigt at holde webserveren opdateret for at benytte de nyeste sikkerhedsfunktioner. Det tilrådes også at følge Apache Server-meddelelseslisterne for at holde dig opdateret om nye meddelelser, frigivelser og sikkerhedsopdateringer fra Apache-udviklingssamfundet.

For at opdatere din apache ved hjælp af apt skal du skrive følgende:

ubuntu @ ubuntu ~: $ sudo apt-get opdatering
ubuntu @ ubuntu ~: $ sudo apt-get opgradering

Deaktiver serversignatur

Standardkonfigurationen af ​​en Apache Server afslører mange detaljer om serveren og dens indstillinger. For eksempel aktiverede direktiver ServerSignature og ServerTokens i / etc / apache2 / apache2.conf-fil tilføj en ekstra overskrift til HTTP-svaret, der udsætter potentielt følsomme oplysninger. Disse oplysninger inkluderer oplysninger om serverindstillinger, såsom serverversion og hosting OS, der kan hjælpe angriberen med rekognosceringsprocessen. Du kan deaktivere disse direktiver ved at redigere apache2.conf-fil via vim / nano og tilføj følgende direktiv:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... klip ..
Serversignatur slået fra
... klip ..
ServerTokens Prod
... klip ..

Genstart Apache for at opdatere ændringerne.

Deaktiver listen over serverkataloger

Katalogoversigterne viser alt indhold, der er gemt i rodmappen eller underkatalogerne. Mappefilerne kan omfatte følsomme oplysninger, der ikke er beregnet til offentlig visning, såsom PHP-scripts, konfigurationsfiler, filer, der indeholder adgangskoder, logfiler osv.
For at afvise katalogoversigter skal du ændre konfigurationsfilen til Apache-serveren ved at redigere apache2.conf-fil som:

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

Valgmuligheder -Indexer

... klip ..

ELLER

... klip ..

Valgmuligheder -Indexer

... klip ..

Du kan også tilføje dette direktiv i .htaccess-fil i dit hovedwebsite-bibliotek.

Beskyt systemindstillinger

Det .htaccess-filen er en praktisk og kraftfuld funktion, der tillader konfiguration uden for hovedapache2.conf-fil. I tilfælde, hvor en bruger kan uploade filer til serveren, kan dette imidlertid udnyttes af en angriber til at uploade sin egen “.htaccess ”-fil med ondsindede konfigurationer. Så hvis du ikke bruger denne funktion, kan du deaktivere .htaccess-direktivet, i.e.:

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

ELLER
Deaktiver .htaccess-fil undtagen de specifikt aktiverede mapper ved at redigere apache2.conf-fil og drejer AllowOverRide-direktivet til Ingen;

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

AllowOverride Ingen

... klip ..

Sikker mapper med godkendelse

Du kan oprette brugeroplysninger for at beskytte alle eller nogle af mapperne ved hjælp af htpasswd-værktøjet. Gå til din servermappe, og brug følgende kommando til at oprette en .htpasswd-fil til at gemme adgangskodehash for de legitimationsoplysninger, der er tildelt f.eks. en bruger ved navn dev.

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

Ovenstående kommando beder om den nye adgangskode og adgangskodebekræftelse. Du kan se katten ./ htpasswd-fil for at kontrollere hash for de gemte brugeroplysninger.

Nu kan du automatisk indstille konfigurationsfilen i dit_website-bibliotek, du skal beskytte ved at ændre .htaccess-fil. Brug følgende kommando og direktiver for at aktivere godkendelse:

ubuntu @ ubuntu ~: $ sudo nano / var / www / din_website /.htaccess
... klip ..
AuthType Basic
AuthName "Tilføj dialogen"
AuthUserFile / etc / apache2 / user_name / domain_name /.htpasswd
Kræver gyldig bruger
... klip ..

Husk at tilføje stien i henhold til din.

Kør nødvendige moduler

Standard Apache-konfigurationen inkluderer aktiverede moduler, som du muligvis ikke engang har brug for. Disse forudinstallerede moduler åbner døre for Apache-sikkerhedsproblemer, der enten allerede findes eller kan eksistere i fremtiden. For at deaktivere alle disse moduler skal du først forstå, hvilke moduler der kræves for at din webserver fungerer korrekt. Til dette formål skal du tjekke dokumentationen til apache-modulet, der dækker alle tilgængelige moduler.

Brug derefter følgende kommando til at finde ud af, hvilke moduler der kører på din server.

[e-mailbeskyttet] ~: $ sudo ls / etc / apache2 / mods-aktiveret

Apache leveres med den kraftfulde a2dismod-kommando til at deaktivere modulet. Det forhindrer indlæsning af modulet og beder dig om en advarsel, når du deaktiverer modulet, om at handlingen kan påvirke din server negativt.

[e-mail-beskyttet] ~: $ sudo a2dismod modulnavn

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

Undgå langsom Loris og DoS Attack

Standardinstallationen af ​​en Apache-server tvinger den til at vente på anmodninger fra klienter for længe, ​​hvilket udsætter serveren for langsomme Loris- og DoS-angreb. Apache2.conf konfigurationsfil giver et direktiv, som du kan bruge til at sænke timeoutværdien til et par sekunder for at forhindre disse typer angreb, i.e.:

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

Desuden leveres den nye Apache-server med et praktisk modul mod_reqtimeout, der giver et direktiv RequestReadTimeout for at sikre serveren mod ulovlige anmodninger. Dette direktiv leveres med et par vanskelige konfigurationer, så du kan læse de relaterede oplysninger, der er tilgængelige på dokumentationssiden.

Deaktiver unødvendige HTTP-anmodninger

Ubegrænset HTTP / HTTPS-anmodninger kan også føre til lav serverydelse eller et DoS-angreb. Du kan begrænse modtagelse af HTTP-anmodninger pr. Bibliotek ved at bruge LimitRequestBody til mindre end 100K. For eksempel, for at oprette et direktiv til mappen / var / www / dit_website, kan du tilføje LimitRequestBody-direktivet nedenfor AllowOverride All, i.e.:

... klip ..

Valgmuligheder -Indexer
AllowOverride All
LimitRequestBody 995367

... klip ..

Bemærk: Husk at genstarte Apache efter de anvendte ændringer for at opdatere den i overensstemmelse hermed.

Konklusion

Standardinstallationen af ​​Apache-serveren kan levere masser af følsomme oplysninger til at hjælpe angribere i et angreb. I mellemtiden er der også mange andre måder (ikke angivet ovenfor) for at sikre Apache-webserveren. Fortsæt med at undersøge og holde dig opdateret om nye direktiver og moduler for at sikre din server yderligere.

Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....
Bedste spil at spille med håndsporing
Oculus Quest introducerede for nylig den gode idé om håndsporing uden controllere. Med et stadigt stigende antal spil og aktiviteter, der udfører supp...
Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...