Apache HTTP

Kako zavarovati strežnik Apache

Kako zavarovati strežnik Apache
Apache je priljubljen odprtokodni spletni strežnik, ki je na voljo tako za sisteme Linux kot Windows. Omogoča konfiguracijo za različne primere uporabe, od spletnih strani HTML do dinamične vsebine spletnih aplikacij HyperText Preprocessor (PHP).Apache ponuja varno in trdno platformo za uvajanje vaših spletnih aplikacij. Še vedno pa je pomembno, da namestite najnovejše varnostne popravke in pravilno konfigurirate strežnik, da vzpostavite varno okolje za vaše spletne aplikacije.
V tem članku najdete nekaj nasvetov in trikov za izboljšanje konfiguracije spletnega strežnika Apache in izboljšanje splošne varnosti.

Neprivilegirani uporabniški račun

Namen nekorenskega ali neprivilegiranega uporabniškega računa je uporabniku omejiti nepotreben dostop do nekaterih nalog v sistemu. V kontekstu spletnega strežnika Apache to pomeni, da bi moral delovati v omejenem okolju z le potrebnimi dovoljenji. Apache privzeto deluje s privilegiji računa demona. Ustvarite lahko ločen nekorenski uporabniški račun, da se izognete grožnjam v primeru varnostnih ranljivosti.

Poleg tega, če imata apache2 in MySQL isti uporabniški poverilnici, bo katera koli težava v procesu enkratne storitve vplivala na drugo. Če želite spremeniti pravice uporabnika in skupine za spletni strežnik, pojdite na / etc / apache2, odprite datoteko envvars in nastavite uporabnika in skupino na novega neprivilegiranega uporabnika računa, recimo »apache« in shranite datoteko.

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

Z naslednjim ukazom lahko tudi spremenite lastništvo namestitvenega imenika na novega nekorenskega uporabnika.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Za shranjevanje sprememb izdajte naslednji ukaz:
ubuntu @ ubuntu ~: $ sudo service apache2 restart

Redno posodabljajte Apache

Apache je znan po tem, da zagotavlja varno platformo z zelo zaskrbljeno skupnostjo razvijalcev, ki se redko sooča z kakršnimi koli varnostnimi napakami. Kljub temu je normalno, da težave odkrijemo po sprostitvi programske opreme. Zato je nujno, da spletni strežnik redno posodablja, da izkoristi najnovejše varnostne funkcije. Priporočljivo je tudi, da upoštevate sezname obvestil strežnika Apache, da se sproti obveščate o novih obvestilih, izdajah in varnostnih posodobitvah razvojne skupnosti Apache.

Če želite posodobiti svoj apache s pomočjo apt, vnesite naslednje:

ubuntu @ ubuntu ~: posodobitev $ sudo apt-get
ubuntu @ ubuntu ~: $ sudo apt-get nadgradnja

Onemogoči podpis strežnika

Privzeta konfiguracija strežnika Apache razkriva veliko podrobnosti o strežniku in njegovih nastavitvah. Na primer, omogočeni direktivi ServerSignature in ServerTokens v / etc / apache2 / apache2.conf datoteki HTTP Response dodajte dodatno glavo, ki razkrije potencialno občutljive podatke. Te informacije vključujejo podrobnosti o nastavitvah strežnika, kot sta različica strežnika in OS za gostovanje, ki lahko napadalcu pomagajo pri izvidniškem procesu. Te direktive lahko onemogočite z urejanjem apache2.conf preko vim / nano in dodajte naslednjo direktivo:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.conf
... odreži ..
ServerSignature Off
... odreži ..
ServerTokens Prod
... odreži ..

Znova zaženite Apache, da posodobite spremembe.

Onemogoči sezname imenikov strežnikov

Seznam imenikov prikazuje vso vsebino, shranjeno v korenski mapi ali podimenikih. Datoteke imenikov lahko vključujejo občutljive podatke, ki niso namenjeni javnemu prikazu, na primer skripte PHP, konfiguracijske datoteke, datoteke z gesli, dnevniki itd.
Če želite zavrniti seznam imenikov, spremenite konfiguracijsko datoteko strežnika Apache z urejanjem apache2.conf datoteka kot:

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

Možnosti -Indeksi

... odreži ..

ALI

... odreži ..

Možnosti - Indeksi

... odreži ..

To direktivo lahko dodate tudi v .htaccess datoteka glavnega imenika spletnega mesta.

Zaščitite sistemske nastavitve

The .Datoteka htaccess je priročna in zmogljiva funkcija, ki omogoča konfiguracijo zunaj glavnega apache2.conf. V primerih, ko lahko uporabnik naloži datoteke na strežnik, lahko napadalec to izkoristi, da naloži svoje “.htaccess ”z zlonamernimi konfiguracijami. Če torej ne uporabljate te funkcije, lahko onemogočite .htaccess direktiva, tj.e.:

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

ALI
Onemogoči .htaccess, razen posebej omogočenih imenikov z urejanjem apache2.conf datoteko in pretvorbo direktive AllowOverRide v None;

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

AllowOverride Brez

