Hapi 1 - Instalimi i serverit në internet
Hapi 2 - Sigurimi i drejtorive tuaja të shtëpisë
Hapi 3 - Aplikoni një patch sigurie në Apache për ndarjen e privilegjeve të përdoruesit
Hapi 3 - Krijimi i hostit tuaj të parë virtual
Hapi 4 - Konfigurimi i Apache që të funksionojë si një përdorues tjetër
Hapi 5 - Fshehja e versionit të Apache
Hapi 6 - Rinisni Apache për të aplikuar ndryshimet
konkluzioni
Është e lehtë për të marrë shkurtore kur siguroni një server, por ju do të rrezikoni humbjen e të dhënave në rast se një sulmues fiton akses rrënjësor në ndonjë nga serverët tuaj. Edhe për instalime të thjeshta, duhet të siguroni paraprakisht serverin tuaj. Sigurimi i serverëve është një temë e gjerë dhe ndryshon në varësi të sistemit operativ dhe aplikacioneve që ekzekutohen në to.
Ky udhëzues fokusohet në sigurimin e Apache nën CentOS 6. Ka disa hapa pas instalimit që mund të ndërmerrni për t'u mbrojtur nga përshkallëzimi i privilegjeve, si dhe nga sulmet e paprivilegjuara.
Pa zgjatur më tej, le të fillojmë.
Hapi 1 - Instalimi i serverit në internet
Sigurisht, nëse nuk keni të instaluar Apache ose PHP, duhet ta bëni këtë tani. Ekzekutoni këtë komandë si përdorues rrënjë, ose përdorni sudo:
yum install httpd php
Hapi 2 - Sigurimi i drejtorive tuaja të shtëpisë
Tani që Apache është instaluar, le të vazhdojmë dhe të fillojmë ta sigurojmë atë. Së pari, ne duam të sigurohemi që drejtoritë e përdoruesve të tjerë të mos jenë të dukshme nga askush, përveç pronarit. Ne do t'i chmodojmë të gjitha drejtoritë e shtëpisë në 700, në mënyrë që vetëm pronarët përkatës të drejtorive kryesore të mund të shikojnë skedarët e tyre. Ekzekutoni këtë komandë si rrënjë ose përdorni sudo:
chmod 700 /home
chmod 700 /home/*
chmod 700 /home/*/*
Duke përdorur shkronja të egra, ne po mbulojmë të gjithë skedarët që ndodhen aktualisht në drejtorinë kryesore.
Hapi 3 - Aplikoni një patch sigurie në Apache për ndarjen e privilegjeve të përdoruesit
Përpara se të patchojmë Apache-n, së pari duhet të instalojmë depon që përmban paketën me patch-in. Ekzekutoni komandat e mëposhtme si rrënjë (ose sudo).
yum install epel-release
yum install httpd-itk
Me "apache2-mpm-itk", ne mund të tregojmë se çfarë përdoruesi duhet të ekzekutojë PHP bazuar në hostin virtual. Ai shton një opsion të ri konfigurimi AssignUserId virtualhost-user virtualhost-user-group, i cili na lejon t'i themi Apache/PHP të ekzekutojë kodin e përdoruesit nën një llogari të veçantë përdoruesi.
Nëse po ndani këtë server, supozoj se keni krijuar tashmë një host virtual për Apache më parë. Në këtë rast, mund të kaloni në hapin 4.
Hapi 3 - Krijimi i hostit tuaj të parë virtual
Ju mund të ndiqni shabllonin më poshtë për të krijuar një host virtual në Apache.
NameVirtualHost mytest.website
<VirtualHost mytest.website>
DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
</VirtualHost>
Hapni redaktuesin tuaj të preferuar të tekstit /etc/httpd/conf.d/example-virtualhost.confdhe më pas shtoni përmbajtjen e mësipërme në të. Këtu është komanda për përdorimin e nano:
nano /etc/httpd/conf.d/example-virtualhost.conf
Më lejoni të shpjegoj konfigurimin këtu. Kur specifikojmë "NameVirtualHost", ne në fakt po i tregojmë serverit të uebit se po presim domene të shumta në një IP . Tani, në këtë shembull, unë përdora mytest.websitesi një domen shembull. Ndryshojeni atë në tuajin, ose në një domen sipas zgjedhjes suaj. DocumentRootështë ajo që tregon Apache se ku ndodhet përmbajtja. ServerNameështë një direktivë që ne përdorim për t'i treguar Apache domenin e faqes së internetit. Dhe një etiketë e fundit, </VirtualHost>, e cila i tregon Apache se është fundi i konfigurimit të hostit virtual.
Hapi 4 - Konfigurimi i Apache që të funksionojë si një përdorues tjetër
Siç u përmend më herët, një pjesë e sigurimit të serverit tuaj përfshin ekzekutimin e Apache/PHP si një përdorues i veçantë për çdo host virtual. T'i thuash Apache-t ta bëjë këtë është e thjeshtë pasi të kemi aplikuar patch-in - gjithçka që duhet të bëni është të shtoni:
AssignUserId vhost-user vhost-user-group
... në konfigurimin tuaj. Ja se si do të duket shembulli i hostit virtual pasi të kemi shtuar këtë opsion:
NameVirtualHost mytest.website
<VirtualHost mytest.website>
DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
AssignUserId vhost-user vhost-user-group
</VirtualHost>
Magjia është në linjë që fillon me AssignUserId. Me këtë opsion, ne po i themi Apache/PHP që të ekzekutohet si përdoruesi/grupi i mëposhtëm.
Hapi 5 - Fshehja e versionit të Apache
Ky hap është mjaft i thjeshtë; thjesht hapni skedarin e konfigurimit të Apache duke ekzekutuar komandën e mëposhtme si përdorues rrënjë:
nano /etc/httpd/conf/httpd.conf
Gjeni "ServerTokens" dhe ndryshoni opsionin pas tij në "ProductOnly". Kjo i thotë Apache të zbulojë vetëm se është "Apache", në vend të "Apache/2.2" ose diçka e ngjashme.
Hapi 6 - Rinisni Apache për të aplikuar ndryshimet
Tani që e kemi siguruar serverin, duhet të rifillojmë serverin Apache. Bëni këtë duke ekzekutuar komandën e mëposhtme si rrënjë ose me sudo:
service httpd restart
konkluzioni
Këto janë vetëm disa hapa që mund të ndërmerrni për të siguruar serverin tuaj. Edhe një herë, edhe nëse është dikush të cilit i besoni që pret një faqe interneti në serverin tuaj, duhet të planifikoni ta mbroni atë. Në skenarët e mësipërm, edhe nëse një llogari përdoruesi është komprometuar, sulmuesi nuk do të ketë akses në të gjithë serverin.