[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