All pastes #400942 Raw Edit

Lyfe

public text v1 · immutable
·published 2007-03-19 00:40 UTC
rendered paste body
#!/bin/sh

############
# Setup system for firewall service.
# $FreeBSD: src/etc/rc.firewall,v 1.30.2.4 2000/05/28 19:17:15 asmodai Exp $

fwcmd="/sbin/ipfw"

############
# Flush out the list before we begin.
#
${fwcmd} -f flush

############
# This is a prototype setup for a simple firewall.  Configure this
# machine as a named server and ntp server, and point all the machines
# on the inside at this machine for those services.
############

# set these to your outside interface network and netmask and ip
oif="rl0"
oip="wan ip here"
onet="wan net here"
omask="255.255.255.0"

# set these to your inside interface network and netmask and ip
iif="bge0"
inet="10.0.0.0"
imask="255.255.255.0"
iip="10.0.0.1"

# vpn
vif="tun0"
inet="192.168.9.0"
imask="255.255.255.0"
vip="192.168.9.1"

${fwcmd} add divert natd all from any to any via ${oif}

${fwcmd} add pass all from ${iip} to ${inet}:${imask}
${fwcmd} add pass all from ${inet}:${imask} to ${iip}
${fwcmd} add pass all from ${iip} to ${onet}:${omask}
${fwcmd} add pass all from ${onet}:${omask} to ${iip}
#
# TAS Govt. Network addresses
#
${fwcmd} add pass all from any to 147.109.0.0/16
${fwcmd} add pass all from 147.109.0.0/16 to any
#
# Networking Tasmania VPN Concentrator
#
${fwcmd} add pass all from any to 203.49.97.228
${fwcmd} add pass all from 203.49.97.228 to any
#
# Internode DNS Server
#
${fwcmd} add pass all from any to 192.231.203.132
${fwcmd} add pass all from 192.231.203.132 to any
${fwcmd} add pass all from any to 192.231.203.3
${fwcmd} add pass all from 192.231.203.3 to any

#
# Deny incoming ICMP requests
#${fwcmd} add deny log icmp from any to any in via ${oif} icmptypes 8

# Allow all ICMP
${fwcmd} add add allow icmp from any to any

# Allow ping out and receive response back
${fwcmd} add allow icmp from any to any icmptypes 8 out
${fwcmd} add allow icmp from any to any icmptypes 0 in

# Allow traceroute
${fwcmd} add allow icmp from any to any icmptypes 11 in

# Allow VPN pings
${fwcmd} add pass icmp from 192.168.9.0/24 to 192.168.9.0/24 in via tun0 icmptypes 0
${fwcmd} add pass icmp from 192.168.9.0/24 to 192.168.9.0/24 out via tun0 icmptypes 0

# Stop spoofing
${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif}

# Stop RFC1918 nets on the outside interface
#${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
#${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
#${fwcmd} add pass all from 172.16.1.0/24 to any via ${oif}
#${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
#${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}
#${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}

# Stop draft-manning-dsua-01.txt nets on the outside interface
${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif}
${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}
${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif}
${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}
${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif}
${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}
${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif}
${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}
${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif}
${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}

# Allow TCP through if setup succeeded
${fwcmd} add pass tcp from any to any established

# Allow IP fragments to pass through
${fwcmd} add pass all from any to any frag

# Allow access to ssh
${fwcmd} add pass tcp from any to ${oip} 22 setup
${fwcmd} add pass tcp from any to ${oip} 22

# Allow setup of incoming email
${fwcmd} add pass tcp from any to ${oip} 25 setup

# Allow access to our DNS
${fwcmd} add pass tcp from any to ${oip} 53 setup
${fwcmd} add pass udp from any to ${oip} 53
${fwcmd} add pass udp from ${oip} 53 to any

# Allow access inside LAN subnet DNS lookups from this server
${fwcmd} add pass tcp from 10.0.0.0/24 to 10.0.0.1 53 setup 
${fwcmd} add pass udp from 10.0.0.0/24 to 10.0.0.1 53 
${fwcmd} add pass udp from 10.0.0.1 53 to any

# Allow access to our WWW
${fwcmd} add pass tcp from any to ${oip} 80 setup

# Reject&Log all setup of incoming connections from the outside
${fwcmd} add deny log tcp from any to any in via ${oif} setup

# Allow setup of any other TCP connection
${fwcmd} add pass tcp from any to any setup

# Allow DNS queries out in the world
${fwcmd} add pass udp from any 53 to ${oip}
${fwcmd} add pass udp from ${oip} to any 53

# Allow NTP queries out in the world
${fwcmd} add pass udp from any 123 to ${oip}
${fwcmd} add pass udp from ${oip} to any 123

# Allow ports for MSN Messenger
${fwcmd} add pass tcp from any to ${oip} 6891-6900 setup
${fwcmd} add pass tcp from any to ${oip} 6891-6900

# Allow DHCP requests locally
${fwcmd} add allow udp from any to 10.0.0.0/24 546
${fwcmd} add allow udp from any to 10.0.0.0/24 547
${fwcmd} add allow udp from any to 10.0.0.0/24 67
${fwcmd} add allow udp from any to 10.0.0.0/24 68