[BSD] ftp kliens PF mogott

Istvan Galgand igalgand at freemail.hu
2010. Sze. 21., K, 21:49:39 CEST


On Tue, Sep 21, 2010 at 08:40:59PM +0200, Zahemszky Gábor wrote:
> 
> Amit én gondolok:
> 
> a) ftpproxy-t dobd ki
> b) és a hozzá létrehozott szabályokat is dobd ki
> 
> A FreeBSD natív ftp-kliense *tudtommal* alapból passzív módban megy.
> (manban ellenőrizni kell, meg a HG-által emlegetett .netrc-ben, valamint
> környezeti változóban is szabályozható). Ez tehát nem lehet gond.
> 
> Amit nem tudunk:
> 
> - milyen ftp-kienst használsz (akár számíthat is)
> - de legfőképp, milyen is a tűzfalad. Szóval ha nem veszed zokon, hogy
>   esetleg valaki leugatja a fejedet, hogy szar a konfig, akkor
>   szerintem inkább - ha a fenti a) és b) pont után sem megy - lökd be
>   ide a listára, hátha feltűnik hogy mi a gond.
> 

Le a kalappal előttetek, amiért nem hagyjátok, hogy feladjam... :-)

A kérésnek megfelelően az ftp-proxy-t leállítottam. A natív ftp klienst
használom, így:

[igalgand at freebsd02 ~]$ ftp ftp.freebsd.org
Trying 204.152.184.73...
Connected to ftp.freebsd.org.
220 Welcome to freebsd.isc.org.
Name (ftp.freebsd.org:igalgand): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
Remote directory: /
ftp> ls
229 Entering Extended Passive Mode (|||40271|).
500 Illegal EPRT command.
200 PORT command successful. Consider using PASV.
^C
421 Service not available, user interrupt. Connection closed.
ftp> bye

Az ls parancsnál hasal el, a cd, pwd működik.

A pf.conf fájl a következő (védekezésül:"ollóztam")

ext_if="alc0"

tcp_services = "{ssh, sftp, smtp, pop3, ftp, domain, ntp, www, https}"
udp_services = "{domain, ntp}"

set require-order yes
set block-policy return
set optimization normal
set skip on lo
set loginterface $ext_if

scrub in all random-id fragment reassemble
scrub out all random-id fragment reassemble

#Redirection
# nat-anchor "ftp-proxy/*"
# rdr-anchor "ftp-proxy/*"
# rdr pass on $ext_if proto tcp to port ftp -> 127.0.0.1 port 8021

block log all

# anchor "ftp-proxy/*"

antispoof quick for $ext_if
antispoof quick for { lo $ext_if }

block in from no-route to any

block in from urpf-failed to any

block in quick on $ext_if from any to 255.255.255.255

block in log on $ext_if from { 10.0.0.0/8, 172.16.0.0/12,
255.255.255.255/32, 192.168.0.0/16 } to any

# pass in quick log on $ext_if proto tcp from any to any port 22
pass in quick log on $ext_if proto tcp from 192.168.1.96 to any port 22
pass in quick log on $ext_if proto tcp from 192.168.1.96 to any port 25

pass out on $ext_if inet proto icmp all icmp-type 8 code 0

pass out on $ext_if proto udp to any port $udp_services

pass out on $ext_if proto tcp to any port $tcp_services

# Finito

Remélem, hasznos ismereteket merítek a reakciókból. Holnap este leszek
megint e gépnél.   

István
-- 
This mail was sent by Mutt-1.4.2.3_4,
FreeBSD 8.1-RELEASE-#0, GENERIC i386



További információk a(z) BSD levelezőlistáról