Labojiet FTP piekļuvi no Linux klienta datora ar iespējotu ugunsmūri
Šodien es vēlētos dalīties savā personīgajā pieredzē par FTP piekļuvi operētājsistēmā Linux. Pateicoties jaunajām Microsoft operētājsistēmām, kuras man nešķiet piemērotas ikdienas lietošanai, pirms dažiem gadiem pārgāju uz Linux. Manā mājas tīklā darbojas FTP serveris, un es nevarēju tam piekļūt no sava klienta datora Linux, kuram ir ugunsmūra noteikumi, lai bloķētu ienākošos savienojumus, t.i., politika INPUT ir iestatīta uz NORAIDĪT iptables. Lūk, kā es novērsu problēmu.
Es pieņemu, ka OUTPUT politika ir ACCEPT gan klienta, gan servera mašīnās.
Risinājums #1. Izmantojiet kodola moduli nf_conntrack_ftp
Kodola modulis nf_conntrack_ftp ļauj automātiski atbloķēt piekļuvi vajadzīgajam portam FTP serverim katru reizi, kad tiek izveidots savienojums. Vienīgā prasība šim modulim ir šāda rinda jūsu iptables noteikumos (parasti tā ir /etc/iptables/iptables.rules) klienta datorā:
$IPT -A IEVADE -i eth0 -m stāvoklis -stāvoklis SAISTĪTS, IZVEIDOTS -j ACCEPT
Ir eth0 ir jūsu tīkla ierīces nosaukums.
Pēc tam jums jāielādē nf_conntrack_ftp, ja tas nav ielādēts. Palaidiet šo komandu kā root klienta datorā
# modprobe nf_conntrack_ftp
Ja jūsu serveris izmanto kādu portu, kas nav noklusējuma ports (izņemot portu 21), izmantojiet šo komandu:
# modprobe nf_conntrack_ftp ports=jūsu_ports
Tas nodrošinās automātisku savienojumu ar visiem nepieciešamajiem portiem starp FTP serveri un jūsu klienta programmatūru. Tas darbojas līdz datora restartēšanai.
Lai padarītu šīs izmaiņas neatgriezeniskas, jums ir jāizveido jauns teksta fails /etc/modules-load.d/conntrack_ftp.conf un jāpievieno šim failam šāda rindiņa:
nf_conntrack_ftp
Ja nav noklusējuma servera ports, jums ir jāizveido papildu fails /etc/modprobe.d/conntrack_ftp.conf ar šādu saturu:
opcijas nf_conntrack_ftp ports=
Ar to vajadzētu pietikt.
Risinājums #2. Izmantojiet fiksētu pasīvo portu diapazonu
Ja nevarat izmantot moduli nf_conntrack_ftp, varat iestatīt fiksētu portu diapazonu FTP servera programmatūrai un atvērt to klienta datorā. Piemēram, šeit ir norādīts, kā to var izdarīt vsftpd lietotnei.
- Vsftpd konfigurācijas failā, kas parasti ir /etc/vsftpd.conf, pievienojiet šādas rindas:
pasv_min_port=5500. pasv_max_port=6500
Tas jādara servera pusē. Pēc tam jums vajadzētu restartēt vsftpd.
- Klienta datora iptables noteikumos (parasti tas ir /etc/iptables/iptables.rules) pievienojiet šādu noteikumu:
$IPT -A IEEJA -p tcp -s
--dport 5500:6500 -j ACCEPT - Lietojiet iptables noteikumus šādi:
# iptables-restore < /etc/iptables/iptables.rules
Tieši tā.