PingLord Posted July 4, 2011 Report Posted July 4, 2011 Acest tutorial este facut pentru distro-uri RHEL , in special CentOS.De obicei,eu prefer sa instalez sistemul fara pachete,nici macar "Base" dar sa presupunem ca s-a instalat sistemul si suntem in consola.Primul lucru este update la pachete.yum updateyum upgradeRecomand inchiderea SeLINUX si trecerea in Disabled ( nu permissive ).Daca este server ce are ca scop virtualizarile si de a deveni host pentru servere guest merge si interfata web pentru acces diferit de ssh.Daca serverul se vrea WebServer pentru monitorizare se poate folosi Cacti sau Nagios.Daca serverul are ca scop mail o interfata web pentru module de filtrare si interfata pentru cei care nu sunt obisnuiti cu comenzile de consola din iptables.Dupa ce s-a terminat cu update-ul este important sa oprim serviciile care nu le folosim.DEZACTIVARE SERVICII# ps –ax - listeaza toate procesele ce ruleaza # ls –l /etc/rc.d/rc3.d/S* - va arata toate scripturile de start-up# netstat –a - listeaza toate porturile deschise# chkconfig – lista arata startup-ul actual al tuturor proceselor cunoscute de chkconfigDupa ce se face lista cu ce trebuie si nu trebuie se foloseste comanda service numeserviciu stop pentru oprirea serviciului sau din chkconfig se scoate din ce init-uri sa nu porneasca sau sa porneasca.SECURIZARE CRONTABEste important pentru CRON sa fie folosit doar userul root.Daemonul de cron este folosit pentru a programa procese.Comanda 'crontab' este folosita pentru a crea intrari personale de crontab pentru useri sau contul de root.Pentru a intarii securitatea pe cron,se poate stabili prin cron.deny sau cron.allow care sunt fisiere,folosirea crontabului.Urmatoarele comenzi vor face ca userul root sa fie singurul cu permisiuni de a adauga cron-uri.cd /etc//bin/rm -f cron.deny at.denyecho root >cron.allowecho root >at.allow/bin/chown root:root cron.allow at.allow/bin/chmod 400 cron.allow at.allowSECURIZARE SSH SI ACCES REMOTENu este recomandat pentru acces remote folosirea telnet.Secure Shell ( SSH ) este o alternativa securizata ce ofera encriptie pe conexiune.Pentru securizarea lui se va folosi protocolul 2 de ssh ce este mult mai putin vulnerabil decat ssh1,vom dezactiva login-ul direct cu root.Pentru asta trebuie editat fisierul de configurare 'sshd_config' aflat in /etc/ssh/.Ar trebui sa arate in felul urmator configurareaProtocol 2PermitRootLogin noPermitEmptyPasswords noBanner /etc/issueIgnoreRhosts yesRhostsAuthentication noRhostsRSAAuthentication noHostbasedAuthentication noLoginGraceTime 1m SyslogFacility AUTH (ofera logging sub autoritatea syslog)AllowUser [lista utilizatorul ce au accesul permis]DenyUser [lista conturilor de sistem si altele care nu au acces]MaxStartups 10 (numarul maxim de conexiuni simultane neautentificare.este folositor pentru protectie brute force care face forking.)Eu sunt de parere ca ar trebui schimbat si portul de acces dar ramane la alegerea fiecaruia.FIREWALLPentru firewall eu as merge pe CSF ( ConfigServer Firewall ) .Este free si configurarea se poate face din csf.conf care este mult mai friendly.ATENTIE : Are nevoei de pachetul libwww-perl !! Link-ul de download este acesta : http://configserver.com/free/csf.tgzDownload cu wget si pe urma in directorul in care s-a descarcat #tar -xzvf csf.tgz#cd csf./install.shConfigurarea se face din /etc/csf/csf.conf .Recomand citirea fisierului deoarece contine explicatii si instructiuni precise cu referire la functionalitatea firewallului.ROOTKIT Este recomandat si folosirea unui scanner de rootkit si porturi de retea suspecte.Eu am folosit mereu rootkit hunter si este foarte bun si un pic interactiv sa zicem asa.Se gaseste pe sourceforge si este usor de instalat.VIRUSIClamAV ramane o solutie viabila free pentru scanare ce detecteaza si shell-uri php ce pot crea probleme.Link: Download Clam AntiVirus from SourceForge.netIn principiu cam asta ar fi o securitate basic la nivel de server.Daca doriti completari sau mai detaliat anumit punct postati cu incredere.Astept si corectari daca am gresit ceva. 1 Quote
Zatarra Posted July 4, 2011 Report Posted July 4, 2011 (edited) Recomand inchiderea SeLINUX si trecerea in Disabled ( nu permissive ).Dupa ce s-a terminat cu update-ul este important sa oprim serviciile care nu le folosim.DEZACTIVARE SERVICII# ps –ax - listeaza toate procesele ce ruleaza # ls –l /etc/rc.d/rc3.d/S* - va arata toate scripturile de start-up# netstat –a - listeaza toate porturile deschise# chkconfig – lista arata startup-ul actual al tuturor proceselor cunoscute de chkconfigROOTKIT Este recomandat si folosirea unui scanner de rootkit si porturi de retea suspecte.Eu am folosit mereu rootkit hunter si este foarte bun si un pic interactiv sa zicem asa.Se gaseste pe sourceforge si este usor de instalat.VIRUSIClamAV ramane o solutie viabila free pentru scanare ce detecteaza si shell-uri php ce pot crea probleme.Link: Download Clam AntiVirus from SourceForge.netIn principiu cam asta ar fi o securitate basic la nivel de server.Daca doriti completari sau mai detaliat anumit punct postati cu incredere.Astept si corectari daca am gresit ceva.1. Nu recomand inchiderea SELinuxului2. ls –l /etc/rc.d/rc3.d/S* le afiseaza doar pe cele din runlevel 33. chkconfig --list nu chkconfig simplu4. Legat de rootkit eu am sniffer cu bd inclus care nu e detectat de RK Hunter, cu toate astea ramane un anti rk bun.5. Sustin faza cu clamav.6. As mai adauga o securitate folosind TCPWrappers (un eventual help aici)7. Bravo pentru tutorial, +1 pentru ca a fost facut de tine.8. Sper sa continui tot asa si la cat mai multe tutoriale de genul Edited July 4, 2011 by Zatarra Quote
PingLord Posted July 4, 2011 Author Report Posted July 4, 2011 Am considerat ca un server nu are nevoie de X Window System si GUI...lucram doar runlevel3.Am pus ceva basic.O sa incerc sa mai fac completari.Cred ca mi-a scapat si portsentry...Multumesc pentru rep si sper sa fie folositor.SeLinux il inchid ca sa am liniste.De exemplu pe anumite platforme web ce vin cu un installer propriu imi blocheaza accesul sa le vad pe port 80.Il deschid si il configurez sa nu ma deranjeze. Quote
Zatarra Posted July 4, 2011 Report Posted July 4, 2011 Eu am avut mari probleme cu SELinux cand implementam samba.. deoarece nu te lasa sa dai share la foldere cu path-uri diverse.. doar /home /tmp si chestii de genu.Mai multe detalii gasesti aici: Quote
PingLord Posted July 4, 2011 Author Report Posted July 4, 2011 Samba e tricky dar se poate cu anumit mount si depinde si cum iti partitionezi serverul. Quote
Zatarra Posted July 4, 2011 Report Posted July 4, 2011 Daca ai SELinuxul activat orice ai face nu poti face share oriunde.Trebuie sa dai una din comenzile astea 2 pentru solutie temporarasetsebool -P samba_export_all_rw on (pentru permisiuni rw pe share)setsebool -P samba_export_all_ro on (pentru permisiuni ro pe share)Si una din astea 2 pentru solutie permanentaecho "samba_export_all_rw=1" >> /etc/selinux/config (pentru permisiuni rw pe share)echo "samba_export_all_ro=1" >> /etc/selinux/config (pentru permisiuni ro pe share)Am detaliat mai mult aici: http://rstcenter.com/forum/35818-linux-sharing-using-samba.rst Quote