Apache HTTP

Kako osigurati svoj Apache poslužitelj

Kako osigurati svoj Apache poslužitelj
Apache je popularni web poslužitelj otvorenog koda dostupan i za Linux i za Windows sustave. Omogućuje konfiguraciju za raznolike slučajeve upotrebe, od HTML web stranica do dinamičkog sadržaja web aplikacija HyperText Preprocessor (PHP).Apache pruža sigurnu i robusnu platformu za postavljanje vaših web aplikacija. Međutim, još uvijek je važno instalirati najnovije sigurnosne zakrpe i pravilno konfigurirati poslužitelj kako biste uspostavili sigurno okruženje za vaše web aplikacije.
U ovom ćete članku pronaći nekoliko savjeta i trikova za jačanje vaših konfiguracija Apache web poslužitelja i poboljšanje opće sigurnosti.

Neprivilegirani korisnički račun

Svrha korisničkog računa koji nije root ili koji nije privilegiran je ograničiti korisnika od nepotrebnog pristupa određenim zadacima unutar sustava. U kontekstu Apache web poslužitelja to znači da bi trebao raditi u ograničenom okruženju sa samo potrebnim dozvolama. Prema zadanim postavkama Apache radi s privilegijama daemon računa. Možete stvoriti zasebni nekorijenski korisnički račun kako biste izbjegli prijetnje u slučaju sigurnosnih ranjivosti.

Nadalje, ako su apache2 i MySQL pod istim vjerodajnicama, bilo koji problem u procesu jednom pružanja usluge imat će utjecaja na drugi. Da biste promijenili privilegije korisnika i grupe za web poslužitelj, idite na / etc / apache2, otvorite datoteku envvars i postavite korisnika i grupu na novog neprivilegiranog korisnika računa, recimo "apache" i spremite datoteku.

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / envvars
... odreži ..
izvoz APACHE_RUN_USER = apache
izvoz APACHE_RUN_GROUP = apache
... odreži ..

Sljedeću naredbu možete koristiti i za promjenu vlasništva instalacijskog direktorija u novog nekorenskog korisnika.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Za spremanje promjena izdajte sljedeću naredbu:
ubuntu @ ubuntu ~: $ sudo usluga apache2 restart

Redovito ažurirajte Apache

Apache je poznat po tome što pruža sigurnu platformu sa zabrinutom zajednicom programera koja se rijetko suočava s bilo kakvim sigurnosnim pogreškama. Ipak, normalno je otkrivati ​​probleme kada se softver izda. Stoga je neophodno redovito ažurirati web poslužitelj kako bi koristio najnovije sigurnosne značajke. Također se savjetuje da slijedite popise najava Apache poslužitelja kako biste se informirali o novim najavama, izdanjima i sigurnosnim ažuriranjima razvojne zajednice Apache.

Da biste ažurirali svoj apache pomoću apt, upišite sljedeće:

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

Onemogućite potpis poslužitelja

Zadana konfiguracija Apache poslužitelja otkriva puno detalja o poslužitelju i njegovim postavkama. Na primjer, omogućene smjernice ServerSignature i ServerTokens u / etc / apache2 / apache2.conf datoteci dodajte dodatno zaglavlje u HTTP odgovor koje izlaže potencijalno osjetljive informacije. Te informacije uključuju detalje o postavkama poslužitelja, poput verzije poslužitelja i OS-a za hosting, koji napadaču mogu pomoći u procesu izviđanja. Te smjernice možete onemogućiti uređivanjem apache2.conf datoteku putem vim / nano i dodajte sljedeću direktivu:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... odreži ..
Potpis poslužitelja isključen
... odreži ..
ServerTokens Prod
... odreži ..

Ponovo pokrenite Apache da biste ažurirali promjene.

Onemogućite popise direktorija poslužitelja

Popisi direktorija prikazuju sav sadržaj spremljen u korijenskoj mapi ili poddirektorijima. Datoteke direktorija mogu sadržavati osjetljive podatke koji nisu namijenjeni javnom prikazivanju, kao što su PHP skripte, konfiguracijske datoteke, datoteke koje sadrže lozinke, zapisnike itd.
Da biste onemogućili popise direktorija, promijenite konfiguracijsku datoteku Apache poslužitelja uređivanjem apache2.conf datoteka kao:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... odreži ..

Opcije -Indeksi

... odreži ..

ILI

... odreži ..

Opcije -Indeksi

... odreži ..

Ovu direktivu možete dodati i u .htaccess datoteku vašeg glavnog direktorija web mjesta.

Zaštitite postavke sustava

The .Datoteka htaccess prikladna je i moćna značajka koja omogućuje konfiguraciju izvan glavnog apache2.conf datoteka. Međutim, u slučajevima kada korisnik može prenijeti datoteke na poslužitelj, napadač to može iskoristiti za prijenos vlastitih “.htaccess ”datoteka sa zlonamjernim konfiguracijama. Dakle, ako ne koristite ovu značajku, možete onemogućiti .htaccess direktiva, tj.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... odreži ..
#AccessFileName .htaccess
... odreži ..

