[dehogynem] /etc/rc.firewall --> nem megy az FTP

Fórumok

Szervusztok!

A szerver egy FreeBSD 7.0, IPFW tűzfallal. Az a gondom, hogy "nem találok bele" a megfelelő beállításba a tűzfalon, hogy menjen az FTP.

A szerver router mögött van, és otthon ment az FTP lokálisan, sőt néhány ismerős elérte kívülről is, de most épp én nem érem el a munkahelyi hálózatból.

A szerver a routeren DMZ-be lett rakva, így jónak tűnik, és a router is forwardolja a megfelelő portokat. Ha a szerveren kikapcsolom a tűzfalat, akkor persze megy az FTP, tehát nema szolgáltató "vágja le" a magas portokat.

Az FTP a ***** portot használja, valamint a 49152-57344 portokat.

Ha megy a tűzfal, akkor is képes kapcsolódni hozzá, és autentikál is (ha szándékosan rossz jelszavat adok meg, akkor ezt jelzi is), de már nem tölti be a könyvtárat, és egy idő után time-out.

Itt az rc.firewall idevágó része (a CLIENT-et alakítottam át):


[Cc][Ll][Ii][Ee][Nn][Tt])
	############
	# This is a prototype setup that will protect your system somewhat
	# against people from outside your own network.
	############

	# set these to your network and netmask and ip
	#net="192.168.9.0"
	#mask="255.255.255.0"
	ip="192.168.9.79"

	# Allow any traffic to or from my own net.
	#${fwcmd} add 1000 pass all from ${ip} to ${net}:${mask}
	#${fwcmd} add 1050 pass all from ${net}:${mask} to ${ip}
	${fwcmd} add 1000 pass all from ${ip} to any
	${fwcmd} add 1050 pass all from any to ${ip}

	# Allow TCP through if setup succeeded
	${fwcmd} add 1100 pass tcp from any to any established
	${fwcmd} add 1110 check-state

	# Allow NFS mount to local network
        ${fwcmd} add 1160 pass tcp from 192.168.9.X to ${ip} setup keep-state
	${fwcmd} add 1161 pass tcp from 192.168.9.Y to ${ip} setup keep-state
	
	# Allow IP fragments to pass through
	${fwcmd} add 1200 pass all from any to any frag

	# Allow setup of incoming email --> SSH
	${fwcmd} add 1300 pass tcp from any to ${ip} ßßßß setup keep-state
	
	# Allow incoming & outgoing ftp
	${fwcmd} add 1330 pass tcp from any to ${ip} ***** setup keep-state
	#${fwcmd} add 1331 pass udp from any to ${ip} ***** setup keep-state
	
	# Allow setup of outgoing TCP connections only
	${fwcmd} add 1190 pass tcp from ${ip} to any setup

	# Disallow setup of all other TCP connections
	#${fwcmd} add 1400  deny tcp from any to any setup

	# Allow DNS queries out in the world
	${fwcmd} add 1500 pass udp from ${ip} to any 53 keep-state

	# Allow NTP queries out in the world
	#${fwcmd} add pass udp from me to any 123 keep-state

	# Aloow to ping out the Internet
	${fwcmd} add 1600 pass icmp from ${ip} to any keep-state

	# Allow RTorrent port 6890-6981
	${fwcmd} add 1700 pass tcp from any to any 6890 keep-state
	${fwcmd} add 1701 pass tcp from any to any 6891 keep-state
	
	# Allow FTP passive ports
	${fwcmd} add 1800 pass tcp from any to ${ip} 49152-57344 setup keep-state
	#${fwcmd} add 1801 pass udp from any to ${ip} 49152-57344 setup keep-state
	
	# Everything else is denied by default, unless the
	# IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
	# config file.
	;;

Nem látom át, hogy mi az ami miatt nem megy az FTP, ha fut a tűzfal.

Próbálkoztam már azzal, hogy felcserélem a $net és $ip értékeket, de akkor pedig az NFS nem működött és az SSH sem, bár az FTP igen.

Ami eddig ért valamit, hogy kikommenteltem a $net és $mask -ot. Így érdekes módon el tudta érni néhány ismerősöm. Viszont kifogytam az ötletekből, hogy hogyan lukasszam szitává, hogy menjen az FTP.

Előre is köszönet a segítségért.
/mazursky

Hozzászólások

Ha van egy router-ed akkor azon kell beállítani a port forwarding-ot, hogy a 21-es portot dobja át az ftp szerverednek.

ez meg is történt, és működik is az FTP elérés, de csak akkor ha kikapcsolom a tűzfalat, ami ~öngyilkosság.

Ugyan nem a 21-es portot használja az FTP, hanem egy 20000 feletti portot, és a router ezt a portot forwardolja is gond nélkül, és a passzív portokat is forwardolja a router. Tehát nem a router a probléma, és nem is az FTP szerver beállítása, hanem a tűzfal.

És szerepel is a tűzfalkonfigban az ftp port és a passzív portok is, de mégse áll fel a kapcsolat.
Az SSH működik tűzfal esetén is, de nyilván az FTP-t is szeretném tartósan üzemeltetni.
Lerövidítve: az FTP szerver tűzfalazásával bénázok.

/mazursky

Javítottam a /etc/rc.firewall -t:


         # Allow FTP passive ports
	${fwcmd} add 1800 pass tcp from any to ${ip} 49152-57344

Merthogy semmi értelme az állapottartásnak az FTP passzív portjain, hiszen azok változ(hat)nak.
Így most beengedett az FTP-szerveremre. ;~)))

Még egy UNIX fórumon találtam egy kódot, amit az /etc/natd.conf -ba kell betenni:


use_sockets yes
same_ports yes
dynamic yes
#For FTP to Zeus:
redirect_port tcp 192.168.0.5:21 21

Kicsit meglepődtem, hiszen nekem nincs /etc/natd.conf -om. Állítólag kernelt kell hozzá fordítani, ha jól felejtek ;~))
Na mindegy, látrehoztam.
Betettem, működött az FTP. Kikommenteztem, és akkor is működött. Végülis akkor nem kell nat nékem...
Viszont akinek esetleg kellhet, annak itt hagyom a kódot, hátha...

Ezt rendesen benéztem már megint, de legyen az okulás, hogy örök kárhozatra ítéltetnek azon eretnek lelkek, melyek nem ismerik rendszereik pontos működését, mert rövid azon ídő, míg egy nála jobban ismerő hacker a sajátjának használá azt. ;~))

/mazursky