Apache HTTP

Ako zabezpečiť server Apache

Ako zabezpečiť server Apache
Apache je populárny webový server s otvoreným zdrojovým kódom, ktorý je k dispozícii pre systémy Linux aj Windows. Umožňuje konfiguráciu pre najrôznejšie prípady použitia, od webových stránok HTML po dynamický obsah webových aplikácií HyperText Preprocessor (PHP).Apache poskytuje bezpečnú a robustnú platformu na nasadenie vašich webových aplikácií. Stále je však dôležité inštalovať najnovšie bezpečnostné opravy a správne nakonfigurovať server, aby ste vytvorili bezpečné prostredie pre vaše webové aplikácie.
V tomto článku nájdete niekoľko tipov a trikov na vylepšenie konfigurácií webového servera Apache a zvýšenie všeobecnej bezpečnosti.

Účet neprivilegovaného používateľa

Účelom iného ako root alebo neprivilegovaného používateľského účtu je obmedziť používateľa pred zbytočným prístupom k určitým úlohám v systéme. V kontexte webového servera Apache to znamená, že by mal fungovať v obmedzenom prostredí iba s potrebnými povoleniami. V predvolenom nastavení beží Apache s oprávneniami účtu démona. Môžete si vytvoriť samostatný užívateľský účet typu non-root, aby ste sa vyhli hrozbám v prípade zraniteľnosti zabezpečenia.

Okrem toho, ak majú server apache2 a MySQL rovnaké prihlasovacie údaje, akýkoľvek problém v procese jednej služby bude mať vplyv na druhú. Ak chcete zmeniť oprávnenie používateľa a skupiny pre webový server, prejdite na / etc / apache2, otvorte súbor envvars a nastavte používateľa a skupinu na nového neprivilegovaného používateľa účtu, napríklad „apache“, a uložte súbor.

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

Pomocou nasledujúceho príkazu môžete tiež zmeniť vlastníctvo inštalačného adresára na nového používateľa bez oprávnenia root.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Zadajte nasledujúci príkaz na uloženie zmien:
ubuntu @ ubuntu ~: $ sudo service apache2 restart

Udržujte Apache aktuálny

Apache je známy tým, že poskytuje bezpečnú platformu vysoko zainteresovanej vývojárskej komunite, ktorá zriedka čelí akýmkoľvek bezpečnostným chybám. Napriek tomu je normálne objaviť problémy hneď po vydaní softvéru. Preto je nevyhnutné udržiavať webový server v aktualizovanom stave, aby ste mohli využívať najnovšie bezpečnostné funkcie. Odporúča sa tiež dodržiavať zoznamy oznámení servera Apache, aby ste boli informovaní o nových oznámeniach, vydaniach a bezpečnostných aktualizáciách vývojárskej komunity Apache.

Ak chcete aktualizovať svoj apache pomocou apt, zadajte nasledujúci príkaz:

ubuntu @ ubuntu ~: $ sudo apt-get aktualizácia
ubuntu @ ubuntu ~: $ sudo apt-get upgrade

Zakázať podpis servera

Predvolená konfigurácia servera Apache poskytuje veľa podrobností o serveri a jeho nastaveniach. Napríklad povolené smernice ServerSignature a ServerTokens v priečinku / etc / apache2 / apache2.conf súbor pridať ďalšiu hlavičku do odpovede HTTP, ktorá vystavuje potenciálne citlivé informácie. Tieto informácie zahŕňajú podrobnosti o nastavení servera, ako je verzia servera a hostujúci operačný systém, ktoré môžu útočníkovi pomôcť pri procese prieskumu. Tieto smernice môžete zakázať úpravou apache2.conf súbor cez vim / nano a pridajte nasledujúcu smernicu:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
... snip ..
Serverový podpis vypnutý
... snip ..
ServerTokens Prod
... snip ..

Reštartujte Apache a aktualizujte zmeny.

Zakážte zoznamy adresárov servera

Výpisy adresára zobrazujú všetok obsah uložený v koreňovom priečinku alebo podadresároch. Súbory adresára môžu obsahovať citlivé informácie, ktoré nie sú určené na verejné zobrazovanie, ako sú skripty PHP, konfiguračné súbory, súbory obsahujúce heslá, protokoly atď.
Ak chcete zakázať zoznamy adresárov, zmeňte konfiguračný súbor servera Apache úpravou apache2.conf súbor ako:

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

Možnosti - Indexy

... snip ..

ALEBO

... snip ..

Možnosti - Indexy

... snip ..

Túto smernicu môžete tiež pridať do .súbor htaccess vášho hlavného adresára webových stránok.

Chráňte nastavenia systému

The .Súbor htaccess je pohodlná a výkonná funkcia, ktorá umožňuje konfiguráciu mimo hlavného apache2.conf súbor. Avšak v prípadoch, keď môže užívateľ nahrať súbory na server, môže to útočník zneužiť na nahranie svojich vlastných “.htaccess ”so škodlivými konfiguráciami. Pokiaľ teda túto funkciu nepoužívate, môžete vypnúť .smernica htaccess, t.j.e.:

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

