Реклама: |
Now that we've started blocking packets based on protocol, we can start blocking
packets based on specific aspects of each protocol. The most frequently used of these
aspects is the port number. Services such as rsh, rlogin, and telnet are all very
convenient to have, but also hideously insecure against network sniffing and spoofing. One
great compromise is to only allow the services to run internally, then block them
externally. This is easy to do because rlogin, rsh, and telnet use specific TCP ports
(513, 514, and 23 respectively). As such, creating rules to block them is easy:
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 513
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 514
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 23
Make sure all 3 are before the pass in all and they'll be closed off from
the outside (leaving out spoofing for brevity's sake):
pass in quick on tun0 proto icmp from any to 20.20.20.0/24 icmp-type 0
pass in quick on tun0 proto icmp from any to 20.20.20.0/24 icmp-type 11
block in log quick on tun0 proto icmp from any to any
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 513
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 514
block in log quick on tun0 proto tcp from any to 20.20.20.0/24 port = 23
pass in all
You might also want to block 514/udp (syslog), 111/tcp & 111/udp (portmap),
515/tcp (lpd), 2049/tcp and 2049/udp (NFS), 6000/tcp (X11) and so on and so forth. You can
get a complete listing of the ports being listened to by using netstat -a (or lsof
-i, if you have it installed).
Blocking UDP instead of TCP only requires replacing proto tcp with proto
udp. The rule for syslog would be:
block in log quick on tun0 proto udp from any to 20.20.20.0/24 port = 514
IPF also has a shorthand way to write rules that apply to both proto tcp and
proto udp at the same time, such as portmap or NFS. The rule for portmap would
be:
block in log quick on tun0 proto tcp/udp from any to 20.20.20.0/24 port = 111