[Pluto-security] .conf funzionante
Giuseppe
descart@tin.it
Thu, 18 Apr 2002 20:36:32 +0200
Mi permetto di postare il mio script, è alla rev. 1.0 (nel senso che ci sono
state la .4, .5 ,eh eh).
Come dicevo ieri ho preferito mettere una regola stateful all'inizio sulle
connessioni entranti (appunto ESTABLISHED,RELATED) e poi abilitare in uscita
i vari servizi (sapendo però che perdo su quel servizio almeno la possibilità
di filtrarlo sulla porta di origine sul server, tipo --dport 80 per esempio
sul www).
La conf funziona provata e riprovata fin'ora (sennò che ci faccio fino alle
20.30 in ufficio, approfittando del fatto che se ne sono andati via tutti).
Tom, che ne pensi? Spero ti piaccia, in fondo se non era per te chissà cosa
ci avrei scritto...(tuttavia ho solo qualche dubbio con i moduli).
La prima parte (prima dell'ip forwarding) in effetti la sto preparando per
farla diventare un script da lanciare da shell (credo) per cui è solo
indicativa.
#!/bin/sh
# ---------------------------------------------
# Created by Giuseppe Andreola descart@tin.it
# rev. 1.0 april 2002
---------------------------------------------
# 1.0 - Modified entire web rules
# 0.5 - Added ssh service from lan host
# 0.4 - Added ftp service
# 0.3 - Added smtp service
---------------------------------------------------------------------------
# Firewall box powered by linux SuSE 7.3
# Default policy is DROP
# IPTABLES="/usr/sbin/iptables"
# EXT_IF="eth0"
# INT_IF="eth1"
# LOOPBACK="127.0.0.1/8"
# BROADCAST="192.168.1.255/24"
# DNS_1="151.99.250.2"
# DNS_2="94.243.154.62"
# ROUTER="192.168.0.1"
# No DMZ
---------------------------------------------------------------------------
# First turn off ip forwarding
echo 0 > /proc/sys/net/ipv4/ip_forward
---------------------------------------------------------------------------
# Loading appropriate modules
# modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_nat
modprobe ipt_MASQUERADE
# ...
--------------------------------------------------------------------------
######################## Flushing all chain rules ########################
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -X
iptables -Z
# Flushing every chain yet
iptables -t nat -F
iptables -t mangle -F
### Default policy rules ###
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
---------------------------------------------------------------------------
####################### Intranet masquerading rules #######################
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.10
---------------------------------------------------------------------------
######################### TCP/IP services rules ##########################
# Drop syn packet, allow tracked connection
iptables -A FORWARD -i eth0 -p tcp --syn -d 192.168.1.0/24 -j LOG
iptables -A FORWARD -i eth0 -p tcp --syn -d 192.168.1.0/24 -j DROP
iptables -A FORWARD -i eth0 -p tcp -d 192.168.1.0/24 --dport 1024:65535 -m
state --state ESTABLISHED,RELATED -j ACCEPT
# WWW
# Allow www outbound to 80
iptables -A FORWARD -o eth0 -p tcp --dport 80 -m state --state
NEW,ESTABLISHED -j ACCEPT
# UDP/DNS
# Allow udp packet from server
iptables -A FORWARD -i eth0 -p udp -s 151.99.250.2 -j ACCEPT
iptables -A FORWARD -i eth0 -p udp -s 94.243.154.62 -j ACCEPT
# Allow udp request to server
iptables -A FORWARD -o eth0 -p udp -d 151.99.250.2 -j ACCEPT
iptables -A FORWARD -o eth0 -p udp -d 94.243.154.62 -j ACCEPT
# SMNP
# Allow smtp outbound to 25
iptables -A FORWARD -o eth0 -p tcp --dport 25 -m state --state
NEW,ESTABLISHED -j ACCEPT
# POP3
iptables -A FORWARD -o eth0 -p tcp --dport 110 -m state --state
NEW,ESTABLISHED -j ACCEPT
# FTP
# Allow ftp outbound
iptables -A FORWARD -o eth0 -p tcp -s 192.168.1.0/24 --sport 1024:65535 -m
state --state NEW,ESTABLISHED -j ACCEPT
# SSH (from 192.168.1.100)
iptables -A INPUT -i eth1 -p tcp -d 192.168.1.10 --dport 22 -m state --state
NEW,ESTABLISHED - j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -s 192.168.1.10 --dport 22 -m state --state
ESTABLISHED -j ACCEPT
-------------------------------------------------------------------------
# Then turn on forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward