Așa cum bine știți lumea cibernetică este plină de capcane altele mai periculoase decât altele. Dacă pentru Windows există destule tipuri de viruși sau troieni, noi utilizatorii de linux trebuie să facem față numeroaselor exploit-uri sau rootkit-uri ce ne pot afecta serverul în mai multe feluri decât ne putem inchipui.
Ce putem face pentru a ne proteja serverul?
Răspunsul la această întrebare este destul de complicat și în cele bune cazuri oferă 99,99% protecție (da, o urmă de necunoscut tot va rămâne) serverului vostru. Pentru început este bine să rețineți că un exploit sau rootkit poate fi introdus sub o distribuție linux în urma a numeroase atacuri, numite atacuri de tip brute-force. Porturile vizate de aceste atacuri sunt în general 22 (SSH) sau 443 (https) şi caută numeroase puncte slabe precum useri sau parole prost sau deloc configurare. Menționez pe această cale că mai există şi alte porturi vulnerabile doar că în cazul meu doar acestea erau atacate.
Primii pași pentru asigurarea protecției serverului nostru:
1. nu instalați implicit activați serviciul de telnet deoarece acesta este depășit și folosește sistemul de trimitere a parolelor în modul plain-text;
2. folosind Yast instalați pachetul yast2-sshd. După instalare accesați Network Service respectiv SSHD Configuration și faceți următoarele setări: în tabul General în loc de port 22 puneţi orice alt port, in tabul Login Settings debifați căsuța permit root login şi în tabul protocol and ciphers setați 2only după care se dă finish;
3. se deschide noul port în firewall accesând Security and users, respectiv Firewall după care se dă click pe Allowed Services apoi pe Advanced și la TCP Ports se adaugă noul port. Salvarea se face dând OK apoi Next şi desigur Finish. Acest pas este opțional dacă nu doriți să folosiți acest serviciu pe server.
Acestea ar fi câteva setări minime pe care un utilizator ar trebui să le facă. Pentru a adăuga protecție la setările noastre putem instala, folosind YaST desigur, programul fail2ban. Scopul acestuia este de a bana orice ip care comite prea multe greșeli în ceea ce privește parola sau userul (și să preîntâmpine astfel atacurile brute-force).
O protecție mai avansată, pentru cei care doresc asta, este oferită de programe precum setul portsentry, logcheck si chkrookit sau de către programul rkhunter ce măreşte rata de detecţie a programului chkrootkit.
Ghidul de instalare pentru setul portsentry, logcheck si chkrookit îl puteţi găsi la pagina http://www.falkotimme.com/howtos/chkrootkit_portsentry/ (este destul de detaliat recomand citirea cu atenţie a acestuia). Doresc să adaug aici un element ce a scăpat creatorului acelui tutorial şi anume în portsentry-beta există fişierul portsentry.c ce conține o greșeală de construcție la linia 1583, soluţia poate fi găsită în cadrul acestei topici http://www.howtoforge.com/forums/showthread.php?t=25114
Ghidul de instalare şi download pentru rkhunter este: http://www.rootkit.nl/ sau http://www.dedicated-resources.com/guide/65/How-To-Install-RKHunter.html
La prima vedere pot părea o grămadă de programe de instalat, dar odată active vă puteţi face o idee despre ceea ce se întâmplă atunci când o distribuție Linux ce are funcția server activă(apache,php şi mysql) plus portul ssh deschis şi este expus unei conexiuni de internet. De asemenea menționez că programele portsentry, logcheck, chkrookit şi rkhunter pot fi instalate ca un pachet de protecție a serverului vostru deoarece ele nu vor avea conflicte în timpul funcționării.

1 comment
In mare parte e ok ce s-a spus mai sus dar mai securizat ar fi sa se foloseasca filtrarea si dupa IP.
Nu cred (desi exista cazuri) ca toata ziua dati ssh pe serverul vostru de la n ip-uri. Asa ca … mai bine decat sa dati la yast permit la portul 22 (sau ce port ati ales pt ssh), mai bine mergeti la custom rules si adaugati si sursa de la care dati ssh. Astfel se va filtra accesul pe portul ssh-ului doar de la ip-urile bagate in custom rules. Totodata o configurare MULT mai detaliata puteti face din /etc/sysconfig/SuSeFirewall.