... odreži ..

Zaščitite imenike z overjanjem

Uporabniške poverilnice lahko ustvarite za zaščito vseh ali nekaterih imenikov s pomočjo pripomočka htpasswd. Pojdite v mapo strežnika in z naslednjim ukazom ustvarite datoteko .htpasswd za shranjevanje zgoščenih gesel za poverilnice, dodeljene recimo uporabniku z imenom dev.

[zaščiteno po e-pošti] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd dev

Zgornji ukaz bo zahteval novo geslo in potrditev gesla. Mačko si lahko ogledate ./ htpasswd, da preveri zgoščenost shranjenih uporabniških poverilnic.

Zdaj lahko samodejno nastavite konfiguracijsko datoteko v imeniku vaše_spletne strani, ki ga želite zaščititi s spreminjanjem datoteke .datoteka htaccess. Za omogočanje preverjanja pristnosti uporabite naslednje ukaze in direktive:

ubuntu @ ubuntu ~: $ sudo nano / var / www / your_website /.htaccess
... odreži ..
AuthType Basic
AuthName "Dodaj poziv za pogovorno okno"
AuthUserFile / etc / apache2 / uporabniško_ime / ime_domene /.htpasswd
Zahtevaj veljavnega uporabnika
... odreži ..

Ne pozabite dodati poti po svoji.

Zaženite potrebne module

Privzeta konfiguracija Apache vključuje omogočene module, ki jih morda niti ne potrebujete. Ti vnaprej nameščeni moduli odpirajo vrata varnostnim vprašanjem Apache, ki že obstajajo ali pa obstajajo v prihodnosti. Če želite onemogočiti vse te module, morate najprej razumeti, kateri moduli so potrebni za nemoteno delovanje vašega spletnega strežnika. V ta namen si oglejte dokumentacijo modula apache, ki zajema vse razpoložljive module.

Nato z naslednjim ukazom ugotovite, kateri moduli se izvajajo na vašem strežniku.

[e-pošta zaščitena] ~: $ sudo ls / etc / apache2 / mods-enabled

Apache ima zmogljiv ukaz a2dismod za onemogočanje modula. Preprečuje nalaganje modula in vas pri onemogočanju modula opozori, da lahko dejanje negativno vpliva na vaš strežnik.

[email protected] ~: $ sudo a2dismod module_name

Modul lahko onemogočite tudi s komentarjem v vrstici LoadModule.

Preprečite počasen napad Lorisa in DoS

Privzeta namestitev strežnika Apache ga prisili, da predolgo čaka na zahteve strank, kar strežnik podvrže počasnim napadom Loris in DoS. Apache2.konfiguracijska datoteka conf vsebuje direktivo, s katero lahko časovno omejitev znižate na nekaj sekund, da preprečite tovrstne napade, tj.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.conf
Časovna omejitev 60

Poleg tega ima novi strežnik Apache priročen modul mod_reqtimeout, ki zagotavlja direktivo RequestReadTimeout za zaščito strežnika pred nezakonitimi zahtevami. Ta direktiva vsebuje nekaj zapletenih konfiguracij, tako da lahko preberete povezane informacije, ki so na voljo na strani z dokumentacijo.

Onemogočite nepotrebne zahteve HTTP

Neomejene zahteve HTTP / HTTPS lahko vodijo tudi do nizke zmogljivosti strežnika ali napada DoS. Prejemanje zahtev HTTP na imenik lahko omejite z uporabo funkcije LimitRequestBody na manj kot 100K. Če želite na primer ustvariti direktivo za mapo / var / www / your_website, lahko pod AllowOverride All, i, dodate direktivo LimitRequestBody.e.:

... odreži ..

Možnosti -Indeksi
AllowOverride All
LimitRequestBody 995367

... odreži ..

Opomba: Ne pozabite znova zagnati Apache po uveljavljenih spremembah, da ga ustrezno posodobite.

Zaključek

Privzeta namestitev strežnika Apache lahko zagotovi veliko občutljivih informacij za pomoč napadalcem v napadu. Medtem obstaja še veliko drugih načinov (ki niso navedeni zgoraj), da zaščitite tudi spletni strežnik Apache. Nadaljujte z raziskovanjem in sprotnim obveščanjem o novih direktivah in modulih za nadaljnjo zaščito strežnika.

Posnemajte klike miške tako, da v Windows 10 lebdite z miško Clickless Mouse
Uporaba miške ali tipkovnice v napačni drži čezmerne uporabe lahko povzroči veliko zdravstvenih težav, vključno s sevom, sindromom karpalnega kanala i...
S temi brezplačnimi orodji dodajte gibe miške v sistem Windows 10
V zadnjih letih so se računalniki in operacijski sistemi močno razvili. Včasih so morali uporabniki uporabljati ukaze za krmarjenje po upraviteljih da...
Nadzirajte in upravljajte gibanje miške med več monitorji v sistemu Windows 10
Upravitelj miške z dvojnim zaslonom vam omogoča nadzor in konfiguriranje gibanja miške med več monitorji, tako da upočasni gibanje blizu meje. Windows...