Selles artiklis leiate mõned näpunäited Apache veebiserveri konfiguratsioonide tugevdamiseks ja üldise turvalisuse parandamiseks.
Eelisõigusteta kasutajakonto
Juurteta või privilegeerimata kasutajakonto eesmärk on piirata kasutajate tarbetut juurdepääsu süsteemi teatud ülesannetele. Apache veebiserveri kontekstis tähendab see, et see peaks töötama piiratud keskkonnas ainult vajalike õigustega. Vaikimisi töötab Apache deemonkonto privileegidega. Turvahaavatavuste korral ohtude vältimiseks saate luua eraldi juurkasutajakonto.
Veelgi enam, kui apache2 ja MySQL on samade kasutajakontaktide all, mõjutab üks kord teenuse üks kord probleeme teistega. Veebiserveri kasutaja ja grupiõiguste muutmiseks minge saidile / etc / apache2, avage fail envvars ning määrake kasutaja ja rühm uueks privileegimata konto kasutajaks, öelge: "apache" ja salvestage fail.
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / envvars... jupp ..
eksport APACHE_RUN_USER = apache
eksport APACHE_RUN_GROUP = apache
... jupp ..
Järgmist käsku saate kasutada ka installikataloogi omandilise kuuluvuse muutmiseks uueks mittejuurekasutajaks.
ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2Muudatuste salvestamiseks väljastage järgmine käsk:
ubuntu @ ubuntu ~: $ sudo teenuse apache2 taaskäivitamine
Hoidke Apache'i ajakohasena
Apache on kuulus selle poolest, et pakub turvalise platvormi ülimalt mureliku arendajaskonnaga, kes puutub harva kokku turvavigadega. Sellest hoolimata on probleemide avastamine pärast tarkvara väljaandmist normaalne. Seetõttu on uusimate turvaelementide kasutamiseks hädavajalik veebiserverit ajakohastada. Samuti on soovitatav järgida Apache Serveri teadaannete loendeid, et olla kursis Apache arenduskogukonna uute teadaannetega, väljaannetega ja turvavärskendustega.
Apache'i abil apache värskendamiseks tippige järgmine:
ubuntu @ ubuntu ~: $ sudo apt-get updateubuntu @ ubuntu ~: $ sudo apt-get upgrade
Keela serveri allkiri
Apache Serveri vaikekonfiguratsioon paljastab palju üksikasju serveri ja selle sätete kohta. Näiteks on lubatud kataloogides ServerSignature ja ServerTokens kataloogid / etc / apache2 / apache2.conf-fail lisab HTTP-vastusele täiendava päise, mis paljastab potentsiaalselt tundliku teabe. See teave sisaldab serveri sätete üksikasju, näiteks serveri versiooni ja OS-i majutamist, mis aitab ründajal luureprotsessis kaasa aidata. Saate need direktiivid keelata, muutes apache2.conf-fail vim / nano kaudu ja lisage järgmine direktiiv:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf... jupp ..
Serveri allkiri on väljas
... jupp ..
ServerTokens Prod
... jupp ..
Muudatuste värskendamiseks taaskäivitage Apache.
Keela serverikataloogi loendid
Kataloogide loendites kuvatakse kogu juurkausta või alamkataloogidesse salvestatud sisu. Kataloogifailid võivad sisaldada tundlikku teavet, mis pole mõeldud avalikuks kuvamiseks, näiteks PHP-skripte, konfiguratsioonifaile, paroole sisaldavaid faile, logisid jne.
Kataloogide loendite keelamiseks muutke Apache serveri konfiguratsioonifaili, muutes apache2.conf-fail järgmiselt:
... jupp ..
Valikud -indeksid
... jupp ..
VÕI
... jupp ..Valikud -indeksid
... jupp ..
Selle direktiivi saate lisada ka .teie peamise veebisaidi kataloogi htaccess-fail.
Kaitske süsteemi seadeid
The .htaccess-fail on mugav ja võimas funktsioon, mis võimaldab seadistamist väljaspool peamist apache2.konf fail. Kuid kui kasutaja saab faile serverisse üles laadida, saab ründaja seda omaenda üleslaadimiseks kasutada.htaccess ”fail pahatahtlike konfiguratsioonidega. Nii et kui te seda funktsiooni ei kasuta, võite selle keelata .htepääsudirektiiv, st.e.:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf... jupp ..
#AccessFileName .htaccess
... jupp ..
VÕI
Keela .htaccess-fail, välja arvatud spetsiaalselt lubatud kataloogid, muutes apache2.conf-fail ja direktiivi AllowOverRide muutmine olekuks Puudub;
... jupp ..
AllowOverride Puudub
... jupp ..
Turvalised kataloogid autentimisega
Kõigi või mõne kataloogi kaitsmiseks saate luua kasutaja mandaatide, kasutades utiliiti htpasswd. Minge oma serveri kausta ja kasutage a loomiseks järgmist käsku .htpasswd fail, mis salvestab näiteks dev-nimelise kasutaja jaoks määratud mandaatide parooliräsi.
[meiliga kaitstud] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd devÜlaltoodud käsk küsib uut parooli ja parooli kinnitamist. Saate kassi vaadata ./ htpasswd fail, et kontrollida salvestatud kasutaja mandaatide räsi.
Nüüd saate seadistustefaili automaatselt seada oma saidi kataloogis, mida peate kaitsma, muutes faili .htaccess-fail. Autentimise lubamiseks kasutage järgmisi käske ja direktiive:
ubuntu @ ubuntu ~: $ sudo nano / var / www / sinu_veebisait /.htaccess... jupp ..
AuthType Basic
AuthName "Lisa dialoogi viip"
AuthUserFile / etc / apache2 / kasutajanimi / domeeninimi /.htpasswd
Nõua kehtivat kasutajat
... jupp ..
Ärge unustage lisada rada vastavalt oma.
Käivitage vajalikud moodulid
Apache vaikekonfiguratsioon sisaldab lubatud mooduleid, mida te võib-olla isegi ei vaja. Need eelinstallitud moodulid avavad uksi Apache'i turbeprobleemide jaoks, mis on juba olemas või võivad tulevikus olemas olla. Kõigi nende moodulite keelamiseks peate kõigepealt mõistma, millised moodulid on vajalikud teie veebiserveri tõrgeteta toimimiseks. Selleks tutvuge apache moodulite dokumentatsiooniga, mis hõlmab kõiki saadaolevaid mooduleid.
Järgmisena kasutage järgmist käsku, et teada saada, millised moodulid teie serveris töötavad.
[meiliga kaitstud] ~: $ sudo ls / etc / apache2 / mods-enabledApache'il on mooduli keelamiseks võimas käsk a2dismod. See takistab mooduli laadimist ja küsib mooduli keelamisel hoiatust, et toiming võib teie serverit negatiivselt mõjutada.
[meiliga kaitstud] ~: $ sudo a2dismod mooduli_nimiSamuti saate mooduli keelata, kommenteerides rida LoadModule.
Vältige aeglast Lorisi ja DoS-rünnakut
Apache-serveri vaikepaigaldus sunnib seda klientide päringuid liiga kaua ootama, mis allutab serveri aeglaste Lorise ja DoS-i rünnakutele. Apache2.conf-konfiguratsioonifail pakub direktiivi, mille abil saate aegumistähtaja väärtuse mõnele sekundile vähendada, et vältida seda tüüpi rünnakuid, st.e.:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konfAeg 60
Pealegi on uue Apache serveriga kaasas mugav moodul mod_reqtimeout, mis pakub käsku RequestReadTimeout serveri kaitsmiseks ebaseaduslike taotluste eest. Selle direktiiviga on kaasas mõned keerulised konfiguratsioonid, nii et saate lugeda dokumentatsioonilehelt saadaolevat teavet.
Keelake mittevajalikud HTTP-päringud
Piiramatud HTTP / HTTPS-päringud võivad põhjustada ka madala serveri jõudluse või DoS-rünnaku. Saate piirata HTTP-päringute vastuvõtmist kataloogi kohta, kasutades LimitRequestBody alla 100K. Näiteks kausta / var / www / oma_veebisaidi jaoks direktiivi loomiseks võite lisada käsu LimitRequestBody alla AllowOverride All, i.e.:
... jupp ..Valikud -indeksid
AllowOverride All
LimitRequestBody 995367
... jupp ..
Märkus. Ärge unustage pärast rakendatud muudatusi Apache taaskäivitada, et seda vastavalt värskendada.
Järeldus
Apache serveri vaikepaigaldus võib pakkuda palju tundlikku teavet, et aidata ründajaid rünnakul. Vahepeal on Apache veebiserveri turvamiseks ka palju muid viise (mida pole eespool loetletud). Jätkake oma uute serverite turvalisuse tagamiseks uute direktiivide ja moodulite uurimist ning ajakohastamist.