Mēs visi esam ļoti pazīstami Apache tīmekļa serveris, tas ir ļoti populārs tīmekļa serveris, kas mitina jūsu tīmekļa failus vai jūsu vietni tīmeklī. Šeit ir dažas saites, kas var palīdzēt konfigurēt Apache tīmekļa serveri savā Linux kastē.
Šajā apmācībā es apskatīšu dažus galvenos padomus, lai aizsargātu jūsu tīmekļa serveri. Pirms šo izmaiņu ieviešanas savā tīmekļa serverī jums jāzina daži Apache servera pamati.
Kad instalējat Apache ar avotu vai citiem pakotņu uzstādītājiem, piemēram ņam, tas parāda jūsu Apache versija Web serveris ir instalēts jūsu serverī ar Operētājsistēmas nosaukums no jūsu servera Kļūdas. Tas arī parāda informāciju par Instalēti Apache moduļi jūsu serverī.
Augšējā attēlā jūs to varat redzēt Apache rāda savu versija Ar OS instalēta jūsu serverī. Tas var būt nopietns drošības apdraudējums jūsu tīmekļa serverim, kā arī jūsu Linux kastē. Lai novērstu Apache lai nerādītu šo informāciju pasaulei, mums ir jāveic dažas izmaiņas Apache galvenajā konfigurācijas failā.
Atveriet konfigurācijas failu ar vim redaktoru un meklējiet “Servera paraksts", Tā pēc noklusējuma ir ieslēgta. Mums vajag Izslēgts šie servera paraksti un otrā rinda "ServerTokens Produkcija”Saka, ka Apache katras lapas pieprasījumā servera atbildes galvenē atdod tikai Apache kā produktu. Tas aizver OS, galvenās un mazākās versijas informāciju.
# vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) # vim /etc/apache2/apache2.conf (Debian/Ubuntu)
Servera paraksts izslēgts. ServerTokens Produkcija
# pakalpojuma httpd restartēšana (RHEL/CentOS/Fedora) # pakalpojuma apache2 restartēšana (Debian/Ubuntu)
Pēc noklusējuma Apache uzskaita visus saturu no dokumenta saknes direktorija, ja nav indeksa fails. Lūdzu, skatiet attēlu zemāk.
Mēs varam izslēgt direktoriju sarakstu, izmantojot Opciju direktīva konfigurācijas failā konkrētam direktorijam. Lai to izdarītu, mums ir jāievada ieraksts httpd.conf vai apache2.conf failu.
Iespējas -Indeksi.
Apache izstrādātāju kopiena nepārtraukti strādā pie drošības jautājumi un atbrīvojot to atjaunināta versija ar jaunu drošības iespējas. Tāpēc vienmēr ieteicams izmantot jaunākā versija no Apache kā jūsu tīmekļa serveris.
Pārbaudīt Apache versija: Pašreizējo versiju varat pārbaudīt, izmantojot httpd -v komandu.
# httpd -v. Servera versija: Apache/2.2.15 (Unix) Serveris būvēts: 2013. gada 13. augusts 17:29:28
Jūs varat atjaunināt savu versiju, izmantojot šādu komandu.
# yum atjauninājums httpd. # apt-get install apache2
Ieteicams arī saglabāt savu Kodols un OS atjaunināts uz jaunākajiem stabilajiem laidieniem, ja nedarbojat nevienu konkrētu lietojumprogrammu, kas darbojas tikai noteiktā OS vai kodolā.
Vienmēr ir labi mazināt izredzes kļūt par jebkura upuri interneta uzbrukums. Tāpēc ieteicams tos visus atspējot moduļi kuras pašlaik netiek izmantotas. Izmantojot šādu komandu, varat uzskaitīt visus tīmekļa servera apkopotos moduļus.
# grep LoadModule /etc/httpd/conf/httpd.conf # šajā vietā ir jāievieto atbilstošās rindas "LoadModule", lai. # 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. LoadModule authn_file_module modules/mod_authn_file.so. LoadModule authn_alias_module modules/mod_authn_alias.so. LoadModule authn_anon_module modules/mod_authn_anon.so. LoadModule authn_dbm_module modules/mod_authn_dbm.so. LoadModule authn_default_module modules/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. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so. LoadModule authz_dbm_module modules/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. ...
Iepriekš ir to moduļu saraksts, kuri ir iespējoti pēc noklusējuma, bet bieži vien nav nepieciešami: mod_imap, mod_include, mod_info, mod_userdir, mod_autoindex. Lai atspējotu konkrēto moduli, varat ievietot “#”Šīs rindas sākumā un restartējiet pakalpojumu.
Ar noklusējuma instalāciju Apache palaiž savu procesu kopā ar lietotāju neviens vai dēmons. Drošības apsvērumu dēļ ieteicams palaist Apache savā nav priviliģēts konts. Piemēram: http-tīmeklis.
# grupapievienot http-tīmekli. # useradd -d/var/www/-g http -web -s/bin/nologin http -web
Tagad tev jāpasaka Apache lai darbotos ar šo jauno lietotāju un lai to izdarītu, mums ir jāievada ieraksts /etc/httpd/conf/httpd.conf un restartējiet pakalpojumu.
Atvērt /etc/httpd/conf/httpd.conf ar vim redaktoru un meklējiet atslēgvārdu “Lietotājs" un "Grupa”Un tur jums būs jānorāda lietotājvārds un grupas nosaukums izmantot.
Lietotāja http-web. Grupa http-web
Mēs varam ierobežot piekļuvi direktorijiem, izmantojot “Atļaut" un "Noliegt”Iespējas httpd.conf failu. Šajā piemērā mēs nodrošināsim drošību saknes direktoriju, šim nolūkam iestatot tālāk norādīto httpd.conf failu.
Iespējas Nav Pasūtījuma noraidīšana, atļaut Noraidīt no visiem.
Šie divi moduļi "mod_security" un "mod_evasive”Ir ļoti populāri Apache moduļi drošības ziņā.
Kur mod_security darbojas kā a ugunsmūris mūsu tīmekļa lietojumprogrammām un ļauj mums to darīt uzraudzīt satiksmi reālā laikā. Tas arī palīdz mums aizsargāt savas vietnes vai tīmekļa serverus no brutāla spēka uzbrukumi. Jūs varat vienkārši instalēt mod_security serverī, izmantojot noklusējuma pakotņu instalētājus.
$ sudo apt-get install libapache2-modsecurity. $ sudo a2enmod mod-security. $ sudo /etc/init.d/apache2 piespiedu pārlādēšana
# yum instalēt mod_security. # /etc/init.d/httpd restart
mod_evasive darbojas ļoti efektīvi, ir nepieciešams viens pieprasījums, lai to apstrādātu, un tas tiek apstrādāts ļoti labi. Tas novērš DDOS uzbrukumi no tik liela kaitējuma nodarīšanas. Šī iezīme mod_evasive ļauj rīkoties ar HTTP brutāls spēks un Dos vai DDos uzbrukums. Šis modulis nosaka uzbrukumus ar trim metodēm.
mod_evasive var instalēt tieši no avota. Šeit mums ir šo moduļu instalēšanas un iestatīšanas rokasgrāmata, kas palīdzēs jums iestatīt šos Apache moduļus savā Linux kastē.
Pēc noklusējuma Apache seko saites, mēs varam izslēgt šī funkcija ar FollowSymLinks ar Opciju direktīva. Un, lai to izdarītu, mums galvenajā konfigurācijas failā ir jāveic šāds ieraksts.
Iespējas -SekotSymLinks
Un, ja kāds īpašs lietotājs vai mājas lapā vajag FollowSymLinks iespējot, mēs varam vienkārši ierakstīt noteikumu “.htaccess”Failu no šīs vietnes.
# Iespējot simboliskās saites. Iespējas +FollowSymLinks
Piezīme: Lai iespējotu noteikumu pārrakstīšanu iekšpusē ".htaccess"Fails"AllowOverride All”Vajadzētu būt galvenajā konfigurācijā visā pasaulē.
Mēs varam izslēgt servera pusē ietilpst (mod_include) un CGI izpildi, ja tas nav nepieciešams, un, lai to izdarītu, mums ir jāmaina galvenais konfigurācijas fails.
Iespējas -Ietver. Iespējas -ExecCGI
Mēs to varam izdarīt arī konkrētam direktorijam, izmantojot direktorija tagu. Šeit Šajā piemērā mēs esam izslēdzot Ietver un Cgi failu izpildes “/var/www/html/web1”Direktoriju.
Iespējas -Ietver -ExecCGI.
Šeit ir dažas citas vērtības ieslēgts vai izslēgts ar Opciju direktīvu.
Pēc noklusējuma Apache nav ierobežots HTTP pieprasījuma kopējais lielums, t.i. neierobežots, un, atļaujot lielus pieprasījumus tīmekļa serverī, iespējams, ka jūs varētu kļūt par upuri Pakalpojumu atteikšanas uzbrukumi. Mēs varam ierobežot Apache direktīvas pieprasījumu lielumu "LimitRequestBody”Ar direktorija tagu.
Jūs varat iestatīt vērtību baitos no 0 (neierobežots) uz 2147483647 (2 GB), kas ir atļauts pieprasījuma struktūrā. Šo ierobežojumu varat iestatīt atbilstoši savas vietnes vajadzībām. Pieņemsim, ka jums ir vietne, kurā atļaujat augšupielādi, un vēlaties ierobežot augšupielādes lielumu konkrētam direktorijam.
Šeit šajā piemērā user_uploads ir direktorijs, kurā ir lietotāju augšupielādēti faili. Mēs uzliekam ierobežojumu 500 tūkstoši priekš šī.
LimitRequestBody 512000.
Tā ir taisnība, ka jūs nevarat pilnībā aizsargāt savu vietni DDos uzbrukumi. Šeit ir dažas direktīvas, kas var palīdzēt jums to kontrolēt.
Apache ļauj reģistrēties neatkarīgi no jūsu OS reģistrēšana. Ir prātīgi iespējot Apache reģistrēšanu, jo tā sniedz vairāk informācijas, piemēram, komandas, kuras ievadījuši lietotāji, kuri ir mijiedarbojušies ar jūsu tīmekļa serveri.
Lai to izdarītu, jums ir jāiekļauj mod_log_config modulis. Ar Apache ir pieejamas trīs galvenās ar mežizstrādi saistītās direktīvas.
Varat tos izmantot arī konkrētai vietnei, kuru jūs darāt Virtuālā mitināšana un tam tas jānorāda virtuālā resursdatora sadaļā. Piemēram, šeit ir manas vietnes virtuālās saimniekdatora konfigurācija ar iespējotu reģistrēšanu.
DocumentRoot /var/www/html/example.com/ Servera nosaukums www.example.com. DirectoryIndex index.htm index.html index.php. ServerAlias example.com. ErrorDocument 404 /story.php. ErrorLog/var/log/httpd/example.com_error_log CustomLog /var/log/httpd/example.com_access_log kopā
Visbeidzot, bet ne mazāk SSL sertifikāti, jūs varat nodrošināt visu saziņu šifrētā veidā, izmantojot SSL sertifikātu. Pieņemsim, ka jums ir vietne, kurā cilvēki piesakās, pierādot savus pieteikšanās akreditācijas datus, vai jums ir e-komercijas vietne, kurā cilvēki sniedz savu bankas rekvizīti vai Debets/Kredīts kartes informāciju, lai iegādātos produktus, pēc noklusējuma jūsu tīmekļa serveris nosūta šo informāciju vienkārša teksta formātā, bet, kad jūs to izmantojat SSL sertifikāti jūsu vietnēm, Apache visu šo informāciju nosūta šifrētā tekstā.
Jūs varat iegādāties SSL sertifikātus no tik daudziem dažādiem SSL pakalpojumu sniedzējiem kā namecheap.com. Ja jūs vadāt ļoti mazu tīmekļa biznesu un nevēlaties to darīt iegādāties SSL sertifikātu jūs joprojām varat piešķirt a Sevi parakstīts sertifikāts uz jūsu vietni. Apache izmanto mod_ssl modulis atbalstam SSL sertifikāts.
# openssl genrsa -des3 -out example.com.key 1024. # openssl req -jauns atslēga example.com.key -out exmaple.csr. # openssl x509 -req -days 365 -in example.com.com.csr -parakstsatslēga example.com.com.key -out example.com.com.crt
Kad jūsu sertifikāts ir izveidots un parakstīts. Tagad tas jāpievieno Apache konfigurācijā. Atveriet galveno konfigurācijas failu ar vim redaktoru un pievienojiet šādas rindas un restartējiet pakalpojumu.
SSLEngine 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 [e -pasts aizsargāts] Servera nosaukums example.com DocumentRoot/var/www/html/example/ErrorLog /var/log/httpd/example.com-error_log CustomLog /var/log/httpd/example.com-access_log common.
Atveriet pārlūkprogrammu, ierakstiet https://example.com, un jūs varēsit redzēt jauno pašparakstīts sertifikāts.
Šie ir daži drošības padomi, kurus varat izmantot aizsargājiet savu Apache tīmekļa serveri uzstādīšana. Vairāk noderīgu drošības padomu un ideju skatiet oficiālajā tiešsaistes dokumentācijā Apache HTTP serveris.