Cheater Posted June 22, 2009 Report Posted June 22, 2009 Si iata si primul meu tutorial de pe rst, de mult tot am vrut sa scriu diferite tutoriale, am cateva neterminate, datorita lipsei de timp, dar pe acesta am reusit in sfarsit sa il termin.Astept sugestii si corecturi pentru a-l imbunatati.Varianta PDF -> http://cheater.shell.tor.hu/tutorial_securitate.pdfTutorial cum securizam un server By Cheater, RST Nu multa lume stie acest lucru, dar serverul joaca un rol foarte important in securitatea si implicit in posibilitatea de a fi expluatat scriptul ce ruleaza pe acesta. Am vazut la multe firme considerate reper pe piata hostingului atat din romania cat si international ca securitatea serverelor este un domeniu taboo, de aceea m-am hotarat sa scriu acest tutorial. Am incercat sa scriu totul cat mai generic si sugestiv plecand din punctul in care serverul este deja configurat pentru a extinde aplicabilitatea informatiilor in cat mai multe distributii linux, dar am inclus si sugesti de tutoriale pentru configurarea serverului.Alegerea distributiei linux: 1. Alegem o distributie linux, foarte multi aleg Cent OS, o distributie RPM, in genul RedHat, Fedora, pentru ca este o distributie care consuma foarte putine resurse si este compatibila Cpanel. Personal, pot spune ca sunt fan Ubuntu, o distributie ce se trage din Debian, o consider mult mai stabila si mai eficenta decat altele. Dupa ce ati ales distributia cautati pe http://www.howtoforge.com “The perfect server Ubuntu” unde in loc de Ubuntu puteti scrie numele distributiei alese pentru tutorialul corespunzator de configurare a serverului.Sugesti la instalare: 1. Updateurile: La acest punct voi face cateva atentionar asupra unor specificatii din unele tutoriale, de exemplu veti gasi in acestea recomandari ca in timpul instalari sa alegeti “No automatic updates”, un factor important intr-un server secure sunt updateurile, deoarece in momentul in care este descoperita o greseala de securitate intr-un program va aparea un update prin care vulnerabilitatea va fi reparata.Dupa instalare: Primul lucru dupa instalare este un update, pentru a fi sigur ca incepem configurarea pe o baza cat mai noua si implicit eficienta si sigura. Apoi din motive de securitate recomand ca serverul mysql sau cel raspunzator de bazale de date sa ruleze numai pe localhost, acesta este o setare default numai ca uni sfatuiesc ca acesta sa fie configurat pentru a fi disponibil si pentru conexiuni externe, nu faceti acest lucru decat daca este neaparat nevoie, se poate verifica in fisierul my.conf locatia acestuia in distributiile bazate pe Debian este “/etc/mysql/my.conf”, linia: “bind-address = 127.0.0.1”, unde 127.0.0.1 este ip-ul generic pentru localhost. Un program care poate fi instalat pentru evitarea incercarilor brute-force este “fail2ban” care poate fi instalat din repository. De asemenea un lucru important este ca in configurarea serverelor de mail sa verificam si daca este cazul sa setem sa nu accepta trimiterea mailurilor daca userul nu este autentificat. Ideal este ca serverul nostru sa aibe instalat Saslauthd , la distributiile bazate pe Debian il putem instala prin “apt-get install libsasl2-2 libsasl2-modules libsasl2-modules-sql” 3. Apache: Dupa instalarea serverului apache recomand urmatoarele instalarea urmatoarelor module: mod_access, mod_auth, mod_dir, mod_log_config, mod_mime. Unele sunt instalate default. Un modul important in ceea ce priveste securitatea este: mod_security, il puteti descarca de pe siteul oficial http://www.modsecurity.org/ unde gasiti toate informatiile de care aveti nevoie, este un plugin care are scopul de a filrta informatiile cerute si procesate de apache in asa fel incat sa protejeze serverul de diverse atacuri. Mentionez ca unele scripturi pot fi blocate de acesta dar pot fi create reguli pentru ignorarea partiala sau totala a lor. De asemenea adaugarea urmatoarelor linii in httpd.conf sau apache2.conf, depinde de distributie “ResourceConfig /dev/null AccessConfig /dev/null” Este fosrte important sa nu dam dreptul userului sub care ruleaza apache sa execute comenzi in sistem, pentru a preveni exploatarea sistemului. 4. Chroot ( http://en.wikipedia.org/wiki/Chroot ) Pentru o mai buna securitate vom configura atat pureftpd cat si apache sa foloseasca chroot: Pentru pureftpd vom accesa fisierul de config care in mod obisnuit la distributile bazate pe Debian se afla in “/etc/default/pure-ftpd-common” unde vom modifica linia “VIRTUALCHROOT=false” in “VIRTUALCHROOT=true”. Pentru apache e recomandabil sa instalam Jailkit care il putem descarca de la adresa http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz. 5. Alte programe: rkhunter – il puteam lua din repository, verifica constant impotriva rootkit-urilor. Snort – fiind un intrusion prevention and detection system. Il putem lua din repository. Daca instalarea se face manual din sursele disponibile pe siteul oficial atunci nu uitati sa luati si pachetul de reguli si sa configurati updateul conform instructiunilor disponibile pe site. 6. Antivirus Toti stiti probabil ca virusi nu sunt poroblema sistemelor de operare unix (linux, solaris, apple...) dar avand in vedere ca probabil vor circula prin serverul dvs. Diferite fisiere care pot fi malitioase pentru windows recomand instalarea unui antivirus, fiind vorba de ClamAV. ClamAV este un antivirus gratuit disponibil in repository. El va verifica atat mailurile cat si fisierele incarcate pe server. 7. phpMyAdmin Cum phpmyadmin este un script de administrare a bazelor de date foarte raspandit am doua mentiuni pentru a evita exploatarea unor probleme de securitate: 1. stergem fisierul htpasswd.setup, care la distributiile bazate pe debian in mod obisnuit se afla la “/etc/phpmyadmin/htpasswd.setup” 2. stergem directorul “config”, fiind in “/usr/share/phpmyadmin”.Firewall: Recomand de asemenea configurarea unor reguli stricte in firewall, pentru aceasta folositi iptables. NU lasati libere decat porturile utilizate de vreun program ex: (unul din motive fiind ca in cazul in care cineva patrunde in server altfel ar putea deschide porturi prin care sa exploateze serverul) http: 80 tcp (apache) https: 443 tcp (apache) ftp: 21 tcp (proftpd) ssh: 22 tcp (open ssh) pop3: 110 tcp (protocolul citire mail pop3) imap: 143 tcp (protocolul citire mail imap) imap secure: 933 tcp (protocolul citire mail imap cu conexiune ssl) smtp: 25 tcp (protocolul trimitere mail smtp) dns: 53 tcp&udp (raspunde de asocierea domeniu.tld , ex: rstcenter.com cu serverul pe cere este gazduit siteul, potrul trebuie deschis atat pe tcp cat si udp!) Alte porturi folosite de programe precum panoul de administrare hosting.Consider ca aceste setari ar trebui fi mai mult decat obligatorii la orice server, configurat astfel, teoretic, un script oricat ar fi de buggy si plin de gauri de securitate va fi imun la atacuri datorita serverului, astfel va fi protejat si serverul de posibilitatea de a fi exploatat plecat de la shelluri pana la rooting!Articolul este sugestiv si nu ofera nici o garantie in privinta securitatii serverului, de asemenea nu imi asum raspunderea pentru eventuale probleme, prejucii de orice fel cauzate in mod direct sau indirect de acest tutorial.. 1 Quote
Cheater Posted June 25, 2009 Author Report Posted June 25, 2009 Nu sunt genul care sa copiez, e facut de mine 100% . Daca u il gasesti identic in engleza imi sterg singur contul de pe rst in loc de ban!Sper sa ii fie de folos cuiva mi-a luat vreo 6-7 h . Quote
JustJkr Posted August 15, 2011 Report Posted August 15, 2011 Bravo ...mie mi-a fost de folost !!! Quote
-ipX- Posted August 15, 2011 Report Posted August 15, 2011 destul de bun, bravo si multumesc...Personal, pot spune ca sunt fan Ubuntu, o distributie ce se trage din Debian, o consider mult mai stabila si mai eficenta decat altele.*fiecare cu deprinderile lui eu as fi de parerea ca o distributie rpm ar fi mult mai buna*cei drept e mai greu de utilizat dar e o distributie mai mult "business"redhat e destul de bun, dar comercial, optez pt centos ca e free si se lucreaza in mod deschis la inbunatatirea luiPS: mai sunt si fan centos Quote
PingLord Posted August 16, 2011 Report Posted August 16, 2011 Interesant.Se aseamana in mare parte cu cel facut de mine.Felicitari de efort si informatii buneUn mod_rewrite ar fi fost ok pe apache.Pe webservere eu as folosi si CSF cu LFD dar trebuie sa fii atent la configurari ca altfel se duce totul. Quote
nedo Posted August 16, 2011 Report Posted August 16, 2011 Ma bucur ca va ajuta tutorialul dar sunteti constienti ca este din 2009, nu??? Quote
Flubber Posted August 16, 2011 Report Posted August 16, 2011 Daca tot ati inviat thread-ul, propun sa aruncati si un `ochi` peste port knocking (destinat serverelor ce nu se `arata` in public, dar interactioneaza cu adminii/userii w/e prin servicii ca SSH etc. ce necesita un port deschis pentru schimbul de date): New Security Features in HTML5 (punctul: 0x06 -- 0x06 Port Knocking Primer)Un concept vechi, dar cu mult subestimat.Deasemenea:1] PORTKNOCKING - A system for stealthy authentication across closed ports. : ABOUT : summary2] Port knocking - Wikipedia, the free encyclopedia Quote
unknown. Posted August 16, 2011 Report Posted August 16, 2011 Si macar de-l invia cu un scop anume(de a adauga ceva,sau a corecta ceva) dar el a inviat ca sa multumeasca. Quote
backdoor Posted September 9, 2011 Report Posted September 9, 2011 1. Da si eu va recomand o distributie bazata pe RedHat , in mode deosebit CentOS / Fedora pt ca nu are librariile tinute la zi si sunt o groaza de exploituri care merg. Acelasi lucru si cu Ubuntu... 2. Mysql are optiunea --skip-networking, si merge doar cu mysql.sock (mult mai sigur) .3. Apache, sunt o sumedenie de module care nu sunt folosite niciodata gen : mod_imap , mod_imagemap, mod_dav, mod_proxy .... 4,5,6 - Sa zicem ..7. Dale si config.inc.php...In fine cel mai simplu este sa portniti toate serviciile , sa nu puneti firewall , sa nu faceti nici o setare speciala ci doar sa asteptati ca noi sa il testam. Quote
wapmaster13 Posted January 12, 2014 Report Posted January 12, 2014 folositor,dar parca l-am mai citit undeva Quote
pu5htiu Posted January 15, 2014 Report Posted January 15, 2014 recomand fail2ban : HOWTOs - Fail2ban Quote