ILI
Onemogući .htaccess datoteku, osim posebno omogućenih direktorija uređivanjem apache2.conf datoteku i pretvaranje AllowOverRide direktive u None;

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... odreži ..

AllowOverride None

... odreži ..

Osigurajte direktorije s autentifikacijom

Pomoću uslužnog programa htpasswd možete stvoriti vjerodajnice korisnika kako biste zaštitili sve ili neke direktorije. Idite u mapu poslužitelja i upotrijebite sljedeću naredbu za stvaranje a .htpasswd datoteka za pohranu raspršenih lozinki za vjerodajnice dodijeljene, recimo, korisniku pod imenom dev.

[zaštićena e-poštom] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd dev

Gornja naredba tražit će novu lozinku i potvrdu lozinke. Možete vidjeti mačku ./ htpasswd datoteka za provjeru hasha za pohranjene vjerodajnice korisnika.

Sada možete automatski postaviti konfiguracijsku datoteku u direktorij your_website koji trebate zaštititi mijenjanjem .htaccess datoteka. Upotrijebite sljedeće naredbe i smjernice da omogućite provjeru autentičnosti:

ubuntu @ ubuntu ~: $ sudo nano / var / www / your_website /.htaccess
... odreži ..
AuthType Basic
AuthName "Dodaj upit dijaloga"
AuthUserFile / etc / apache2 / korisničko ime / ime_domene /.htpasswd
Zahtijevaj valjanog korisnika
... odreži ..

Ne zaboravite dodati stazu prema vašoj.

Pokrenite potrebne module

Zadana konfiguracija Apache uključuje omogućene module koji vam možda neće trebati. Ovi unaprijed instalirani moduli otvaraju vrata Apacheovim sigurnosnim problemima koji ili već postoje ili mogu postojati u budućnosti. Da biste onemogućili sve ove module, prvo morate razumjeti koji su moduli potrebni za nesmetano funkcioniranje vašeg web poslužitelja. U tu svrhu pogledajte dokumentaciju apache modula koja pokriva sve dostupne module.

Dalje, upotrijebite sljedeću naredbu da biste utvrdili koji se moduli izvode na vašem poslužitelju.

[zaštićen e-poštom] ~: $ sudo ls / etc / apache2 / mods-enabled

Apache dolazi s moćnom naredbom a2dismod za onemogućavanje modula. Sprječava učitavanje modula i pri onemogućavanju modula traži upozorenje da radnja može negativno utjecati na vaš poslužitelj.

[e-pošta zaštićena] ~: $ sudo a2dismod ime_modula

Modul također možete onemogućiti komentiranjem u retku LoadModule.

Spriječite usporeni Loris i DoS napad

Zadana instalacija Apache poslužitelja prisiljava ga da predugo čeka zahtjeve klijenata, što podvrgava poslužitelj Slow Lorisu i DoS napadima. Apache2.konfiguracijska datoteka conf pruža direktivu pomoću koje možete smanjiti vrijednost vremenskog ograničenja na nekoliko sekundi kako biste spriječili ove vrste napada, tj.e.:

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

Osim toga, novi Apache poslužitelj dolazi sa praktičnim modulom mod_reqtimeout koji pruža direktivu RequestReadTimeout za zaštitu poslužitelja od nelegitimnih zahtjeva. Ova se direktiva isporučuje s nekoliko nezgodnih konfiguracija, tako da povezane informacije dostupne na stranici s dokumentacijom možete pročitati.

Onemogućite nepotrebne HTTP zahtjeve

Neograničeni HTTP / HTTPS zahtjevi također mogu dovesti do slabih performansi poslužitelja ili DoS napada. Primanje HTTP zahtjeva po direktoriju možete koristiti LimitRequestBody na manje od 100K. Na primjer, da biste kreirali direktivu za mapu / var / www / your_website, možete dodati direktivu LimitRequestBody ispod AllowOverride All, i.e.:

... odreži ..

Opcije -Indeksi
AllowOverride All
LimitRequestBody 995367

... odreži ..

Napomena: Ne zaboravite ponovno pokrenuti Apache nakon primijenjenih promjena kako biste ga ažurirali u skladu s tim.

Zaključak

Zadana instalacija Apache poslužitelja može pružiti obilje osjetljivih informacija za pomoć napadačima u napadu. U međuvremenu postoji mnogo drugih načina (koji nisu gore navedeni) kako biste osigurali i web poslužitelj Apache. Nastavite istraživati ​​i redovno se informirati o novim smjernicama i modulima kako biste dodatno zaštitili svoj poslužitelj.

Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...