Pateikiami baziniai patarimai kaip sustiprinti serverio saugumą kuomet naudojamas DirectAdmin valdymo pultas.
Serverio saugumo užtikrinimas yra kompleksinė užduotis reikalaujanti itin išsamios serveryje veikiančios programinės įrangos ir galimų grėsmių analizės. Jei abejojate savo žiniomis Linux operacinės sistemos administravimo srityje, rekomenduojame rasti specialistą kuris jums pagelbėtų.
1. Įdiegus valdymo pultą, visuomet pravartu sustiprinti PHP saugumą išjungus nenaudojamas funkcijas. Tai galite atlikti SSH konsolėje įvykdę šias komandas:
cd /usr/local/directadmin/custombuild
./build update
./build secure_php
2. Siekiant saugumo būtina reguliariai atnaujinti operacinę sistemą ir joje veikiančias tarnybas. Operacinės sistemos paketus galite atnaujinti prisijungę prie serverio bei SSH konsolės pagalba įvykdę komandą:
yum update
DirectAdmin valdymo pultą bei kartu su juo įdiegtus paketus reiktų atnaujinti naudojantis DirectAdmin pateiktu atnaujinimo įrankiu. Jį galite aktyvuoti įvykdę šias komandas:
cd /usr/local/directadmin/custombuild
./build update
./build all d
Pastaba: aplanke
/usr/local/directadmin/custombuild jūs rasite failą pavadinimu
options.conf . Šiame faile yra surašyta visa informacija ką atliks DirectAdmin atnaujinimo įrankis. Įsitikinkite jog faile yra nurodyta eilutė
clean_old_webapps=yes .
Pageidaujant jog atnaujinimo įrankis jus informuotų apie naujausius paketų atnaujinimus galite pasinaudoti CRON įrankiu. Atverkite failą options.conf ir raskite šias eilutes:
#Cron settings
cron=yes
email=jūsų_el.pašto_adresas
notifications=yes
updates=no
webapps_updates=yes
Grafoje "
email=" nurodykite savo el.pašto adresą, kuriuo sistema jus informuos apie gailmus atnaujinimus. Taip pat pažymėkite reikšmes kurios paryškintos juodai.
Atlikus šiuo pakeitimus, failą išsaugokite ir tuomet įvykdykite komandą;
./build cron
Tokiu būdu jūs būsite perspėjami atsiradus paketų atnaujinimams. Tačiau sistema niekada neatnaujins jų be jūsų žinios. Tam, jog atnaujintumėte tik tuos paketus kurie turi išleistus atnaujinimus, įvykdykite komandą:
./build update_versions
Jei pageidaujate jog sistema visgi už jus atnaujintų paketus, tuomet konfigūraciniame faile raskite eilutę "
updates=" ir pakeiskite reikšmę iš "
no" į "
yes" .
Pastaba: jūs arba jūsų paskirtas administratorius po automatinio atnaujinimo turi peržiūrėti ir įsitikinti jog sistema po atnaujinimų veikia tinkamai.
3. Jei jūs naudojate PHP "CLI" režimu, tuomet būtų protinga aktyvuoti PHP
SafeMode bei
open_basedir . Šių nuostatų kontrolei reiktų prisijungti prie DirectAdmin valdymo pulto "admin" teisėmis. Nuostatas galite rasti
Admin Level -> Php Safemode Config
4. Kai kurie administratoriai pasirenka suPHP nuostatą. Ši nuostata leidžia vykdyti scenarijus vartotojo teisėmis (o ne apache kaip tai vyksta PHP CLI). Ši nuostata išsprendžia daugelį problemų su failų teisėmis kuomet PHP scenarijaus dėka įkeliamas failas. Taip pat, ši nuostata padeda serverio administratoriui greičiau ir lengviau lokalizuoti resursus eikvojantį vartotoją. suPHP nuostata suteikia daugiau saugumo PHP aplikacijoms nes aplikacijai gali būti suteikiamos teisės 700 vietoje 755. Tad, jei failuose saugote slaptažodžius ar kitą informaciją tai yra pravartu.
Tačiau, suPHP reikalauja šiek tiek daugiau serverio resursų nei paprasta PHP + CLI konfigūracija. 3 punkte aprašytas saugumo stiprinimo metodas neveiks, nes suPHP nenuskaito VirtualHost PHP nuorodų (visos nuostatos privalo būti pateikiamos
php.ini faile). Bet, galite kiekvienam vartotojui priskirti po atskirą php.ini failą (
gidas ).
Puikus gidas apie tai kaip aktyvuoti suPHP pateikiamas šiuo adresu:
http://help.directadmin.com/item.php?id=197
5. Jei neplanuojate prisijungti prie MySQL duomenų bazės iš išorės (iš kitų serverių) tuomet būtų protinga išjungti tokią galimybę ir taip apsaugoti savo duomenų bazę nuo prisijungimo iš išorės. Tam tereikia atverti failą my.cnf :
nano /etc/my.cnf
ir po eilute
[mysqld] nurodyti:
bind-address = 127.0.0.1
Atlikus pakeitimą, perkraukite MySQL serverį:
service mysqld restart .
6. Itin pravarti saugumo priemonė - tinkamai sukonfigūruota ugniasienė. Tam puikiausiai tinka nemokamas ir labai patogus įrankis
ConfigServer Firewall.
Diegimo instrukcija:
https://forumas.dedikuoti.lt/discussion/680
Šis įrankis puikiai integruojasi į DirectAdmin valdymo pultą ir juo administruoti ugniasienę galite prisijungę prie DirectAdmin valdymo pulto "admin" teisėmis (grafoje "
Extra Features")
7. Rekomenduojame named tarnybai išjungti recursion galimybę. Itin detalus gidas pateiktas adresu
http://help.directadmin.com/item.php?id=115 .
8. Aktyvuokite sudėtingų slaptažodžių tikrinimo funciją (Difficult Password Enforcemen). Tai galite atlikti prisijungę prie DirectAdmin valdymo pulto "admin" teisėmis (grafa "
Extra Features" nuoroda "
Administrator Settings").
9. Uždrauskite vartotojams kurti sub-domenus su jiems nepriklausančiais domenais. Tai galite atlikti prisijungę prie DirectAdmin valdymo pulto "admin" teisėmis (grafa "
Extra Features" nuoroda "
Administrator Settings" nuostata "
Check domain owner for Subdomain creation").
10. Saugumo sustiprinimui nustatome atitinkamas teises PERL paketų vykdymui:
chgrp apache /usr/bin/perl /usr/bin/wget /usr/local/bin/wget /usr/local/bin/curl /usr/bin/curl
chmod 705 /usr/bin/perl /usr/bin/wget /usr/local/bin/wget /usr/local/bin/curl /usr/binl/curl
Šios nuostatos neleis vartotojui "apache" komandos /usr/bin/perl .
Pastaba: jei naudojate suPHP, tuomet ši nuostata nėra būtina (tačiau ir nemaišys).
11. El.pašto saugumui sustiprinti rekomenduojame aktyvuoti SSL palaikymą susijungimams. Puikus gidas kaip tai atlikti pateikiamas adresu
http://www.directadmin.com/forum/showthread.php?t=43500 .
12. Ssitemų administratoriams pageidaujantiems peržiūrėti ir koreguoti DirectAdmin valdymo pulto konfigūraciją, rekomenduojame pasinaudoti komanda:
/usr/local/directadmin/directadmin c
13. Apsisaugant nuo Brute force atakų, rekomenduojame pakeisti DirectAdmin valdymo pulto prisijungimo prievadą iš standartinio 2222 į savo sugalvotą. Tam tereikia atlikti šiuos žingsnius.
nano /usr/local/directadmin/conf/directadmin.conf
raskite eilutę
port=2222 ir skaičių 2222 pakeiskite į jūsų pageidaujamą. Pavyzdys:
port=1234 .
nano /var/www/html/redirect.php
Ir kodo eilutę:
<?php
header("Location: http://".$_SERVER['HTTP_HOST'].":2222");
?>
pakeiskite į:
<?php
header("Location: http://".$_SERVER['HTTP_HOST'].":1234");
?>
Tai atlikę, perkraukite DirectAdmin valdymo pultą:
service directadmin restart