Ebben a cikkben néhány tippet és trükköt talál az Apache Web Server konfigurációinak megerősítésére és az általános biztonság javítására.
Nem privilegizált felhasználói fiók
A nem root vagy nem privilegizált felhasználói fiók célja, hogy korlátozza a felhasználót a rendszeren belüli bizonyos feladatok felesleges hozzáférésétől. Az Apache webkiszolgálóval összefüggésben ez azt jelenti, hogy korlátozott környezetben kell működnie, csak a szükséges engedélyekkel. Alapértelmezés szerint az Apache démonfiókjogosultságokkal fut. Létrehozhat egy külön nem root felhasználói fiókot a biztonsági résekkel járó fenyegetések elkerülése érdekében.
Továbbá, ha az apache2 és a MySQL azonos felhasználói hitelesítő adatokkal rendelkezik, akkor az egyszeri szolgáltatás folyamatának bármely kérdése hatással lesz a másikra. A webkiszolgáló felhasználói és csoportjogosultságainak megváltoztatásához lépjen az / etc / apache2 oldalra, nyissa meg az envvars fájlt, és állítsa be a felhasználót és a csoportot egy új, nem privilegizált fiókhasználóra, mondjuk „apache”, és mentse a fájlt.
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / envvars... kivágás…
export APACHE_RUN_USER = apache
export APACHE_RUN_GROUP = apache
... kivágás…
A következő paranccsal módosíthatja a telepítési könyvtár tulajdonjogát az új, nem root felhasználóra.
ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2A módosítások mentéséhez adja ki a következő parancsot:
ubuntu @ ubuntu ~: $ sudo service apache2 indítsa újra
Tartsa naprakészen az Apache-t
Az Apache arról híres, hogy biztonságos platformot kínál egy nagyon aggódó fejlesztői közösséggel, amely ritkán találkozik biztonsági hibákkal. Mindazonáltal normális kérdéseket felfedezni a szoftver kiadása után. Ezért elengedhetetlen a webkiszolgáló naprakészen tartása a legfrissebb biztonsági funkciók kihasználása érdekében. Azt is javasoljuk, hogy kövesse az Apache Server bejelentési listáit, hogy naprakész legyen az Apache fejlesztői közösség új bejelentéseiről, kiadásairól és biztonsági frissítéseiről.
Az apache frissítéséhez az apt használatával írja be a következőt:
ubuntu @ ubuntu ~: $ sudo apt-get updateubuntu @ ubuntu ~: $ sudo apt-get upgrade
Tiltsa le a kiszolgáló aláírását
Az Apache Server alapértelmezett konfigurációja sok részletet tár fel a szerverrel és annak beállításával kapcsolatban. Például engedélyezett ServerSignature és ServerTokens irányelvek az / etc / apache2 / apache2 könyvtárban.conf fájl hozzáad egy további fejlécet a HTTP-válaszhoz, amely potenciálisan érzékeny információkat tár fel. Ezek az információk tartalmazzák a kiszolgáló beállításainak részleteit, például a kiszolgáló verzióját és az operációs rendszert, amelyek segíthetik a támadót a felderítési folyamatban. Az apache2 szerkesztésével letilthatja ezeket az irányelveket.conf fájlt a vim / nano segítségével, és adja hozzá a következő irányelvet:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf... kivágás…
ServerSignature ki
... kivágás…
ServerTokens Prod
... kivágás…
Indítsa újra az Apache-t a módosítások frissítéséhez.
Tiltsa le a Kiszolgálókönyvtár-listákat
A Directory listák a gyökérmappába vagy alkönyvtárakba mentett összes tartalmat jelenítik meg. A címtárfájlok tartalmazhatnak nem nyilvános megjelenítésre szánt érzékeny információkat, például PHP-szkripteket, konfigurációs fájlokat, jelszavakat tartalmazó fájlokat, naplókat stb.
A címjegyzékek tiltásához módosítsa az Apache szerver konfigurációs fájlját az apache2 szerkesztésével.conf fájl:
... kivágás…
Opciók -Indexek
... kivágás…
VAGY
... kivágás…Opciók -Indexek
... kivágás…
Ezt az irányelvet hozzáadhatja a .a fő webhelykönyvtár htaccess fájlja.
A rendszerbeállítások védelme
A .A htaccess fájl egy kényelmes és hatékony szolgáltatás, amely lehetővé teszi a konfigurációt a fő apache2-n kívül.conf fájl. Azokban az esetekben azonban, amikor a felhasználók fájlokat tölthetnek fel a szerverre, a támadók ezt kihasználhatják saját.htaccess ”fájl rosszindulatú konfigurációkkal. Tehát, ha nem ezt a funkciót használja, letilthatja a .htaccess irányelv, i.e.:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf... kivágás…
#AccessFileName .htaccess
... kivágás…
VAGY
Kapcsolja ki a .htaccess fájl, kivéve a speciálisan engedélyezett könyvtárakat az apache2 szerkesztésével.conf fájl és az AllowOverRide irányelv None-ra fordítása;
... kivágás…
Nincs AllowOverride
... kivágás…
Biztonságos könyvtárak hitelesítéssel
A htpasswd segédprogram segítségével felhasználói hitelesítő adatokat hozhat létre az összes vagy néhány könyvtár védelme érdekében. Lépjen a szerver mappájába, és a következő paranccsal hozza létre a .htpasswd fájl jelszó-kivonatok tárolásához, mondjuk egy dev nevű felhasználóhoz rendelt hitelesítő adatokhoz.
[e-mail védett] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd devA fenti parancs meg fogja kérni az új jelszót és a jelszó megerősítését. Megtekintheti a macskát ./ htpasswd fájl a tárolt felhasználói hitelesítő adatok kivonatának ellenőrzéséhez.
Most automatikusan beállíthatja a konfigurációs fájlt a webhely_könyvtárában, amelyet meg kell védenie a .htaccess fájl. A hitelesítés engedélyezéséhez használja a következő parancsokat és irányelveket:
ubuntu @ ubuntu ~: $ sudo nano / var / www / your_website /.htaccess... kivágás…
AuthType Basic
AuthName "A párbeszédpanel hozzáadása"
AuthUserFile / etc / apache2 / user_name / domain_name /.htpasswd
Érvényes felhasználót igényel
... kivágás…
Ne felejtse el hozzáadni az utat a sajátja szerint.
Futtassa a szükséges modulokat
Az alapértelmezett Apache-konfiguráció olyan engedélyezett modulokat tartalmaz, amelyekre Önnek talán nincs is szüksége. Ezek az előre telepített modulok megnyitják az Apache biztonsági problémáit, amelyek vagy léteznek, vagy a jövőben is létezhetnek. E modulok letiltásához először meg kell értenie, hogy mely modulokra van szükség a webkiszolgáló zavartalan működéséhez. Erre a célra nézze meg az apache modul dokumentációját, amely az összes rendelkezésre álló modult lefedi.
Ezután a következő paranccsal derítse ki, hogy mely modulok futnak a szerveren.
[email protected] ~: $ sudo ls / etc / apache2 / mods-enabledAz Apache az a2dismod hatékony paranccsal érkezik, amely letiltja a modult. Megakadályozza a modul betöltését, és figyelmeztetést küld a modul letiltásakor, hogy a művelet negatívan befolyásolhatja a szervert.
[email protected] ~: $ sudo a2dismod modulnévA modult letilthatja a LoadModule sor kommentjeivel is.
A lassú Loris és a DoS Attack megakadályozása
Az Apache kiszolgáló alapértelmezett telepítése arra kényszeríti, hogy túl sokáig várjon az ügyfelek kéréseire, ami lassú Loris és DoS támadásoknak teszi ki a kiszolgálót. Az apache2.A conf konfigurációs fájl egy utasítást tartalmaz, amelynek segítségével az időkorlátot néhány másodpercre csökkentheti az ilyen típusú támadások megelőzésére, azaz.e.:
ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konfIdőtúllépés 60
Ezenkívül az új Apache szerver egy praktikus mod_reqtimeout modullal rendelkezik, amely egy RequestReadTimeout direktívát biztosít a kiszolgáló jogosulatlan kérések elleni védelméhez. Ez az irányelv néhány trükkös konfigurációval érkezik, így elolvashatja a kapcsolódó információkat a dokumentációs oldalon.
Tiltsa le a felesleges HTTP kéréseket
A korlátlan HTTP / HTTPS kérések a kiszolgáló alacsony teljesítményéhez vagy DoS támadáshoz is vezethetnek. A LimitRequestBody használatával 100 KB-nál kisebbre korlátozhatja a HTTP-kérelmek címtáronkénti fogadását. Például egy irányelv létrehozásához a / var / www / your_website mappához hozzáadhatja a LimitRequestBody irányelvet az AllowOverride All alatt,.e.:
... kivágás…Opciók -Indexek
AllowOverride All
LimitRequestBody 995367
... kivágás…
Megjegyzés: Ne felejtse el újraindítani az Apache-ot az alkalmazott változtatások után, hogy megfelelően frissítse azt.
Következtetés
Az Apache szerver alapértelmezett telepítése rengeteg érzékeny információval szolgálhat a támadók számára a támadás során. Addig is rengeteg más (a fentiekben fel nem sorolt) módszer létezik az Apache webkiszolgáló biztonságára is. Folytassa a kutatást és tartsa naprakészen az új irányelveket és modulokat a szerver további biztonsága érdekében.