Všetci to veľmi dobre poznáme Apache webový server, je to veľmi populárny webový server na hostovanie vašich webových súborov alebo webových stránok na webe. Tu je niekoľko odkazov, ktoré vám môžu pomôcť nakonfigurovať webový server Apache vo vašom systéme Linux.
V tomto návode sa budem zaoberať niekoľkými hlavnými tipmi na zabezpečenie webového servera. Predtým, ako použijete tieto zmeny na svojom webovom serveri, mali by ste mať základy servera Apache.
Pri inštalácii Apache so zdrojom alebo akýmikoľvek inými inštalátormi balíkov mňam, zobrazí sa verzia vášho Apache webový server nainštalovaný na vašom serveri pomocou súboru Názov operačného systému vášho servera v Chyby. Tiež zobrazuje informácie o Nainštalované moduly Apache na vašom serveri.
Na obrázku vyššie to vidíte Apache ukazuje svoje verzia s OS nainštalovaný na vašom serveri. To môže byť hlavnou bezpečnostnou hrozbou pre váš webový server aj pre váš Linux. Zabrániť Apache aby sa tieto informácie nezobrazovali svetu, musíme urobiť niekoľko zmien v hlavnom konfiguračnom súbore Apache.
Otvorte konfiguračný súbor v editore vim a vyhľadajte „Serverový podpis“, Je predvolene zapnuté. Musíme Vypnuté tieto podpisy servera a druhý riadok “ServerTokens Prod”Hovorí Apache, aby vrátil iba Apache ako produkt v hlavičke odpovede servera na každú požiadavku stránky, Potlačí informácie o operačnom systéme, hlavnej a vedľajšej verzii.
# vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) # vim /etc/apache2/apache2.conf (Debian/Ubuntu)
Serverový podpis je vypnutý. ServerTokens Prod
# služba httpd reštart (RHEL/CentOS/Fedora) # služba apache2 reštart (Debian/Ubuntu)
Štandardne Apache uvádza všetky obsah z koreňového adresára dokumentu bez indexový súbor. Pozrite sa na obrázok nižšie.
Môžeme vypnúť zoznam adresárov pomocou Smernica o možnostiach v konfiguračnom súbore pre konkrétny adresár. Na to musíme urobiť vstup httpd.conf alebo apache2.conf súbor.
Možnosti -indexy.
Komunita vývojárov Apache neustále pracuje bezpečnostné problémy a jeho uvoľnenie aktualizovaná verzia s novým možnosti zabezpečenia. Preto sa vždy odporúča používať Najnovšia verzia z Apache ako váš webový server.
Skontrolovať Verzia Apache: Aktuálnu verziu môžete skontrolovať pomocou httpd -v príkaz.
# httpd -v. Verzia servera: Apache/2.2.15 (Unix) Server postavený: 13. augusta 2013 17:29:28
Verziu môžete aktualizovať pomocou nasledujúceho príkazu.
# yum aktualizácia httpd. # apt-get install apache2
Tiež sa odporúča ponechať si svoje Jadro a OS aktualizované na najnovšie stabilné vydania, ak nepoužívate žiadnu konkrétnu aplikáciu, ktorá funguje iba na konkrétnom operačnom systéme alebo jadre.
Vždy je dobré obmedziť šance stať sa obeťou akejkoľvek osoby webový útok. Preto sa odporúča vypnúť všetky tieto položky moduly ktoré sa v súčasnosti nepoužívajú. Pomocou nasledujúceho príkazu môžete vypísať všetky kompilované moduly webového servera.
# grep LoadModule /etc/httpd/conf/httpd.conf # musíte na toto miesto umiestniť zodpovedajúce riadky „LoadModule“, aby # LoadModule foo_module modules/mod_foo.so. LoadModule auth_basic_module modules/mod_auth_basic.so. LoadModule auth_digest_module modules/mod_auth_digest.so. Moduly loadModule authn_file_module/mod_authn_file.so. LoadModule authn_alias_module modules/mod_authn_alias.so. Moduly loadModule authn_anon_module/mod_authn_anon.so. Moduly loadModule authn_dbm_module/mod_authn_dbm.so. Moduly loadModule authn_default_module/mod_authn_default.so. LoadModule authz_host_module modules/mod_authz_host.so. LoadModule authz_user_module modules/mod_authz_user.so. LoadModule authz_owner_module modules/mod_authz_owner.so. Moduly loadModule authz_groupfile_module/mod_authz_groupfile.so. Moduly loadModule authz_dbm_module/mod_authz_dbm.so. LoadModule authz_default_module modules/mod_authz_default.so. LoadModule ldap_module modules/mod_ldap.so. LoadModule authnz_ldap_module modules/mod_authnz_ldap.so. LoadModule include_module modules/mod_include.so. LoadModule log_config_module modules/mod_log_config.so. LoadModule logio_module modules/mod_logio.so. LoadModule env_module modules/mod_env.so. LoadModule ext_filter_module modules/mod_ext_filter.so. ...
Vyššie je uvedený zoznam modulov, ktoré sú predvolene povolené, ale často nie sú potrebné: mod_imap, mod_include, mod_info, mod_userdir, mod_autoindex. Ak chcete deaktivovať konkrétny modul, môžete vložiť „#”Na začiatku tohto riadka a reštartujte službu.
S predvolenou inštaláciou Apache spustí svoj proces s používateľom nikto alebo démon. Z bezpečnostných dôvodov sa odporúča spustiť Apache vo svojom neprivilegovaný účet. Napríklad: http-web.
# groupadd http-web. # useradd -d/var/www/-g http -web -s/bin/nologin http -web
Teraz to musíte povedať Apache Aby sme mohli bežať s týmto novým používateľom, musíme urobiť zápis v /etc/httpd/conf/httpd.conf a reštartujte službu.
Otvorené /etc/httpd/conf/httpd.conf s editorom vim a vyhľadajte kľúčové slovo „Používateľ“A„Skupina”A tam budete musieť zadať používateľské meno a názov skupiny použit.
Užívateľský http-web. Skupinový http-web
Prístup k adresárom môžeme obmedziť pomocou „Povoliť“A„Popierať”Možnosti v httpd.conf súbor. V tomto prípade zaistíme koreňový adresárZa týmto účelom nastavte v súbore httpd.conf súbor.
Možnosti Žiadne Objednať odmietnuť, povoliť Odmietnuť od všetkých.
Tieto dva moduly “mod_security“A„mod_evasive”Sú z hľadiska zabezpečenia veľmi obľúbené moduly Apache.
Kde mod_security pracuje ako a POŽARNE dvere pre naše webové aplikácie a umožňuje nám to monitorovať premávku v reálnom čase. Pomáha nám to tiež chrániť naše webové stránky alebo webový server pred útoky hrubou silou. Môžete jednoducho nainštalovať mod_security na vašom serveri pomocou predvolených inštalátorov balíkov.
$ sudo apt-get install libapache2-modsecurity. $ sudo a2enmod mod-security. $ sudo /etc/init.d/apache2 vynútiť opätovné načítanie
# yum nainštalovať mod_security. # /etc/init.d/httpd reštartujte
mod_evasive funguje veľmi efektívne, na spracovanie je potrebná jedna požiadavka a je veľmi dobre spracovaný. Prekáža Útoky DDOS tým, že spôsobí toľko škody. Táto vlastnosť mod_evasive umožňuje zvládnuť Hrubá sila HTTP a Dos alebo DDos útok. Tento modul detekuje útoky tromi spôsobmi.
mod_evasive je možné nainštalovať priamo zo zdroja. Tu nájdete sprievodcu inštaláciou a nastavením týchto modulov, ktorý vám pomôže nastaviť tieto moduly Apache v poli Linux.
Predvolene Apache nasleduje symbolické odkazy, môžeme vypnúť táto funkcia s FollowSymLinks s Smernica o možnostiach. Na to musíme urobiť nasledujúci záznam v hlavnom konfiguračnom súbore.
Možnosti -NasledujteSymLinks
A ak je nejaký konkrétny používateľ alebo webové stránky potrebovať FollowSymLinks povoliť, môžeme jednoducho napísať pravidlo do „.htaccess”Súbor z tejto webovej stránky.
# Povoliť symbolické odkazy. Možnosti +FollowSymLinks
Poznámka: Ak chcete povoliť pravidlá prepisovania v „.htaccess"Súbor"AllowOverride All”By mal byť prítomný v hlavnej konfigurácii globálne.
Môžeme vypnúť serverová strana obsahuje (mod_include) a CGI vykonanie, ak nie je potrebné, a aby sme to urobili, musíme upraviť hlavný konfiguračný súbor.
Možnosti -Zahŕňa. Možnosti -ExecCGI
Môžeme to urobiť pre konkrétny adresár aj pomocou značky Directory. Tu V tomto prípade sme vypínanie Zahŕňa a spúšťanie súborov CGI pre „/var/www/html/web1”Adresár.
Možnosti -Zahŕňa -ExecCGI.
Tu sú niektoré ďalšie hodnoty, ktoré môžu byť zapnutý alebo vypnuté so smernicou Možnosti.
Predvolene Apache nemá žiadny limit na celkovú veľkosť požiadavky HTTP, tj. neobmedzený, a keď povolíte veľké požiadavky na webovom serveri, je možné, že by ste sa mohli stať obeťou Útoky odmietnutia služby. Môžeme obmedziť veľkosť požiadaviek smernice Apache “LimitRequestBody”So značkou adresára.
Hodnotu v bajtoch môžete nastaviť od 0 (neobmedzene) do 2147483647 (2 GB), ktoré sú povolené v orgáne žiadosti. Tento limit môžete nastaviť podľa potrieb svojich stránok. Predpokladajme, že máte web, na ktorom povoľujete nahrávanie, a chcete obmedziť veľkosť nahrávania pre konkrétny adresár.
V tomto prípade user_uploads je adresár, ktorý obsahuje súbory nahrané používateľmi. Stanovujeme limit 500 tis pre to.
LimitRequestBody 512000.
Je pravda, že nemôžete úplne chrániť svoje webové stránky pred DDos útoky. Tu je niekoľko smerníc, ktoré vám môžu pomôcť ovládať to.
Apache vám umožňuje prihlásiť sa nezávisle od vášho Protokolovanie OS. Je rozumné povoliť protokolovanie Apache, pretože poskytuje viac informácií, napríklad o príkazoch zadaných používateľmi, ktorí interagovali s vašim webovým serverom.
Na to musíte zahrnúť súbor mod_log_config modul. S Apache sú k dispozícii tri hlavné smernice týkajúce sa protokolovania.
Môžete ich použiť aj pre konkrétny web, ktorý robíte Virtuálny hosting a na to ho musíte zadať v sekcii virtuálneho hostiteľa. Tu je napríklad konfigurácia virtuálneho hostiteľa môjho webu s povoleným protokolovaním.
DocumentRoot /var/www/html/example.com/ Názov servera www.example.com. DirectoryIndex index.htm index.html index.php. ServerAlias example.com. Chybový dokument 404 /story.php. ErrorLog/var/log/httpd/example.com_error_log CustomLog /var/log/httpd/example.com_access_log kombinované
Posledný ale nie najmenší SSL certifikáty, všetku svoju komunikáciu môžete zabezpečiť šifrovane cez internet pomocou certifikátu SSL. Predpokladajme, že máte webovú stránku, na ktorej sa ľudia prihlasujú preukázaním svojich prihlasovacích údajov, alebo máte webovú stránku elektronického obchodu, na ktorej ľudia poskytujú svoje Bankové údaje alebo Dlh/Kredit údaje o karte na nákup produktov, v predvolenom nastavení váš webový server odosiela tieto údaje v obyčajnom textovom formáte, ale keď ich používate SSL certifikáty na vaše webové stránky, Apache odosiela všetky tieto informácie v šifrovanom texte.
Môžeš kúpiť SSl certifikáty od Toľkých rôznych poskytovateľov SSL ako namecheap.com. Ak prevádzkujete veľmi malú webovú firmu a nechcete kúpiť SSL certifikát stále môžete priradiť a Certifikát s vlastným podpisom na váš web. Apache používa mod_ssl modul na podporu Certifikát SSL.
# openssl genrsa -des3 -out example.com.key 1024. # openssl req -new -key example.com.key -out exmaple.csr. # openssl x509 -req -days 365 -in example.com.com.csr -signkey example.com.com.key -out example.com.com.crt
Akonáhle bude váš certifikát vytvorený a podpísaný. Teraz to musíte pridať do konfigurácie Apache. Otvorte hlavný konfiguračný súbor pomocou editora vim a pridajte nasledujúce riadky a reštartujte službu.
SSLEngine na SSLCertificateFile /etc/pki/tls/certs/example.com.crt SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key SSLCertificateChainFile /etc/pki/tls/certs/sf_bundle.crt ServerAdmin [chránené e -mailom] ServerName example.com DocumentRoot/var/www/html/example/ErrorLog /var/log/httpd/example.com-error_log CustomLog /var/log/httpd/example.com-access_log common.
Otvorte prehliadač, napíšte https://example.com, a budete môcť vidieť nové certifikát s vlastným podpisom.
Toto je niekoľko bezpečnostných tipov, ktoré môžete použiť zabezpečte svoj webový server Apache inštalácia. Ďalšie užitočné tipy a nápady pre zabezpečenie nájdete v oficiálnej online dokumentácii k serveru Server HTTP Apache.