Remediați accesul FTP de la PC-ul client Linux cu firewall activat
Astăzi, aș dori să împărtășesc experiența mea personală cu accesul FTP în Linux. Datorită noilor sisteme de operare de la Microsoft, pe care nu le găsesc potrivite pentru utilizarea zilnică, am trecut acum câțiva ani la Linux. Rulez un server FTP în rețeaua mea de acasă și nu am putut să-l accesez de pe computerul meu client care rulează Linux care are reguli de firewall pentru a bloca conexiunile de intrare, adică politica INPUT este setată la REJECT în iptables. Iată cum am rezolvat problema.
Presupun că politica OUTPUT este ACCEPTĂ atât pe mașinile client, cât și pe server.
Soluția #1. Utilizați modulul kernel nf_conntrack_ftp
Modulul kernel nf_conntrack_ftp vă permite să deblocați automat accesul la portul necesar pentru serverul FTP de fiecare dată când faceți o conexiune. Singura cerință pentru acest modul este următoarea linie din regulile dvs. iptables (de obicei este /etc/iptables/iptables.rules) pe computerul client:
$IPT -A INTRARE -i eth0 -m stare --stare RELATED, ESTABLISHED -j ACCEPT
Există eth0 este numele dispozitivului dvs. de rețea.
Apoi, trebuie să încărcați nf_conntrack_ftp dacă nu este încărcat. Rulați următoarea comandă ca root pe computerul client
# modprobe nf_conntrack_ftp
Dacă serverul dvs. folosește un port care nu este implicit (altul decât portul 21), atunci utilizați următoarea comandă:
# modprobe nf_conntrack_ftp ports=portul_dvs
Aceasta va oferi o conexiune automată cu toate porturile necesare între serverul FTP și software-ul client. Acest lucru funcționează până când reporniți computerul.
Pentru a face această modificare permanentă, trebuie să creați un fișier text nou, /etc/modules-load.d/conntrack_ftp.conf și să adăugați următoarea linie la acest fișier:
nf_conntrack_ftp
În cazul unui port server care nu este implicit, trebuie să creați un fișier suplimentar, /etc/modprobe.d/conntrack_ftp.conf cu următorul conținut:
opțiuni nf_conntrack_ftp ports=
Acest lucru ar trebui să fie suficient.
Soluția #2. Utilizați un interval fix de porturi pasive
Dacă nu puteți utiliza modulul nf_conntrack_ftp, puteți seta un interval fix de porturi pentru software-ul serverului FTP și îl puteți deschide pe computerul client. De exemplu, iată cum se poate face pentru aplicația vsftpd.
- În fișierul de configurare al lui vsftpd, care este de obicei /etc/vsftpd.conf, adăugați următoarele rânduri:
pasv_min_port=5500. pasv_max_port=6500
Acest lucru ar trebui făcut pe partea de server. După aceea, ar trebui să reporniți vsftpd.
- În regulile dumneavoastră iptables (de obicei este /etc/iptables/iptables.rules) de pe computerul client, adăugați următoarea regulă:
$IPT -A INTRARE -p tcp -s
--dport 5500:6500 -j ACCEPT - Aplicați regulile iptables după cum urmează:
# iptables-restore < /etc/iptables/iptables.rules
Asta e.