Regional-it archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Problemi con PF e ftp-proxy(8)
Ciao all'intera comunità NetBSD,
sto cercando di configurare PF su una macchina con NetBSD 5.0_BETA. Ho
ricompilato quindi il kernel abilitando pf(4) e pflog(4).
Ho poi iniziato ad editare secondo le mie necessità il file /etc/pf.conf
(allegato in questa email) bloccando *tutto* il traffico, sia in
entrata che in uscita (leggendo l'ottimo ``Firewalling with OpenBSD's PF
packet filter'' di Peter N. M. Hansteen[0]). Per tutti i servizi che utilizzo
(IM, OpenSSH, HTTP, ecc.) non ho nessun tipo di problema, non riesco
invece ad utilizzare FTP.
Seguendo la nuova procedura presente in NetBSD 5.0 ho letto
ftp-proxy(8) e l'ho abilitato su rc.conf aggiungendo le seguenti righe:
ftp_proxy=YES
ftp_proxy_flags="-A"
ed appositamente aggiunto le regole in pf.conf. Nonstante ciò non riesco
ad utilizzarlo completamente, ad esempio provando il tutto con ftp.netbsd.org
riesco a leggere il motd ma come digito un comando ottengo l'errore
``Can't connect to `204.152.190.13:56783': No route to host''.
Ecco un esempio:
$ ftp ftp.netbsd.org
Trying 2001:4f8:4:7:230:48ff:fe31:43f2:21 ...
ftp: Can't connect to `2001:4f8:4:7:230:48ff:fe31:43f2:21': No route to host
Trying 204.152.190.13:21 ...
Connected to ftp.netbsd.org.
220 ftp.NetBSD.org FTP server (NetBSD-ftpd 20080916) ready.
331 Guest login ok, type your name as password.
Password:
230-
The NetBSD Project FTP Server located in Redwood City, CA, USA
[...]
ftp> ls
229 Entering Extended Passive Mode (|||59962|)
ftp: Can't connect to `204.152.190.13:59962': No route to host
200 PORT command successful.
421 Service not available, remote server timed out. Connection closed.
ftp>
Contemporaneamente a ftp(1) ho avviato tcpdump(1) intercettando il
traffico generato sull'interfaccia pflog0 ovvero secondo le mie regole
di pf(4) tutto il traffico che viene bloccato:
# tcpdump -vv -i pflog0
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: listening on pflog0, link-type PFLOG (OpenBSD pflog file), capture
size 96 bytes
17:11:35.955544 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP
(6), length 64) 192.168.1.15.65512 > ftp.netbsd.org.59962: tcp 44 [bad hdr
length 0 - too short, < 20]
17:11:37.135839 IP (tos 0x0, ttl 48, id 0, offset 0, flags [DF], proto TCP
(6), length 64) ftp.netbsd.org.62394 > 192.168.1.15.65511: tcp 44 [bad hdr
length 0 - too short, < 20]
17:11:43.129846 IP (tos 0x0, ttl 48, id 0, offset 0, flags [DF], proto TCP
(6), length 64) ftp.netbsd.org.62394 > 192.168.1.15.65511: tcp 44 [bad hdr
length 0 - too short, < 20]
17:11:55.136752 IP (tos 0x0, ttl 48, id 0, offset 0, flags [DF], proto TCP
(6), length 64) ftp.netbsd.org.62394 > 192.168.1.15.65511: tcp 44 [bad hdr
length 0 - too short, < 20]
17:12:19.144640 IP (tos 0x0, ttl 48, id 0, offset 0, flags [none], proto TCP
(6), length 64) ftp.netbsd.org.62394 > 192.168.1.15.65511: tcp 44 [bad hdr
length 0 - too short, < 20]
Allego il file di configurazione pf.conf, qualsisi tipo di suggerimento a
riguardo è apprezzato. Grazie in anticipo!
[0]: http://home.nuug.no/~peter/pf/
Ciao, Leonardo
--
Leonardo Taccari | Peace, love and NetBSD. | http://leot.netsons.org/
# $NetBSD: pf.conf,v 1.4 2008/06/18 09:06:25 yamt Exp $
# Macros
#
icmp_types = "{ echoreq }"
ifs = "{ lii0, lo0 }"
tcp_services_in = "{ ssh }"
tcp_services_out = "{ http, https, imaps, ssh, xmpp-client, \
587, 1863, 6667 }"
udp_services_out = "{ domain, ntp }"
# Tables
#
table <localnet> { 192.168.1.0/24, !192.168.1.1 }
# Options
#
set skip on lo0
# Scrub
#
scrub in all
# Translation
#
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr pass inet proto tcp from any to any port ftp -> 127.0.0.1 port 8021
# Filter rules
#
block log all
antispoof for $ifs
# Incoming packets
pass in inet proto tcp from <localnet> to any port $tcp_services_in
# Outgoing packets
# ICMP
pass out inet proto icmp all icmp-type $icmp_types keep state
# traceroute(8)
pass out inet proto udp from any to any port 33433 >< 33626 keep state
# FTP
anchor "ftp-proxy/*"
pass out inet proto tcp from any to any port ftp keep state flags S/SA
pass out inet proto udp from any to any \
port $udp_services_out keep state
pass out inet proto tcp from any to any \
port $tcp_services_out keep state flags S/SA
Home |
Main Index |
Thread Index |
Old Index