ALEBO
Zakázať .súbor htaccess okrem špeciálne povolených adresárov úpravou apache2.súbor conf a zmena direktívy AllowOverRide na None;

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

AllowOverride Žiadne

... snip ..

Zabezpečené adresáre s autentifikáciou

Pomocou pomôcky htpasswd môžete vytvoriť poverenia používateľa na ochranu všetkých alebo niektorých adresárov. Prejdite do priečinka na serveri a pomocou nasledujúceho príkazu vytvorte .htpasswd súbor na ukladanie hashov hesla pre prihlasovacie údaje priradené povedzme používateľovi menom dev.

[chránené e-mailom] ~: $ sudo htpasswd -c / etc / apache2 / -htpasswd dev

Vyššie uvedený príkaz si vyžiada nové heslo a potvrdenie hesla. Môžete si pozrieť mačku ./ htpasswd súbor na kontrolu hash uložených poverení používateľa.

Teraz môžete automaticky nastaviť konfiguračný súbor v adresári your_website, ktorý musíte chrániť, úpravou .súbor htaccess. Na povolenie autentifikácie použite nasledujúci príkaz a smernice:

ubuntu @ ubuntu ~: $ sudo nano / var / www / your_website /.htaccess
... snip ..
AuthType Basic
AuthName "Pridať výzvu na dialóg"
AuthUserFile / etc / apache2 / meno_používateľa / názov_domény /.htpasswd
Vyžadovať platného používateľa
... snip ..

Nezabudnite pridať cestu podľa vášho.

Spustite potrebné moduly

Predvolená konfigurácia Apache obsahuje povolené moduly, ktoré možno ani nebudete potrebovať. Tieto predinštalované moduly otvárajú dvere pre bezpečnostné problémy Apache, ktoré už existujú alebo môžu existovať v budúcnosti. Ak chcete deaktivovať všetky tieto moduly, musíte najskôr pochopiť, ktoré moduly sú potrebné pre bezproblémové fungovanie vášho webového servera. Za týmto účelom si pozrite dokumentáciu k modulu apache, ktorá obsahuje všetky dostupné moduly.

Ďalej pomocou nasledujúceho príkazu zistíte, ktoré moduly sú spustené na vašom serveri.

[chránené e-mailom] ~: $ sudo ls / etc / apache2 / mods-enabled

Apache je dodávaný s výkonným príkazom a2dismod na deaktiváciu modulu. Zabráni načítaniu modulu a pri deaktivácii modulu vás vyzve na varovanie, že akcia môže mať negatívny dopad na váš server.

[chránené e-mailom] ~: $ sudo a2dismod module_name

Modul môžete deaktivovať aj komentovaním v riadku LoadModule.

Zabráňte pomalému Loris a útoku DoS

Predvolená inštalácia servera Apache ho prinúti čakať na požiadavky klientov príliš dlho, čo server vystaví útokom Slow Loris a DoS. Apache2.konfiguračný súbor conf poskytuje smernicu, ktorú môžete použiť na zníženie hodnoty časového limitu na niekoľko sekúnd, aby ste zabránili týmto typom útokov, t.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.konf
Časový limit 60

Okrem toho nový server Apache prichádza s praktickým modulom mod_reqtimeout, ktorý poskytuje smernicu RequestReadTimeout na zabezpečenie servera pred nelegitímnymi požiadavkami. Táto smernica má niekoľko zložitých konfigurácií, takže si môžete prečítať súvisiace informácie dostupné na stránke dokumentácie.

Zakážte zbytočné požiadavky HTTP

Neobmedzené požiadavky HTTP / HTTPS môžu tiež viesť k nízkemu výkonu servera alebo k DoS útoku. Môžete obmedziť príjem požiadaviek HTTP na jeden adresár pomocou aplikácie LimitRequestBody na menej ako 100 kB. Napríklad na vytvorenie smernice pre priečinok / var / www / your_website môžete pridať direktívu LimitRequestBody pod AllowOverride All, i.e.:

... snip ..

Možnosti - Indexy
AllowOverride All
LimitRequestBody 995367

... snip ..

Poznámka: Nezabudnite reštartovať Apache po vykonaných zmenách, aby ste ho mohli zodpovedajúcim spôsobom aktualizovať.

Záver

Predvolená inštalácia servera Apache môže poskytnúť útočníkom pri útoku veľa citlivých informácií. Medzitým existuje aj veľa ďalších spôsobov (nie sú uvedené vyššie), ako zabezpečiť aj webový server Apache. Pokračujte vo výskume a informujte sa o nových smerniciach a moduloch, aby ste zabezpečili svoj server ďalej.

Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvorenie vlastnej simulácie dopravy môže byť zábavné, relaxačné a mimoriadne lákavé. Preto sa musíte uistiť, že vyskúšate čo najviac hier, aby ste n...
Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z najpopulárnejších obchodných simulačných hier. V tejto hre musíte vytvoriť úžasné dopravné podnikanie. Začnete však na začiatku ok...
Hry SuperTuxKart pre Linux
SuperTuxKart pre Linux
SuperTuxKart je vynikajúci titul navrhnutý tak, aby vám priniesol zážitok z hry Mario Kart zadarmo na vašom systéme Linux. Je to dosť náročné a zábavn...