Hogyan állítsuk be a tűzfalat, ha ftp szervert akarunk üzemeltetni?
Az FTP két portot használ a kapcsolathoz. Az alap 20-as port az adat, a 21-es a parancs port. A konfigurációban az utóbbi tudjuk állítani, de jó ha tudjuk, hogy mindkettő változik. Tehát ha a 21-et átírjuk 51-re, akkor a 20-as helyett is az 50-es portot kell majd engedélyezzük.
Az aktív FTP kapcsolat szemléltetésére itt egy remek ábra:

1. A kliens a 21-es portra belépést kér a tűzfalon -> tehát az INPUT láncban engedélyezni kell a 21-es portot.
IPTABLES -A INPUT -p TCP --dport 21 -j ACCEPT
2. A szerver válaszol, de általában a tűzfal úgy van beállítva, hogy a RELATED és ESTABLISHED csomagok engedélyezve vannak, tehát ezzel dolgunk nincs,
IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
3. A szerver a 20-as porton új csomagot indít a kliens felé (a kliensen is jól kell legyen a tűzfal beállítva). Itt már lehet engedélyezni kell a kimenő kapcsolatot (OUTPUT, sport), mert alapból a NEW csomagok nem szoktak beállítva lenni a tűzfalban
IPTABLES -A OUTPUT -p TCP --sport 20 -j ACCEPT
4. A kliens válaszol - nincs tendőnk, mert általában a RELATED és ESTABLISHED csomagok engedélyezve vannak.
IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Természetesen ahány tűzfal annyi beállítás, tehát a fent leírtak csak egy példa egy verzióra.
Konfig:
Lenovo X250 notebook - Debian 10 Buster - proftpd
Lenovo T490 ntebook - Win10 1018 - total commander
Forrás:
http://slacksite.com/other/ftp.html#active