In cadrul unui articol anterior am vorbit despre securitatea unui server VPS si am adus in centrul atentiei cateva programe menite sa il protejeze de rootkituri. Tot pe tema securizarii unui server VPS o sa va prezentam un tutuorial prin care sa creati un firewall folosind Iptables. Ca sistem de operare pentru tutorial am ales CentOS, deoarece acesta este instalat implicit pe orice VPS achizitionat de pe HOSTGATE.RO.
Ce este un firewall?
In retelele de calculatoare, un firewall este un dispozitiv sau o serie de dispozitive configurate in asa fel incat sa filtreze, sa cripteze sau sa intermedieze traficul intre diferite domenii de securitate pe baza unor reguli predefinite.
O sa presupunem ca aveti nevoie sa configurati portul 80 necesar unui server web si respectiv portul de ssh. Din motive de securitate este indicat sa nu folositi portul 22 pentru ssh ci orice alt port, de exemplu pentru tutorial o sa folosim 22222. De asemenea este indicat ca parola pentru userul root sa fie cat mai complexa, alcatuita din simboluri si caractere alfanumerice. Orice VPS oferit de hostgate.ro beneficiaza de protectie la nivel de NOD astfel ca firewall-ul este setat implicit sa accepte orice conexiune.
Schimbarea portului aferent serviciului SSH se efectua prin editarea fisierului sshd_config din cadrul folderului /etc/ssh/. Deschideti fisierul sshd_config prin comanda nano sshd_config, decomentati linia #Port 22 si in locul ei puneti Port 22222. Salvati schimbarile efectuate in fisier si apoi restartati serverul de ssh prin comanda /etc/init.d/sshd restart.
Logati-va in cadrul serverului de VPS folosind userul root si parola aferenta acestuia, dupa care initiati comenzile din pasii de mai jos pentru a crea un firewall cu cateva reguli de baza.
Pasul 1: iptables -P INPUT ACCEPT
pentru a permite temporar orice conexiune de tip remote catre VPS
Pasul 2: iptables -F
pentru a sterge orice alte reguli de Iptables existente
Pasul 3: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
este cea mai importanta regula pentru Iptables deoarece verifica tipul pachetelor respectiv NEW, ESTABLISHED sau RELATED
Pasul 4: iptables -A INPUT -p tcp --dport 22222 -j ACCEPT
pentru a deschide portul 22222 necesar conectarii prin SSH la serverul VPS
Pasul 5: iptables -A INPUT -p tcp --dport 80 -j ACCEPT
pentru a deschide portul 80 necesar serviciului Apache
Pasul 6: iptables -P INPUT DROP
pentru a filtra conexiunile catre serverul de VPS ale caror reguli nu sunt stabilite in Iptables
Pasul 7: iptables -P FORWARD DROP
deoarece nu folositi VPS-ul ca si router pentru a face port forwarding
Pasul 8: iptables -P OUTPUT ACCEPT
pentru a permite traficul care porneste din serverul de VPS catre internet
Pasul 9: iptables -L -v
pentru a verifica regulile create in firewall
Dupa ce ati vizualizat regulile de Iptables create a sosit momentul sa salvam setarile. Acestea se salveaza prin comanda /sbin/service iptables save
in cadrul /etc/sysconfig/iptables. Regulile sunt citite si aplicate de fiecare data cand serverul de VPS este restartat.