Ho provato a vedere se era l'ip ma è evidente che è un problema mio.ho provato a cercare su google ma non sono riuscito a trovare niente di esauriente.Mi affido alle vostre mani....Ho scoperto che è un problema del firewall ma non so cosa disabilirare di preciso.... fatemi sapere!!Grazie di tuttoStarting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-03-14 16:02 CET
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.10.28.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.10.28.224, 16) => Operation not permitted
Problema Nmap - Risolto
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- Vito
- Staff

- Messaggi: 4182
- Iscritto il: mar 5 dic 2006, 17:28
- Nome Cognome: Vito
- Desktop: MacOS
- Località: Monaco (DE)
- Contatta:
Problema Nmap - Risolto
Allora ho da poco ricompilato il kernel e oggi andando a scannare un ip con nmap mi ha restituito un milione di volte questo messaggio
Ultima modifica di Vito il gio 22 mar 2007, 17:45, modificato 1 volta in totale.
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
- Vito
- Staff

- Messaggi: 4182
- Iscritto il: mar 5 dic 2006, 17:28
- Nome Cognome: Vito
- Desktop: MacOS
- Località: Monaco (DE)
- Contatta:
beh ..... non ho detto hce non riesco ad nmappare ,il bello che mi nmappa perfettamente solo che mi restituisce questo messaggio.Il fatto che è dovuto al firewall lo ho scoperto perchè se disattivo il firewall va tutto alla perfezione senza nessun messaggio strano ;P fatemi sapere....
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
- Vito
- Staff

- Messaggi: 4182
- Iscritto il: mar 5 dic 2006, 17:28
- Nome Cognome: Vito
- Desktop: MacOS
- Località: Monaco (DE)
- Contatta:
#!/bin/bash
# [Guarddog2]
# DO NOT EDIT!
# This firewall script was generated by "Guarddog" by Simon Edwards
# http://www.simonzone.com/software/guarddog/ This script requires Linux
# kernel version 2.2.x and ipchains OR Linux kernel 2.4.x and iptables.
#
# [Description]
#
# [Config]
# LOCALPORTRANGESTART=1024
# LOCALPORTRANGEEND=5999
# DISABLED=0
# LOGREJECT=1
# LOGDROP=1
# LOGABORTEDTCP=1
# LOGIPOPTIONS=1
# LOGTCPOPTIONS=1
# LOGTCPSEQUENCE=1
# LOGLEVEL=4
# LOGRATELIMIT=1
# LOGRATE=1
# LOGRATEUNIT=0
# LOGRATEBURST=10
# LOGWARNLIMIT=1
# LOGWARNRATE=2
# LOGWARNRATEUNIT=1
# DHCPC=1
# DHCPCINTERFACENAME=eth0
# DHCPD=1
# DHCPDINTERFACENAME=eth0
# ALLOWTCPTIMESTAMPS=1
# [UserDefinedProtocol]
# ID=1
# NAME=Bnc
# TYPE=TCP
# PORT=31335:31337
# BIDIRECTIONAL=1
# [ServerZone] Internet
# [ClientZone] Locale
# CONNECTED=1
# PROTOCOL=distcc
# PROTOCOL=cvspserver
# PROTOCOL=irc
# PROTOCOL=gnutella
# PROTOCOL=bt-peer
# PROTOCOL=redirect
# PROTOCOL=cddb
# PROTOCOL=pop3s
# PROTOCOL=ping
# PROTOCOL=mysql
# PROTOCOL=directconnect
# PROTOCOL=bt-tracker
# PROTOCOL=pgpkeyserver
# PROTOCOL=postgresql
# PROTOCOL=quench
# PROTOCOL=ftp
# PROTOCOL=smtps
# PROTOCOL=dict
# PROTOCOL=userdefined1
# PROTOCOL=domain
# PROTOCOL=smtp
# PROTOCOL=freedb
# PROTOCOL=rsync
# PROTOCOL=time
# PROTOCOL=vj-traceroute
# PROTOCOL=msnmessenger
# PROTOCOL=ldap-ssl
# PROTOCOL=blubster
# PROTOCOL=https
# PROTOCOL=finger
# PROTOCOL=nicname
# PROTOCOL=ssh
# PROTOCOL=svnserve
# PROTOCOL=edonkey2000
# PROTOCOL=pop3
# PROTOCOL=ldap
# PROTOCOL=http
# REJECT=jabber
# REJECT=directplay
# REJECT=powwow
# REJECT=netmeeting
# REJECT=halflife
# REJECT=aim
# REJECT=diablo2
# REJECT=ymessenger
# REJECT=quake
# REJECT=everquest
# REJECT=yahoogames
# REJECT=quake2
# REJECT=icq
# [ServerZone] Locale
# [ClientZone] Internet
# CONNECTED=1
# PROTOCOL=bt-peer
# PROTOCOL=redirect
# PROTOCOL=pop3s
# PROTOCOL=ping
# PROTOCOL=directconnect
# PROTOCOL=bt-tracker
# PROTOCOL=pgpkeyserver
# PROTOCOL=quench
# PROTOCOL=ftp
# PROTOCOL=smtps
# PROTOCOL=domain
# PROTOCOL=smtp
# PROTOCOL=vj-traceroute
# PROTOCOL=msnmessenger
# PROTOCOL=nicname
# PROTOCOL=auth
# PROTOCOL=edonkey2000
# PROTOCOL=pop3
# PROTOCOL=icq
# [End]
# Real code starts here
# If you change the line below then also change the # DISABLED line above.
DISABLE_GUARDDOG=0
if test -z $GUARDDOG_VERBOSE; then
GUARDDOG_VERBOSE=0
fi;
if [ $DISABLE_GUARDDOG -eq 0 ]; then
# Set the path
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin
# Detect which filter command we should use.
FILTERSYS=0
# 0 = unknown, 1 = ipchains, 2 = iptables
# Check for ipchains.
if [ -e /sbin/ipchains ]; then
FILTERSYS=1
fi;
if [ -e /usr/sbin/ipchains ]; then
FILTERSYS=1
fi;
if [ -e /usr/local/sbin/ipchains ]; then
FILTERSYS=1
fi;
# Check for iptables support.
if [ -e /proc/sys/kernel/osrelease ]; then
KERNEL_VERSION=`sed "s/^\([0-9][0-9]*\.[0-9][0-9]*\).*\$/\1/" < /proc/sys/kernel/osrelease`
if [ $KERNEL_VERSION == "2.6" ]; then
KERNEL_VERSION="2.4"
fi;
if [ $KERNEL_VERSION == "2.5" ]; then
KERNEL_VERSION="2.4"
fi;
if [ $KERNEL_VERSION == "2.4" ]; then
if [ -e /sbin/iptables ]; then
FILTERSYS=2
fi;
if [ -e /usr/sbin/iptables ]; then
FILTERSYS=2
fi;
if [ -e /usr/local/sbin/iptables ]; then
FILTERSYS=2
fi;
fi;
fi;
if [ $FILTERSYS -eq 0 ]; then
logger -p auth.info -t guarddog "ERROR Can't determine the firewall command! (Is ipchains or iptables installed?)"
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "ERRORE: non riesco a determinare il comando di firewall! (E' installato ipchains o iptables?)"
false
fi;
if [ $FILTERSYS -eq 1 ]; then
###############################
###### ipchains ###############
###############################
logger -p auth.info -t guarddog Configuring ipchains firewall now.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Uso ipchains."
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Reimposto le regole del firewall."
# Shut down all traffic
ipchains -P forward DENY
ipchains -P input DENY
ipchains -P output DENY
# Delete any existing chains
ipchains -F
ipchains -X
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Imposto i parametri del kernel."
# Turn on kernel IP spoof protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Set the up TCP timestamps config
echo 1 > /proc/sys/net/ipv4/tcp_timestamps 2> /dev/null
# Enable TCP SYN Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 2> /dev/null
# Log truly weird packets.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians 2> /dev/null
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Set kernel rp_filter. NICs used for IPSEC should not have rp_fitler turned on.
# Find the IPs of any ipsecX NICs
IPSEC_IPS="`ifconfig | gawk '/^ipsec\w/ { grabip = 1}
/inet addr:[[:digit:]\\.]+/ { if(grabip==1) printf \"%s \",gensub(/^.*inet addr:([[:digit:]\\.]+).*$/,\"\\\\1\",\"g\",$0)
grabip = 0}'`"
# Build a list of NIC names and metching IPs
IP_NIC_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*/ {match($0,/inet addr:[[:digit:]\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
printf \"%s_%s\\n\",nic,ip }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Activate rp_filter for each NIC, except for NICs that are using
# an IP that is involved with IPSEC.
for X in $IP_NIC_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
RPF="1"
for SEC_IP in $IPSEC_IPS ; do
if [[ $SEC_IP == $IP ]]; then
RPF="0"
fi
done
echo $RPF > /proc/sys/net/ipv4/conf/$NIC/rp_filter 2> /dev/null
done
echo "1024 5999" > /proc/sys/net/ipv4/ip_local_port_range 2> /dev/null
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Configuro le regole del firewall."
# Allow loopback traffic.
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
# Allow DHCP clients.
ipchains -A input -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
ipchains -A output -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
# Allow DHCP servers.
ipchains -A input -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
ipchains -A output -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
# Accept broadcasts from ourself.
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
IP_BCAST_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*Bcast/ {match($0,/inet addr:[[:digit:]\\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
match($0,/Bcast:[[:digit:]\\.]+/)
bcast = substr($0,RSTART+6,RLENGTH-6)
printf \"%s_%s_%s\\n\",nic,ip,bcast }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
for X in $IP_BCAST_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
BCAST="`echo \"$X\" | cut -f 3 -d _`"
ipchains -A input -i $NIC -s $IP -d $BCAST -j ACCEPT
done
# Allow certain critical ICMP types
ipchains -A input -p icmp --sport 3 -j ACCEPT # Dest unreachable
ipchains -A output -p icmp --sport 3 -j ACCEPT # Dest unreachable
ipchains -A forward -p icmp --sport 3 -j ACCEPT &> /dev/null # Dest unreachable
ipchains -A input -p icmp --sport 11 -j ACCEPT # Time exceeded
ipchains -A output -p icmp --sport 11 -j ACCEPT # Time exceeded
ipchains -A forward -p icmp --sport 11 -j ACCEPT &> /dev/null # Time exceeded
ipchains -A input -p icmp --sport 12 -j ACCEPT # Parameter Problem
ipchains -A output -p icmp --sport 12 -j ACCEPT # Parameter Problem
ipchains -A forward -p icmp --sport 12 -j ACCEPT &> /dev/null # Parameter Problem
# Work out our local IPs.
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
NIC_IP="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",\$1)}
/inet addr:/ { match(\$0,/inet addr:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+10,RLENGTH-10) }
/Bcast/ { match(\$0,/Bcast:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+6,RLENGTH-6) }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Create the nicfilt chain
ipchains -N nicfilt
GOT_LO=0
NIC_COUNT=0
for X in $NIC_IP ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
ipchains -A nicfilt -i $NIC -j RETURN
# We also take this opportunity to see if we only have a lo interface.
if [ $NIC == "lo" ]; then
GOT_LO=1
fi
let NIC_COUNT=$NIC_COUNT+1
done
IPS="`echo \"$NIC_IP\" | cut -f 2 -d _`"
# Do we have just a lo interface?
if [ $GOT_LO -eq 1 ] && [ $NIC_COUNT -eq 1 ] ; then
MIN_MODE=1
else
MIN_MODE=0
fi
# Are there *any* interfaces?
if [ $NIC_COUNT -eq 0 ] ; then
MIN_MODE=1
fi
# If we only have a lo interface or no interfaces then we assume that DNS
# is not going to work and just skip any iptables calls that need DNS.
ipchains -A nicfilt -l -j DENY
# Create the filter chains
# Create chain to filter traffic going from 'Internet' to 'Locale'
ipchains -N f0to1
# Create chain to filter traffic going from 'Locale' to 'Internet'
ipchains -N f1to0
# Add rules to the filter chains
# Traffic from 'Internet' to 'Locale'
# Allow 'bt-peer'
# Peer BitTorrent
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6881:6889 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6881:6889 --dport 1024:5999 -j ACCEPT
# Allow 'redirect'
ipchains -A f1to0 -p icmp --sport 5 -j ACCEPT
# Allow 'pop3s'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 995:995 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 995:995 --dport 1024:65535 -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
ipchains -A f0to1 -p icmp --sport 8 -j ACCEPT
# Replica di risposta (Echo Reply)
ipchains -A f1to0 -p icmp --sport 0 -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 411:415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 411:415 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1411:1415 --dport 1024:65535 -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 411:415 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p tcp --sport 1411:1415 --dport 0:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6969:6969 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6969:6969 --dport 1024:65535 -j ACCEPT
# Allow 'pgpkeyserver'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 11371:11371 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 11371:11371 --dport 1024:65535 -j ACCEPT
# Allow 'quench'
ipchains -A f0to1 -p icmp --sport 4 -j ACCEPT
# Allow 'ftp'
# Controllo connessione
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 21:21 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 21:21 --dport 1024:65535 -j ACCEPT
# Connessione dati
ipchains -A f1to0 -p tcp --sport 20:20 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 20:20 -j ACCEPT
# Modo passivo della connessione dati
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'smtps'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 465:465 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 465:465 --dport 1024:65535 -j ACCEPT
# Allow 'domain'
ipchains -A f0to1 -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f1to0 -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
# Allow 'smtp'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 25:25 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 25:25 --dport 1024:65535 -j ACCEPT
# Allow 'vj-traceroute'
ipchains -A f0to1 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1863:1863 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1863:1863 --dport 1024:65535 -j ACCEPT
# Allow 'nicname'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 43:43 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 43:43 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'auth'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 113:113 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 113:113 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 113:113 -j ACCEPT
ipchains -A f1to0 -p udp --sport 113:113 --dport 0:65535 -j ACCEPT
# Allow 'edonkey2000'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4661:4661 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4661:4661 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4662:4662 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4662:4662 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4665:4665 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4665:4665 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4666:4666 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4666:4666 --dport 1024:5999 -j ACCEPT
# Allow 'pop3'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 110:110 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 110:110 --dport 1024:65535 -j ACCEPT
# Allow 'icq'
ipchains -A f0to1 -p udp --sport 0:65535 --dport 5190:5190 -j ACCEPT
ipchains -A f1to0 -p udp --sport 5190:5190 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 3900:3999 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3900:3999 --dport 1024:65535 -j ACCEPT
# Rejected traffic from 'Internet' to 'Locale'
# Traffic from 'Locale' to 'Internet'
# Allow 'distcc'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3632:3632 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3632:3632 --dport 1024:5999 -j ACCEPT
# Allow 'cvspserver'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2401:2401 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 2401:2401 --dport 1024:5999 -j ACCEPT
# Allow 'irc'
# Server connection
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6660:6669 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6660:6669 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'gnutella'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 6346:6346 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6346:6346 --dport 0:65535 -j ACCEPT
# Allow 'bt-peer'
# Peer BitTorrent
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6881:6889 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6881:6889 --dport 1024:65535 -j ACCEPT
# Allow 'redirect'
ipchains -A f0to1 -p icmp --sport 5 -j ACCEPT
# Allow 'cddb'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 888:888 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 888:888 --dport 1024:5999 -j ACCEPT
# Allow 'pop3s'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 995:995 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 995:995 --dport 1024:5999 -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
ipchains -A f1to0 -p icmp --sport 8 -j ACCEPT
# Replica di risposta (Echo Reply)
ipchains -A f0to1 -p icmp --sport 0 -j ACCEPT
# Allow 'mysql'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3306:3306 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3306:3306 --dport 1024:5999 -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 411:415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 411:415 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1411:1415 --dport 1024:5999 -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 411:415 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p tcp --sport 0:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6969:6969 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6969:6969 --dport 1024:5999 -j ACCEPT
# Allow 'pgpkeyserver'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 11371:11371 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 11371:11371 --dport 1024:5999 -j ACCEPT
# Allow 'postgresql'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5432:5432 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 5432:5432 --dport 1024:5999 -j ACCEPT
# Allow 'quench'
ipchains -A f1to0 -p icmp --sport 4 -j ACCEPT
# Allow 'ftp'
# Controllo connessione
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 21:21 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 21:21 --dport 1024:5999 -j ACCEPT
# Connessione dati
ipchains -A f0to1 -p tcp --sport 20:20 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 20:20 -j ACCEPT
# Modo passivo della connessione dati
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'smtps'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 465:465 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 465:465 --dport 1024:5999 -j ACCEPT
# Allow 'dict'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2628:2628 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 2628:2628 --dport 1024:5999 -j ACCEPT
# Allow 'userdefined1'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 31335:31337 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 31335:31337 --dport 0:65535 -j ACCEPT
# Allow 'domain'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f0to1 -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
# Allow 'smtp'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 25:25 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 25:25 --dport 1024:5999 -j ACCEPT
# Allow 'freedb'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8880:8880 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8880:8880 --dport 1024:5999 -j ACCEPT
# Allow 'rsync'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 873:873 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 873:873 --dport 1024:5999 -j ACCEPT
# Allow 'time'
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 37:37 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 37:37 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 37:37 --dport 1024:5999 -j ACCEPT
# Allow 'vj-traceroute'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1863:1863 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1863:1863 --dport 1024:5999 -j ACCEPT
# Allow 'ldap-ssl'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 636:636 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 636:636 --dport 1024:5999 -j ACCEPT
# Allow 'blubster'
# Ricezione dati
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Invio dati
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Allow 'https'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 443:443 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 443:443 --dport 1024:5999 -j ACCEPT
# Allow 'finger'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 79:79 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 79:79 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 79:79 -j ACCEPT
# Allow 'nicname'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 43:43 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 43:43 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'ssh'
# Connessione normale
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 22:22 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 22:22 --dport 1024:5999 -j ACCEPT
# Porta sorgente privilegiata (rhosts compatibile.)
ipchains -A f1to0 -p tcp --sport 0:1023 --dport 22:22 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 22:22 --dport 0:1023 -j ACCEPT
# Allow 'svnserve'
# Request connection.
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3690:3690 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3690:3690 --dport 1024:5999 -j ACCEPT
# Allow 'edonkey2000'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4661:4661 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4661:4661 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4662:4662 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4662:4662 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4665:4665 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4665:4665 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4666:4666 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4666:4666 --dport 1024:65535 -j ACCEPT
# Allow 'pop3'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 110:110 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 110:110 --dport 1024:5999 -j ACCEPT
# Allow 'ldap'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 389:389 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 389:389 --dport 1024:5999 -j ACCEPT
# Allow 'http'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 80:80 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 80:80 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8080:8080 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8080:8080 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8008:8008 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8008:8008 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8000:8000 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8000:8000 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8888:8888 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8888:8888 --dport 1024:5999 -j ACCEPT
# Rejected traffic from 'Locale' to 'Internet'
# Reject 'jabber'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5222:5222 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5222:5222 --dport 1024:5999 -l -j REJECT
# Jabber over Secure Socket Layer
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5223:5223 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5223:5223 --dport 1024:5999 -l -j REJECT
# Reject 'directplay'
# Connessione primaria
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 47624:47624 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 47624:47624 --dport 1024:5999 -l -j REJECT
# Connessione di gioco
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2300:2400 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 2300:2400 --dport 1024:5999 -l -j REJECT
# Connessione di gioco
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 2300:2400 -l -j REJECT
ipchains -A f0to1 -p udp --sport 2300:2400 --dport 1024:65535 -l -j REJECT
# Connessione di gioco
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 2300:2400 -l -j REJECT
ipchains -A f1to0 -p udp --sport 2300:2400 --dport 1024:65535 -l -j REJECT
# Reject 'powwow'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 13223:13223 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 13223:13223 --dport 0:65535 -l -j REJECT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 13223:13223 -l -j REJECT
# Reject 'netmeeting'
# Internet Locator Service (ILS)
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 389:389 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 389:389 --dport 0:65535 -l -j REJECT
# Internet Location Service (ILS)
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 522:522 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 522:522 --dport 0:65535 -l -j REJECT
# T.120
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1503:1503 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1503:1503 --dport 0:65535 -l -j REJECT
# Impostazione di chiamata H.323
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1720:1720 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1720:1720 --dport 0:65535 -l -j REJECT
# Controllo di chiamata audio
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1731:1731 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1731:1731 --dport 0:65535 -l -j REJECT
# Controllo di chiamata H.323
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Lettura in transito (streaming) H.323
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Reject 'halflife'
# Porta di autenticazione ottenuta
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 7002:7002 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 7002:7002 --dport 1024:5999 -l -j REJECT
# Lista dei server
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 27010:27010 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27010:27010 --dport 1024:65535 -l -j REJECT
# Connessione principale di gioco
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 27005:27050 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27005:27050 --dport 1024:65535 -l -j REJECT
# Reject 'aim'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5190:5193 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5190:5193 --dport 1024:5999 -l -j REJECT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 5190:5193 -l -j REJECT
# Reject 'diablo2'
# Server Battlenet
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 6112:6112 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 6112:6112 --dport 0:65535 -l -j REJECT
# Dati di gioco
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 4000:4000 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 4000:4000 --dport 0:65535 -l -j REJECT
# Reject 'ymessenger'
# Accesso alla rete
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5050:5050 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5050:5050 --dport 1024:5999 -l -j REJECT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 23:23 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 23:23 --dport 1024:5999 -l -j REJECT
# Conferenza
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5000:5001 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5000:5001 --dport 1024:5999 -l -j REJECT
# Conferenza
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 5000:5000 -l -j REJECT
# Reject 'quake'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 26000:26000 -l -j REJECT
ipchains -A f0to1 -p udp --sport 26000:26000 --dport 0:65535 -l -j REJECT
# Reject 'everquest'
# Server Patch EQ
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 7000:7000 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 7000:7000 --dport 1024:5999 -l -j REJECT
# Protocollo dei dati di gioco EQ
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Reject 'yahoogames'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 11999:11999 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 11999:11999 --dport 1024:5999 -l -j REJECT
# Reject 'quake2'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 27910:27910 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27910:27910 --dport 0:65535 -l -j REJECT
# Reject 'icq'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 5190:5190 -l -j REJECT
ipchains -A f0to1 -p udp --sport 5190:5190 --dport 0:65535 -l -j REJECT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 3900:3999 -l -j REJECT
ipchains -A f1to0 -p tcp ! -y --sport 3900:3999 --dport 1024:65535 -l -j REJECT
# Place DENY and log rules at the end of our filter chains.
# Failing all the rules above, we DENY and maybe log the packet.
ipchains -A f0to1 -l -j DENY
# Failing all the rules above, we DENY and maybe log the packet.
ipchains -A f1to0 -l -j DENY
# Add some temp DNS accept rules to the input and output chains.
# This is so that we can pass domain names to ipchains and have ipchains be
# able to look it up without being blocked by the our half-complete firewall.
if [ $MIN_MODE -eq 0 ] ; then
ipchains -A output -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A input -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A output -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A input -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# Chain to split traffic coming from zone 'Internet' by dest zone
ipchains -N s0
for X in $IPS ; do
ipchains -A s0 -d $X -j f0to1
done
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
ipchains -A s0 -l -j DENY
# Chain to split traffic coming from zone 'Locale' by dest zone
ipchains -N s1
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
ipchains -A s1 -j f1to0
# Create the srcfilt chain
ipchains -N srcfilt
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
# Assume internet default rule
ipchains -A srcfilt -j s0
# Remove the temp DNS accept rules
if [ $MIN_MODE -eq 0 ] ; then
ipchains -D output -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -D input -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -D output -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -D input -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# The output chain is quite simple. We diverge and filter any traffic from
# the local machine and accept the rest. The rest should have come via the
# forward chain, and hence is already filtered.
ipchains -A output -j nicfilt
for X in $IPS ; do
ipchains -A output -s $X -j s1
done
ipchains -A output -j ACCEPT
ipchains -A input -j nicfilt
# Direct local bound traffic on the input chain to the srcfilt chain
for X in $IPS ; do
ipchains -A input -d $X -j srcfilt
done
ipchains -A input -j ACCEPT
# All traffic on the forward chains goes to the srcfilt chain.
ipchains -A forward -j nicfilt &> /dev/null
ipchains -A forward -j srcfilt &> /dev/null
logger -p auth.info -t guarddog Finished configuring firewall
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Finito."
fi;
if [ $FILTERSYS -eq 2 ]; then
###############################
###### iptables firewall ######
###############################
logger -p auth.info -t guarddog Configuring iptables firewall now.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Uso iptables."
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Reimposto le regole del firewall."
# Shut down all traffic
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# Delete any existing chains
iptables -F
iptables -X
# Load any special kernel modules.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Carico i moduli del kernel."
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Imposto i parametri del kernel."
# Turn on kernel IP spoof protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Set the TCP timestamps config
echo 1 > /proc/sys/net/ipv4/tcp_timestamps 2> /dev/null
# Enable TCP SYN Cookie Protection if available
test -e /proc/sys/net/ipv4/tcp_syncookies && echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/default/accept_source_route 2> /dev/null
# Log truly weird packets.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians 2> /dev/null
echo 1 > /proc/sys/net/ipv4/conf/default/log_martians 2> /dev/null
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Set kernel rp_filter. NICs used for IPSEC should not have rp_fitler turned on.
# Find the IPs of any ipsecX NICs
IPSEC_IPS="`ifconfig | gawk '/^ipsec\w/ { grabip = 1}
/inet addr:[[:digit:]\\.]+/ { if(grabip==1) printf \"%s \",gensub(/^.*inet addr:([[:digit:]\\.]+).*$/,\"\\\\1\",\"g\",$0)
grabip = 0}'`"
# Build a list of NIC names and metching IPs
IP_NIC_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*/ {match($0,/inet addr:[[:digit:]\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
printf \"%s_%s\\n\",nic,ip }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Activate rp_filter for each NIC, except for NICs that are using
# an IP that is involved with IPSEC.
for X in $IP_NIC_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
RPF="1"
for SEC_IP in $IPSEC_IPS ; do
if [[ $SEC_IP == $IP ]]; then
RPF="0"
fi
done
echo $RPF > /proc/sys/net/ipv4/conf/$NIC/rp_filter 2> /dev/null
done
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter 2> /dev/null
echo "1024 5999" > /proc/sys/net/ipv4/ip_local_port_range 2> /dev/null
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Configuro le regole del firewall."
# Set up our logging and packet 'executing' chains
iptables -N logdrop2
iptables -A logdrop2 -j LOG --log-prefix "DROPPED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logdrop2 -j DROP
iptables -N logdrop
iptables -A logdrop -m limit --limit 1/second --limit-burst 10 -j logdrop2
iptables -A logdrop -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
iptables -A logdrop -j DROP
iptables -N logreject2
iptables -A logreject2 -j LOG --log-prefix "REJECTED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logreject2 -p tcp -j REJECT --reject-with tcp-reset
iptables -A logreject2 -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A logreject2 -j DROP
iptables -N logreject
iptables -A logreject -m limit --limit 1/second --limit-burst 10 -j logreject2
iptables -A logreject -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
iptables -A logreject -p tcp -j REJECT --reject-with tcp-reset
iptables -A logreject -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A logreject -j DROP
iptables -N logaborted2
iptables -A logaborted2 -j LOG --log-prefix "ABORTED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logaborted2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -N logaborted
iptables -A logaborted -m limit --limit 1/second --limit-burst 10 -j logaborted2
iptables -A logaborted -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
# Allow loopback traffic.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow DHCP clients.
iptables -A INPUT -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 67 --sport 68 -j ACCEPT
# Allow DHCP servers.
iptables -A INPUT -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 68 --sport 67 -j ACCEPT
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Accept broadcasts from ourself.
IP_BCAST_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*Bcast/ {match($0,/inet addr:[[:digit:]\\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
match($0,/Bcast:[[:digit:]\\.]+/)
bcast = substr($0,RSTART+6,RLENGTH-6)
printf \"%s_%s_%s\\n\",nic,ip,bcast }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
for X in $IP_BCAST_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
BCAST="`echo \"$X\" | cut -f 3 -d _`"
iptables -A INPUT -i $NIC -s $IP -d $BCAST -j ACCEPT
done
# Detect aborted TCP connections.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -p tcp --tcp-flags RST RST -j logaborted
# Quickly allow anything that belongs to an already established connection.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow certain critical ICMP types
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT # Dest unreachable
iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT # Dest unreachable
iptables -A FORWARD -p icmp --icmp-type destination-unreachable -j ACCEPT &> /dev/null # Dest unreachable
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT # Time exceeded
iptables -A OUTPUT -p icmp --icmp-type time-exceeded -j ACCEPT # Time exceeded
iptables -A FORWARD -p icmp --icmp-type time-exceeded -j ACCEPT &> /dev/null # Time exceeded
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT # Parameter Problem
iptables -A OUTPUT -p icmp --icmp-type parameter-problem -j ACCEPT # Parameter Problem
iptables -A FORWARD -p icmp --icmp-type parameter-problem -j ACCEPT &> /dev/null # Parameter Problem
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Work out our local IPs.
NIC_IP="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",\$1)}
/inet addr:/ { match(\$0,/inet addr:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+10,RLENGTH-10) }
/Bcast/ { match(\$0,/Bcast:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+6,RLENGTH-6) }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Create the nicfilt chain
iptables -N nicfilt
GOT_LO=0
NIC_COUNT=0
for X in $NIC_IP ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
iptables -A nicfilt -i $NIC -j RETURN
# We also take this opportunity to see if we only have a lo interface.
if [ $NIC == "lo" ]; then
GOT_LO=1
fi
let NIC_COUNT=$NIC_COUNT+1
done
IPS="`echo \"$NIC_IP\" | cut -f 2 -d _`"
iptables -A nicfilt -j logdrop
# Do we have just a lo interface?
if [ $GOT_LO -eq 1 ] && [ $NIC_COUNT -eq 1 ] ; then
MIN_MODE=1
else
MIN_MODE=0
fi
# Are there *any* interfaces?
if [ $NIC_COUNT -eq 0 ] ; then
MIN_MODE=1
fi
# If we only have a lo interface or no interfaces then we assume that DNS
# is not going to work and just skip any iptables calls that need DNS.
# Create the filter chains
# Create chain to filter traffic going from 'Internet' to 'Locale'
iptables -N f0to1
# Create chain to filter traffic going from 'Locale' to 'Internet'
iptables -N f1to0
# Add rules to the filter chains
# Traffic from 'Internet' to 'Locale'
# Allow 'bt-peer'
# Peer BitTorrent
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -m state --state NEW -j ACCEPT
# Allow 'redirect'
iptables -A f1to0 -p icmp --icmp-type redirect -j ACCEPT
# Allow 'pop3s'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 995:995 -m state --state NEW -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
iptables -A f0to1 -p icmp --icmp-type echo-request -j ACCEPT
# Replica di risposta (Echo Reply)
iptables -A f1to0 -p icmp --icmp-type echo-reply -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 411:415 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f0to1 -p udp --sport 1024:65535 --dport 411:415 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6969:6969 -m state --state NEW -j ACCEPT
# Allow 'pgpkeyserver'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 11371:11371 -m state --state NEW -j ACCEPT
# Allow 'quench'
iptables -A f0to1 -p icmp --icmp-type source-quench -j ACCEPT
# Allow 'ftp'
# Controllo connessione
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 21:21 -m state --state NEW -j ACCEPT
# Connessione dati
# - Handled by netfilter state tracking
# Modo passivo della connessione dati
# - Handled by netfilter state tracking
# Allow 'smtps'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 465:465 -m state --state NEW -j ACCEPT
# Allow 'domain'
iptables -A f0to1 -p tcp --sport 0:65535 --dport 53:53 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
# Allow 'smtp'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 25:25 -m state --state NEW -j ACCEPT
# Allow 'vj-traceroute'
iptables -A f0to1 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1863:1863 -m state --state NEW -j ACCEPT
# Allow 'nicname'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 43:43 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'auth'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 113:113 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 113:113 -j ACCEPT
# Allow 'edonkey2000'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4661:4661 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4665:4665 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
# Allow 'pop3'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 110:110 -m state --state NEW -j ACCEPT
# Allow 'icq'
iptables -A f0to1 -p udp --sport 0:65535 --dport 5190:5190 -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:65535 --dport 3900:3999 -m state --state NEW -j ACCEPT
# Rejected traffic from 'Internet' to 'Locale'
# Traffic from 'Locale' to 'Internet'
# Allow 'distcc'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3632:3632 -m state --state NEW -j ACCEPT
# Allow 'cvspserver'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2401:2401 -m state --state NEW -j ACCEPT
# Allow 'irc'
# Server connection
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6660:6669 -m state --state NEW -j ACCEPT
# - Handled by netfilter state tracking
# Allow 'gnutella'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 6346:6346 -m state --state NEW -j ACCEPT
# Allow 'bt-peer'
# Peer BitTorrent
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -m state --state NEW -j ACCEPT
# Allow 'redirect'
iptables -A f0to1 -p icmp --icmp-type redirect -j ACCEPT
# Allow 'cddb'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 888:888 -m state --state NEW -j ACCEPT
# Allow 'pop3s'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 995:995 -m state --state NEW -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
iptables -A f1to0 -p icmp --icmp-type echo-request -j ACCEPT
# Replica di risposta (Echo Reply)
iptables -A f0to1 -p icmp --icmp-type echo-reply -j ACCEPT
# Allow 'mysql'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3306:3306 -m state --state NEW -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 411:415 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f1to0 -p udp --sport 1024:5999 --dport 411:415 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p tcp --sport 0:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6969:6969 -m state --state NEW -j ACCEPT
# Allow 'pgpkeyserver'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 11371:11371 -m state --state NEW -j ACCEPT
# Allow 'postgresql'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5432:5432 -m state --state NEW -j ACCEPT
# Allow 'quench'
iptables -A f1to0 -p icmp --icmp-type source-quench -j ACCEPT
# Allow 'ftp'
# Controllo connessione
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 21:21 -m state --state NEW -j ACCEPT
# Connessione dati
# - Handled by netfilter state tracking
# Modo passivo della connessione dati
# - Handled by netfilter state tracking
# Allow 'smtps'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 465:465 -m state --state NEW -j ACCEPT
# Allow 'dict'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2628:2628 -m state --state NEW -j ACCEPT
# Allow 'userdefined1'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 31335:31337 -m state --state NEW -j ACCEPT
# Allow 'domain'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 53:53 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
# Allow 'smtp'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 25:25 -m state --state NEW -j ACCEPT
# Allow 'freedb'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8880:8880 -m state --state NEW -j ACCEPT
# Allow 'rsync'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 873:873 -m state --state NEW -j ACCEPT
# Allow 'time'
iptables -A f1to0 -p udp --sport 1024:5999 --dport 37:37 -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 37:37 -m state --state NEW -j ACCEPT
# Allow 'vj-traceroute'
iptables -A f1to0 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1863:1863 -m state --state NEW -j ACCEPT
# Allow 'ldap-ssl'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 636:636 -m state --state NEW -j ACCEPT
# Allow 'blubster'
# Ricezione dati
iptables -A f1to0 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Invio dati
iptables -A f0to1 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Allow 'https'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 443:443 -m state --state NEW -j ACCEPT
# Allow 'finger'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 79:79 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 79:79 -j ACCEPT
# Allow 'nicname'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 43:43 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'ssh'
# Connessione normale
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 22:22 -m state --state NEW -j ACCEPT
# Porta sorgente privilegiata (rhosts compatibile.)
iptables -A f1to0 -p tcp --sport 0:1023 --dport 22:22 -m state --state NEW -j ACCEPT
# Allow 'svnserve'
# Request connection.
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3690:3690 -m state --state NEW -j ACCEPT
# Allow 'edonkey2000'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4661:4661 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4665:4665 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
# Allow 'pop3'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 110:110 -m state --state NEW -j ACCEPT
# Allow 'ldap'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 389:389 -m state --state NEW -j ACCEPT
# Allow 'http'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 80:80 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8080:8080 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8008:8008 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8000:8000 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8888:8888 -m state --state NEW -j ACCEPT
# Rejected traffic from 'Locale' to 'Internet'
# Reject 'jabber'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5222:5222 -m state --state NEW -j logreject
# Jabber over Secure Socket Layer
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5223:5223 -m state --state NEW -j logreject
# Reject 'directplay'
# Connessione primaria
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 47624:47624 -m state --state NEW -j logreject
# Connessione di gioco
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2300:2400 -m state --state NEW -j logreject
# Connessione di gioco
iptables -A f1to0 -p udp --sport 1024:65535 --dport 2300:2400 -j logreject
# Connessione di gioco
iptables -A f0to1 -p udp --sport 1024:65535 --dport 2300:2400 -j logreject
# Reject 'powwow'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 13223:13223 -m state --state NEW -j logreject
iptables -A f1to0 -p udp --sport 0:65535 --dport 13223:13223 -j logreject
# Reject 'netmeeting'
# Internet Locator Service (ILS)
iptables -A f1to0 -p tcp --sport 0:65535 --dport 389:389 -m state --state NEW -j logreject
# Internet Location Service (ILS)
iptables -A f1to0 -p tcp --sport 0:65535 --dport 522:522 -m state --state NEW -j logreject
# T.120
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1503:1503 -m state --state NEW -j logreject
# Impostazione di chiamata H.323
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1720:1720 -m state --state NEW -j logreject
# Controllo di chiamata audio
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1731:1731 -m state --state NEW -j logreject
# Controllo di chiamata H.323
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1024:65535 -m state --state NEW -j logreject
# Lettura in transito (streaming) H.323
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -j logreject
# Reject 'halflife'
# Porta di autenticazione ottenuta
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 7002:7002 -m state --state NEW -j logreject
# Lista dei server
iptables -A f1to0 -p udp --sport 1024:65535 --dport 27010:27010 -j logreject
# Connessione principale di gioco
iptables -A f1to0 -p udp --sport 1024:65535 --dport 27005:27050 -j logreject
# Reject 'aim'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5190:5193 -m state --state NEW -j logreject
iptables -A f1to0 -p udp --sport 1024:5999 --dport 5190:5193 -j logreject
# Reject 'diablo2'
# Server Battlenet
iptables -A f1to0 -p tcp --sport 0:65535 --dport 6112:6112 -m state --state NEW -j logreject
# Dati di gioco
iptables -A f1to0 -p tcp --sport 0:65535 --dport 4000:4000 -m state --state NEW -j logreject
# Reject 'ymessenger'
# Accesso alla rete
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5050:5050 -m state --state NEW -j logreject
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 23:23 -m state --state NEW -j logreject
# Conferenza
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5000:5001 -m state --state NEW -j logreject
# Conferenza
iptables -A f1to0 -p udp --sport 1024:5999 --dport 5000:5000 -j logreject
# Reject 'quake'
iptables -A f1to0 -p udp --sport 0:65535 --dport 26000:26000 -j logreject
# Reject 'everquest'
# Server Patch EQ
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 7000:7000 -m state --state NEW -j logreject
# Protocollo dei dati di gioco EQ
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -j logreject
# Reject 'yahoogames'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 11999:11999 -m state --state NEW -j logreject
# Reject 'quake2'
iptables -A f1to0 -p udp --sport 0:65535 --dport 27910:27910 -j logreject
# Reject 'icq'
iptables -A f1to0 -p udp --sport 0:65535 --dport 5190:5190 -j logreject
iptables -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j logreject
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 3900:3999 -m state --state NEW -j logreject
# Place DROP and log rules at the end of our filter chains.
# Failing all the rules above, we log and DROP the packet.
iptables -A f0to1 -j logdrop
# Failing all the rules above, we log and DROP the packet.
iptables -A f1to0 -j logdrop
# Add some temp DNS accept rules to the input and output chains.
# This is so that we can pass domain names to ipchains and have iptables be
# able to look it up without being blocked by the our half-complete firewall.
if [ $MIN_MODE -eq 0 ] ; then
iptables -A OUTPUT -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -A INPUT -p tcp ! --syn --sport 53:53 --dport 0:65535 -j ACCEPT
iptables -A OUTPUT -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -A INPUT -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# Chain to split traffic coming from zone 'Internet' by dest zone
iptables -N s0
for X in $IPS ; do
iptables -A s0 -d $X -j f0to1
done
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
iptables -A s0 -j logdrop
# Chain to split traffic coming from zone 'Locale' by dest zone
iptables -N s1
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
iptables -A s1 -j f1to0
# Create the srcfilt chain
iptables -N srcfilt
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
# Assume internet default rule
iptables -A srcfilt -j s0
if [ $MIN_MODE -eq 0 ] ; then
# Remove the temp DNS accept rules
iptables -D OUTPUT -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -D INPUT -p tcp ! --syn --sport 53:53 --dport 0:65535 -j ACCEPT
iptables -D OUTPUT -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -D INPUT -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# The output chain is very simple. We direct everything to the
# 'source is local' split chain.
iptables -A OUTPUT -j s1
iptables -A INPUT -j nicfilt
iptables -A INPUT -j srcfilt
# All traffic on the forward chains goes to the srcfilt chain.
iptables -A FORWARD -j srcfilt &> /dev/null
logger -p auth.info -t guarddog Finished configuring firewall
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Finito."
fi;
fi;
true
# [Guarddog2]
# DO NOT EDIT!
# This firewall script was generated by "Guarddog" by Simon Edwards
# http://www.simonzone.com/software/guarddog/ This script requires Linux
# kernel version 2.2.x and ipchains OR Linux kernel 2.4.x and iptables.
#
# [Description]
#
# [Config]
# LOCALPORTRANGESTART=1024
# LOCALPORTRANGEEND=5999
# DISABLED=0
# LOGREJECT=1
# LOGDROP=1
# LOGABORTEDTCP=1
# LOGIPOPTIONS=1
# LOGTCPOPTIONS=1
# LOGTCPSEQUENCE=1
# LOGLEVEL=4
# LOGRATELIMIT=1
# LOGRATE=1
# LOGRATEUNIT=0
# LOGRATEBURST=10
# LOGWARNLIMIT=1
# LOGWARNRATE=2
# LOGWARNRATEUNIT=1
# DHCPC=1
# DHCPCINTERFACENAME=eth0
# DHCPD=1
# DHCPDINTERFACENAME=eth0
# ALLOWTCPTIMESTAMPS=1
# [UserDefinedProtocol]
# ID=1
# NAME=Bnc
# TYPE=TCP
# PORT=31335:31337
# BIDIRECTIONAL=1
# [ServerZone] Internet
# [ClientZone] Locale
# CONNECTED=1
# PROTOCOL=distcc
# PROTOCOL=cvspserver
# PROTOCOL=irc
# PROTOCOL=gnutella
# PROTOCOL=bt-peer
# PROTOCOL=redirect
# PROTOCOL=cddb
# PROTOCOL=pop3s
# PROTOCOL=ping
# PROTOCOL=mysql
# PROTOCOL=directconnect
# PROTOCOL=bt-tracker
# PROTOCOL=pgpkeyserver
# PROTOCOL=postgresql
# PROTOCOL=quench
# PROTOCOL=ftp
# PROTOCOL=smtps
# PROTOCOL=dict
# PROTOCOL=userdefined1
# PROTOCOL=domain
# PROTOCOL=smtp
# PROTOCOL=freedb
# PROTOCOL=rsync
# PROTOCOL=time
# PROTOCOL=vj-traceroute
# PROTOCOL=msnmessenger
# PROTOCOL=ldap-ssl
# PROTOCOL=blubster
# PROTOCOL=https
# PROTOCOL=finger
# PROTOCOL=nicname
# PROTOCOL=ssh
# PROTOCOL=svnserve
# PROTOCOL=edonkey2000
# PROTOCOL=pop3
# PROTOCOL=ldap
# PROTOCOL=http
# REJECT=jabber
# REJECT=directplay
# REJECT=powwow
# REJECT=netmeeting
# REJECT=halflife
# REJECT=aim
# REJECT=diablo2
# REJECT=ymessenger
# REJECT=quake
# REJECT=everquest
# REJECT=yahoogames
# REJECT=quake2
# REJECT=icq
# [ServerZone] Locale
# [ClientZone] Internet
# CONNECTED=1
# PROTOCOL=bt-peer
# PROTOCOL=redirect
# PROTOCOL=pop3s
# PROTOCOL=ping
# PROTOCOL=directconnect
# PROTOCOL=bt-tracker
# PROTOCOL=pgpkeyserver
# PROTOCOL=quench
# PROTOCOL=ftp
# PROTOCOL=smtps
# PROTOCOL=domain
# PROTOCOL=smtp
# PROTOCOL=vj-traceroute
# PROTOCOL=msnmessenger
# PROTOCOL=nicname
# PROTOCOL=auth
# PROTOCOL=edonkey2000
# PROTOCOL=pop3
# PROTOCOL=icq
# [End]
# Real code starts here
# If you change the line below then also change the # DISABLED line above.
DISABLE_GUARDDOG=0
if test -z $GUARDDOG_VERBOSE; then
GUARDDOG_VERBOSE=0
fi;
if [ $DISABLE_GUARDDOG -eq 0 ]; then
# Set the path
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin
# Detect which filter command we should use.
FILTERSYS=0
# 0 = unknown, 1 = ipchains, 2 = iptables
# Check for ipchains.
if [ -e /sbin/ipchains ]; then
FILTERSYS=1
fi;
if [ -e /usr/sbin/ipchains ]; then
FILTERSYS=1
fi;
if [ -e /usr/local/sbin/ipchains ]; then
FILTERSYS=1
fi;
# Check for iptables support.
if [ -e /proc/sys/kernel/osrelease ]; then
KERNEL_VERSION=`sed "s/^\([0-9][0-9]*\.[0-9][0-9]*\).*\$/\1/" < /proc/sys/kernel/osrelease`
if [ $KERNEL_VERSION == "2.6" ]; then
KERNEL_VERSION="2.4"
fi;
if [ $KERNEL_VERSION == "2.5" ]; then
KERNEL_VERSION="2.4"
fi;
if [ $KERNEL_VERSION == "2.4" ]; then
if [ -e /sbin/iptables ]; then
FILTERSYS=2
fi;
if [ -e /usr/sbin/iptables ]; then
FILTERSYS=2
fi;
if [ -e /usr/local/sbin/iptables ]; then
FILTERSYS=2
fi;
fi;
fi;
if [ $FILTERSYS -eq 0 ]; then
logger -p auth.info -t guarddog "ERROR Can't determine the firewall command! (Is ipchains or iptables installed?)"
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "ERRORE: non riesco a determinare il comando di firewall! (E' installato ipchains o iptables?)"
false
fi;
if [ $FILTERSYS -eq 1 ]; then
###############################
###### ipchains ###############
###############################
logger -p auth.info -t guarddog Configuring ipchains firewall now.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Uso ipchains."
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Reimposto le regole del firewall."
# Shut down all traffic
ipchains -P forward DENY
ipchains -P input DENY
ipchains -P output DENY
# Delete any existing chains
ipchains -F
ipchains -X
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Imposto i parametri del kernel."
# Turn on kernel IP spoof protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Set the up TCP timestamps config
echo 1 > /proc/sys/net/ipv4/tcp_timestamps 2> /dev/null
# Enable TCP SYN Cookie Protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 2> /dev/null
# Log truly weird packets.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians 2> /dev/null
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Set kernel rp_filter. NICs used for IPSEC should not have rp_fitler turned on.
# Find the IPs of any ipsecX NICs
IPSEC_IPS="`ifconfig | gawk '/^ipsec\w/ { grabip = 1}
/inet addr:[[:digit:]\\.]+/ { if(grabip==1) printf \"%s \",gensub(/^.*inet addr:([[:digit:]\\.]+).*$/,\"\\\\1\",\"g\",$0)
grabip = 0}'`"
# Build a list of NIC names and metching IPs
IP_NIC_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*/ {match($0,/inet addr:[[:digit:]\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
printf \"%s_%s\\n\",nic,ip }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Activate rp_filter for each NIC, except for NICs that are using
# an IP that is involved with IPSEC.
for X in $IP_NIC_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
RPF="1"
for SEC_IP in $IPSEC_IPS ; do
if [[ $SEC_IP == $IP ]]; then
RPF="0"
fi
done
echo $RPF > /proc/sys/net/ipv4/conf/$NIC/rp_filter 2> /dev/null
done
echo "1024 5999" > /proc/sys/net/ipv4/ip_local_port_range 2> /dev/null
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Configuro le regole del firewall."
# Allow loopback traffic.
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
# Allow DHCP clients.
ipchains -A input -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
ipchains -A output -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
# Allow DHCP servers.
ipchains -A input -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
ipchains -A output -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
# Accept broadcasts from ourself.
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
IP_BCAST_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*Bcast/ {match($0,/inet addr:[[:digit:]\\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
match($0,/Bcast:[[:digit:]\\.]+/)
bcast = substr($0,RSTART+6,RLENGTH-6)
printf \"%s_%s_%s\\n\",nic,ip,bcast }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
for X in $IP_BCAST_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
BCAST="`echo \"$X\" | cut -f 3 -d _`"
ipchains -A input -i $NIC -s $IP -d $BCAST -j ACCEPT
done
# Allow certain critical ICMP types
ipchains -A input -p icmp --sport 3 -j ACCEPT # Dest unreachable
ipchains -A output -p icmp --sport 3 -j ACCEPT # Dest unreachable
ipchains -A forward -p icmp --sport 3 -j ACCEPT &> /dev/null # Dest unreachable
ipchains -A input -p icmp --sport 11 -j ACCEPT # Time exceeded
ipchains -A output -p icmp --sport 11 -j ACCEPT # Time exceeded
ipchains -A forward -p icmp --sport 11 -j ACCEPT &> /dev/null # Time exceeded
ipchains -A input -p icmp --sport 12 -j ACCEPT # Parameter Problem
ipchains -A output -p icmp --sport 12 -j ACCEPT # Parameter Problem
ipchains -A forward -p icmp --sport 12 -j ACCEPT &> /dev/null # Parameter Problem
# Work out our local IPs.
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
NIC_IP="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",\$1)}
/inet addr:/ { match(\$0,/inet addr:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+10,RLENGTH-10) }
/Bcast/ { match(\$0,/Bcast:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+6,RLENGTH-6) }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Create the nicfilt chain
ipchains -N nicfilt
GOT_LO=0
NIC_COUNT=0
for X in $NIC_IP ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
ipchains -A nicfilt -i $NIC -j RETURN
# We also take this opportunity to see if we only have a lo interface.
if [ $NIC == "lo" ]; then
GOT_LO=1
fi
let NIC_COUNT=$NIC_COUNT+1
done
IPS="`echo \"$NIC_IP\" | cut -f 2 -d _`"
# Do we have just a lo interface?
if [ $GOT_LO -eq 1 ] && [ $NIC_COUNT -eq 1 ] ; then
MIN_MODE=1
else
MIN_MODE=0
fi
# Are there *any* interfaces?
if [ $NIC_COUNT -eq 0 ] ; then
MIN_MODE=1
fi
# If we only have a lo interface or no interfaces then we assume that DNS
# is not going to work and just skip any iptables calls that need DNS.
ipchains -A nicfilt -l -j DENY
# Create the filter chains
# Create chain to filter traffic going from 'Internet' to 'Locale'
ipchains -N f0to1
# Create chain to filter traffic going from 'Locale' to 'Internet'
ipchains -N f1to0
# Add rules to the filter chains
# Traffic from 'Internet' to 'Locale'
# Allow 'bt-peer'
# Peer BitTorrent
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6881:6889 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6881:6889 --dport 1024:5999 -j ACCEPT
# Allow 'redirect'
ipchains -A f1to0 -p icmp --sport 5 -j ACCEPT
# Allow 'pop3s'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 995:995 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 995:995 --dport 1024:65535 -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
ipchains -A f0to1 -p icmp --sport 8 -j ACCEPT
# Replica di risposta (Echo Reply)
ipchains -A f1to0 -p icmp --sport 0 -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 411:415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 411:415 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1411:1415 --dport 1024:65535 -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 411:415 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p tcp --sport 1411:1415 --dport 0:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6969:6969 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6969:6969 --dport 1024:65535 -j ACCEPT
# Allow 'pgpkeyserver'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 11371:11371 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 11371:11371 --dport 1024:65535 -j ACCEPT
# Allow 'quench'
ipchains -A f0to1 -p icmp --sport 4 -j ACCEPT
# Allow 'ftp'
# Controllo connessione
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 21:21 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 21:21 --dport 1024:65535 -j ACCEPT
# Connessione dati
ipchains -A f1to0 -p tcp --sport 20:20 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 20:20 -j ACCEPT
# Modo passivo della connessione dati
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'smtps'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 465:465 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 465:465 --dport 1024:65535 -j ACCEPT
# Allow 'domain'
ipchains -A f0to1 -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f1to0 -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
# Allow 'smtp'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 25:25 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 25:25 --dport 1024:65535 -j ACCEPT
# Allow 'vj-traceroute'
ipchains -A f0to1 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1863:1863 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1863:1863 --dport 1024:65535 -j ACCEPT
# Allow 'nicname'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 43:43 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 43:43 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'auth'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 113:113 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 113:113 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 0:65535 --dport 113:113 -j ACCEPT
ipchains -A f1to0 -p udp --sport 113:113 --dport 0:65535 -j ACCEPT
# Allow 'edonkey2000'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4661:4661 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4661:4661 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4662:4662 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4662:4662 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4665:4665 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4665:4665 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4666:4666 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4666:4666 --dport 1024:5999 -j ACCEPT
# Allow 'pop3'
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 110:110 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 110:110 --dport 1024:65535 -j ACCEPT
# Allow 'icq'
ipchains -A f0to1 -p udp --sport 0:65535 --dport 5190:5190 -j ACCEPT
ipchains -A f1to0 -p udp --sport 5190:5190 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 3900:3999 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3900:3999 --dport 1024:65535 -j ACCEPT
# Rejected traffic from 'Internet' to 'Locale'
# Traffic from 'Locale' to 'Internet'
# Allow 'distcc'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3632:3632 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3632:3632 --dport 1024:5999 -j ACCEPT
# Allow 'cvspserver'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2401:2401 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 2401:2401 --dport 1024:5999 -j ACCEPT
# Allow 'irc'
# Server connection
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6660:6669 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6660:6669 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'gnutella'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 6346:6346 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6346:6346 --dport 0:65535 -j ACCEPT
# Allow 'bt-peer'
# Peer BitTorrent
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6881:6889 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 6881:6889 --dport 1024:65535 -j ACCEPT
# Allow 'redirect'
ipchains -A f0to1 -p icmp --sport 5 -j ACCEPT
# Allow 'cddb'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 888:888 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 888:888 --dport 1024:5999 -j ACCEPT
# Allow 'pop3s'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 995:995 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 995:995 --dport 1024:5999 -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
ipchains -A f1to0 -p icmp --sport 8 -j ACCEPT
# Replica di risposta (Echo Reply)
ipchains -A f0to1 -p icmp --sport 0 -j ACCEPT
# Allow 'mysql'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3306:3306 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3306:3306 --dport 1024:5999 -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 411:415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 411:415 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1411:1415 --dport 1024:5999 -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 411:415 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p tcp --sport 0:65535 --dport 1411:1415 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
ipchains -A f0to1 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 6969:6969 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 6969:6969 --dport 1024:5999 -j ACCEPT
# Allow 'pgpkeyserver'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 11371:11371 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 11371:11371 --dport 1024:5999 -j ACCEPT
# Allow 'postgresql'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5432:5432 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 5432:5432 --dport 1024:5999 -j ACCEPT
# Allow 'quench'
ipchains -A f1to0 -p icmp --sport 4 -j ACCEPT
# Allow 'ftp'
# Controllo connessione
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 21:21 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 21:21 --dport 1024:5999 -j ACCEPT
# Connessione dati
ipchains -A f0to1 -p tcp --sport 20:20 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 1024:65535 --dport 20:20 -j ACCEPT
# Modo passivo della connessione dati
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -j ACCEPT
# Allow 'smtps'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 465:465 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 465:465 --dport 1024:5999 -j ACCEPT
# Allow 'dict'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2628:2628 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 2628:2628 --dport 1024:5999 -j ACCEPT
# Allow 'userdefined1'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 31335:31337 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 31335:31337 --dport 0:65535 -j ACCEPT
# Allow 'domain'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A f0to1 -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
# Allow 'smtp'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 25:25 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 25:25 --dport 1024:5999 -j ACCEPT
# Allow 'freedb'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8880:8880 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8880:8880 --dport 1024:5999 -j ACCEPT
# Allow 'rsync'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 873:873 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 873:873 --dport 1024:5999 -j ACCEPT
# Allow 'time'
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 37:37 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 37:37 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 37:37 --dport 1024:5999 -j ACCEPT
# Allow 'vj-traceroute'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1863:1863 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 1863:1863 --dport 1024:5999 -j ACCEPT
# Allow 'ldap-ssl'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 636:636 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 636:636 --dport 1024:5999 -j ACCEPT
# Allow 'blubster'
# Ricezione dati
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Invio dati
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Allow 'https'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 443:443 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 443:443 --dport 1024:5999 -j ACCEPT
# Allow 'finger'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 79:79 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 79:79 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 79:79 -j ACCEPT
# Allow 'nicname'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 43:43 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 43:43 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'ssh'
# Connessione normale
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 22:22 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 22:22 --dport 1024:5999 -j ACCEPT
# Porta sorgente privilegiata (rhosts compatibile.)
ipchains -A f1to0 -p tcp --sport 0:1023 --dport 22:22 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 22:22 --dport 0:1023 -j ACCEPT
# Allow 'svnserve'
# Request connection.
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 3690:3690 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 3690:3690 --dport 1024:5999 -j ACCEPT
# Allow 'edonkey2000'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4661:4661 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4661:4661 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 4662:4662 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -j ACCEPT
ipchains -A f1to0 -p tcp ! -y --sport 4662:4662 --dport 1024:65535 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4665:4665 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4665:4665 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
ipchains -A f0to1 -p udp --sport 4666:4666 --dport 1024:5999 -j ACCEPT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
ipchains -A f1to0 -p udp --sport 4666:4666 --dport 1024:65535 -j ACCEPT
# Allow 'pop3'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 110:110 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 110:110 --dport 1024:5999 -j ACCEPT
# Allow 'ldap'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 389:389 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 389:389 --dport 1024:5999 -j ACCEPT
# Allow 'http'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 80:80 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 80:80 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8080:8080 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8080:8080 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8008:8008 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8008:8008 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8000:8000 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8000:8000 --dport 1024:5999 -j ACCEPT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 8888:8888 -j ACCEPT
ipchains -A f0to1 -p tcp ! -y --sport 8888:8888 --dport 1024:5999 -j ACCEPT
# Rejected traffic from 'Locale' to 'Internet'
# Reject 'jabber'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5222:5222 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5222:5222 --dport 1024:5999 -l -j REJECT
# Jabber over Secure Socket Layer
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5223:5223 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5223:5223 --dport 1024:5999 -l -j REJECT
# Reject 'directplay'
# Connessione primaria
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 47624:47624 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 47624:47624 --dport 1024:5999 -l -j REJECT
# Connessione di gioco
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 2300:2400 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 2300:2400 --dport 1024:5999 -l -j REJECT
# Connessione di gioco
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 2300:2400 -l -j REJECT
ipchains -A f0to1 -p udp --sport 2300:2400 --dport 1024:65535 -l -j REJECT
# Connessione di gioco
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 2300:2400 -l -j REJECT
ipchains -A f1to0 -p udp --sport 2300:2400 --dport 1024:65535 -l -j REJECT
# Reject 'powwow'
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 13223:13223 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 13223:13223 --dport 0:65535 -l -j REJECT
ipchains -A f1to0 -p udp --sport 0:65535 --dport 13223:13223 -l -j REJECT
# Reject 'netmeeting'
# Internet Locator Service (ILS)
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 389:389 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 389:389 --dport 0:65535 -l -j REJECT
# Internet Location Service (ILS)
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 522:522 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 522:522 --dport 0:65535 -l -j REJECT
# T.120
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1503:1503 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1503:1503 --dport 0:65535 -l -j REJECT
# Impostazione di chiamata H.323
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1720:1720 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1720:1720 --dport 0:65535 -l -j REJECT
# Controllo di chiamata audio
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 1731:1731 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1731:1731 --dport 0:65535 -l -j REJECT
# Controllo di chiamata H.323
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Lettura in transito (streaming) H.323
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Reject 'halflife'
# Porta di autenticazione ottenuta
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 7002:7002 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 7002:7002 --dport 1024:5999 -l -j REJECT
# Lista dei server
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 27010:27010 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27010:27010 --dport 1024:65535 -l -j REJECT
# Connessione principale di gioco
ipchains -A f1to0 -p udp --sport 1024:65535 --dport 27005:27050 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27005:27050 --dport 1024:65535 -l -j REJECT
# Reject 'aim'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5190:5193 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5190:5193 --dport 1024:5999 -l -j REJECT
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 5190:5193 -l -j REJECT
# Reject 'diablo2'
# Server Battlenet
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 6112:6112 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 6112:6112 --dport 0:65535 -l -j REJECT
# Dati di gioco
ipchains -A f1to0 -p tcp --sport 0:65535 --dport 4000:4000 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 4000:4000 --dport 0:65535 -l -j REJECT
# Reject 'ymessenger'
# Accesso alla rete
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5050:5050 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5050:5050 --dport 1024:5999 -l -j REJECT
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 23:23 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 23:23 --dport 1024:5999 -l -j REJECT
# Conferenza
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 5000:5001 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 5000:5001 --dport 1024:5999 -l -j REJECT
# Conferenza
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 5000:5000 -l -j REJECT
# Reject 'quake'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 26000:26000 -l -j REJECT
ipchains -A f0to1 -p udp --sport 26000:26000 --dport 0:65535 -l -j REJECT
# Reject 'everquest'
# Server Patch EQ
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 7000:7000 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 7000:7000 --dport 1024:5999 -l -j REJECT
# Protocollo dei dati di gioco EQ
ipchains -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p udp --sport 1024:65535 --dport 1024:5999 -l -j REJECT
# Reject 'yahoogames'
ipchains -A f1to0 -p tcp --sport 1024:5999 --dport 11999:11999 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 11999:11999 --dport 1024:5999 -l -j REJECT
# Reject 'quake2'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 27910:27910 -l -j REJECT
ipchains -A f0to1 -p udp --sport 27910:27910 --dport 0:65535 -l -j REJECT
# Reject 'icq'
ipchains -A f1to0 -p udp --sport 0:65535 --dport 5190:5190 -l -j REJECT
ipchains -A f0to1 -p udp --sport 5190:5190 --dport 0:65535 -l -j REJECT
ipchains -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp ! -y --sport 1024:65535 --dport 1024:65535 -l -j REJECT
ipchains -A f0to1 -p tcp --sport 1024:65535 --dport 3900:3999 -l -j REJECT
ipchains -A f1to0 -p tcp ! -y --sport 3900:3999 --dport 1024:65535 -l -j REJECT
# Place DENY and log rules at the end of our filter chains.
# Failing all the rules above, we DENY and maybe log the packet.
ipchains -A f0to1 -l -j DENY
# Failing all the rules above, we DENY and maybe log the packet.
ipchains -A f1to0 -l -j DENY
# Add some temp DNS accept rules to the input and output chains.
# This is so that we can pass domain names to ipchains and have ipchains be
# able to look it up without being blocked by the our half-complete firewall.
if [ $MIN_MODE -eq 0 ] ; then
ipchains -A output -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A input -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -A output -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -A input -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# Chain to split traffic coming from zone 'Internet' by dest zone
ipchains -N s0
for X in $IPS ; do
ipchains -A s0 -d $X -j f0to1
done
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
ipchains -A s0 -l -j DENY
# Chain to split traffic coming from zone 'Locale' by dest zone
ipchains -N s1
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
ipchains -A s1 -j f1to0
# Create the srcfilt chain
ipchains -N srcfilt
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has a least something in it.
fi
# Assume internet default rule
ipchains -A srcfilt -j s0
# Remove the temp DNS accept rules
if [ $MIN_MODE -eq 0 ] ; then
ipchains -D output -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -D input -p tcp ! -y --sport 53:53 --dport 0:65535 -j ACCEPT
ipchains -D output -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
ipchains -D input -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# The output chain is quite simple. We diverge and filter any traffic from
# the local machine and accept the rest. The rest should have come via the
# forward chain, and hence is already filtered.
ipchains -A output -j nicfilt
for X in $IPS ; do
ipchains -A output -s $X -j s1
done
ipchains -A output -j ACCEPT
ipchains -A input -j nicfilt
# Direct local bound traffic on the input chain to the srcfilt chain
for X in $IPS ; do
ipchains -A input -d $X -j srcfilt
done
ipchains -A input -j ACCEPT
# All traffic on the forward chains goes to the srcfilt chain.
ipchains -A forward -j nicfilt &> /dev/null
ipchains -A forward -j srcfilt &> /dev/null
logger -p auth.info -t guarddog Finished configuring firewall
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Finito."
fi;
if [ $FILTERSYS -eq 2 ]; then
###############################
###### iptables firewall ######
###############################
logger -p auth.info -t guarddog Configuring iptables firewall now.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Uso iptables."
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Reimposto le regole del firewall."
# Shut down all traffic
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# Delete any existing chains
iptables -F
iptables -X
# Load any special kernel modules.
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Carico i moduli del kernel."
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Imposto i parametri del kernel."
# Turn on kernel IP spoof protection
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 2> /dev/null
# Set the TCP timestamps config
echo 1 > /proc/sys/net/ipv4/tcp_timestamps 2> /dev/null
# Enable TCP SYN Cookie Protection if available
test -e /proc/sys/net/ipv4/tcp_syncookies && echo 1 > /proc/sys/net/ipv4/tcp_syncookies 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route 2> /dev/null
echo 0 > /proc/sys/net/ipv4/conf/default/accept_source_route 2> /dev/null
# Log truly weird packets.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians 2> /dev/null
echo 1 > /proc/sys/net/ipv4/conf/default/log_martians 2> /dev/null
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Set kernel rp_filter. NICs used for IPSEC should not have rp_fitler turned on.
# Find the IPs of any ipsecX NICs
IPSEC_IPS="`ifconfig | gawk '/^ipsec\w/ { grabip = 1}
/inet addr:[[:digit:]\\.]+/ { if(grabip==1) printf \"%s \",gensub(/^.*inet addr:([[:digit:]\\.]+).*$/,\"\\\\1\",\"g\",$0)
grabip = 0}'`"
# Build a list of NIC names and metching IPs
IP_NIC_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*/ {match($0,/inet addr:[[:digit:]\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
printf \"%s_%s\\n\",nic,ip }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Activate rp_filter for each NIC, except for NICs that are using
# an IP that is involved with IPSEC.
for X in $IP_NIC_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
RPF="1"
for SEC_IP in $IPSEC_IPS ; do
if [[ $SEC_IP == $IP ]]; then
RPF="0"
fi
done
echo $RPF > /proc/sys/net/ipv4/conf/$NIC/rp_filter 2> /dev/null
done
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter 2> /dev/null
echo "1024 5999" > /proc/sys/net/ipv4/ip_local_port_range 2> /dev/null
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Configuro le regole del firewall."
# Set up our logging and packet 'executing' chains
iptables -N logdrop2
iptables -A logdrop2 -j LOG --log-prefix "DROPPED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logdrop2 -j DROP
iptables -N logdrop
iptables -A logdrop -m limit --limit 1/second --limit-burst 10 -j logdrop2
iptables -A logdrop -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
iptables -A logdrop -j DROP
iptables -N logreject2
iptables -A logreject2 -j LOG --log-prefix "REJECTED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logreject2 -p tcp -j REJECT --reject-with tcp-reset
iptables -A logreject2 -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A logreject2 -j DROP
iptables -N logreject
iptables -A logreject -m limit --limit 1/second --limit-burst 10 -j logreject2
iptables -A logreject -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
iptables -A logreject -p tcp -j REJECT --reject-with tcp-reset
iptables -A logreject -p udp -j REJECT --reject-with icmp-port-unreachable
iptables -A logreject -j DROP
iptables -N logaborted2
iptables -A logaborted2 -j LOG --log-prefix "ABORTED " --log-level 4 --log-ip-options --log-tcp-options --log-tcp-sequence
iptables -A logaborted2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -N logaborted
iptables -A logaborted -m limit --limit 1/second --limit-burst 10 -j logaborted2
iptables -A logaborted -m limit --limit 2/minute --limit-burst 1 -j LOG --log-prefix "LIMITED " --log-level 4
# Allow loopback traffic.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow DHCP clients.
iptables -A INPUT -i eth0 -p udp --dport 68 --sport 67 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 67 --sport 68 -j ACCEPT
# Allow DHCP servers.
iptables -A INPUT -i eth0 -p udp --dport 67 --sport 68 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 68 --sport 67 -j ACCEPT
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Accept broadcasts from ourself.
IP_BCAST_PAIRS="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",$1)}
/inet addr:.*Bcast/ {match($0,/inet addr:[[:digit:]\\.]+/)
ip=substr($0,RSTART+10,RLENGTH-10)
match($0,/Bcast:[[:digit:]\\.]+/)
bcast = substr($0,RSTART+6,RLENGTH-6)
printf \"%s_%s_%s\\n\",nic,ip,bcast }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
for X in $IP_BCAST_PAIRS ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
IP="`echo \"$X\" | cut -f 2 -d _`"
BCAST="`echo \"$X\" | cut -f 3 -d _`"
iptables -A INPUT -i $NIC -s $IP -d $BCAST -j ACCEPT
done
# Detect aborted TCP connections.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -p tcp --tcp-flags RST RST -j logaborted
# Quickly allow anything that belongs to an already established connection.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow certain critical ICMP types
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT # Dest unreachable
iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT # Dest unreachable
iptables -A FORWARD -p icmp --icmp-type destination-unreachable -j ACCEPT &> /dev/null # Dest unreachable
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT # Time exceeded
iptables -A OUTPUT -p icmp --icmp-type time-exceeded -j ACCEPT # Time exceeded
iptables -A FORWARD -p icmp --icmp-type time-exceeded -j ACCEPT &> /dev/null # Time exceeded
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT # Parameter Problem
iptables -A OUTPUT -p icmp --icmp-type parameter-problem -j ACCEPT # Parameter Problem
iptables -A FORWARD -p icmp --icmp-type parameter-problem -j ACCEPT &> /dev/null # Parameter Problem
# Switch the current language for a moment
GUARDDOG_BACKUP_LANG=$LANG
GUARDDOG_BACKUP_LC_ALL=$LC_ALL
LANG=US
LC_ALL=US
export LANG
export LC_ALL
# Work out our local IPs.
NIC_IP="`ifconfig | gawk '/^\w/ { nic = gensub(/^(.*):.*/,\"\\\\1\",\"g\",\$1)}
/inet addr:/ { match(\$0,/inet addr:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+10,RLENGTH-10) }
/Bcast/ { match(\$0,/Bcast:[[:digit:]\\.]+/)
printf \"%s_%s\\n\",nic,substr(\$0,RSTART+6,RLENGTH-6) }'`"
# Restore the language setting
LANG=$GUARDDOG_BACKUP_LANG
LC_ALL=$GUARDDOG_BACKUP_LC_ALL
export LANG
export LC_ALL
# Create the nicfilt chain
iptables -N nicfilt
GOT_LO=0
NIC_COUNT=0
for X in $NIC_IP ; do
NIC="`echo \"$X\" | cut -f 1 -d _`"
iptables -A nicfilt -i $NIC -j RETURN
# We also take this opportunity to see if we only have a lo interface.
if [ $NIC == "lo" ]; then
GOT_LO=1
fi
let NIC_COUNT=$NIC_COUNT+1
done
IPS="`echo \"$NIC_IP\" | cut -f 2 -d _`"
iptables -A nicfilt -j logdrop
# Do we have just a lo interface?
if [ $GOT_LO -eq 1 ] && [ $NIC_COUNT -eq 1 ] ; then
MIN_MODE=1
else
MIN_MODE=0
fi
# Are there *any* interfaces?
if [ $NIC_COUNT -eq 0 ] ; then
MIN_MODE=1
fi
# If we only have a lo interface or no interfaces then we assume that DNS
# is not going to work and just skip any iptables calls that need DNS.
# Create the filter chains
# Create chain to filter traffic going from 'Internet' to 'Locale'
iptables -N f0to1
# Create chain to filter traffic going from 'Locale' to 'Internet'
iptables -N f1to0
# Add rules to the filter chains
# Traffic from 'Internet' to 'Locale'
# Allow 'bt-peer'
# Peer BitTorrent
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -m state --state NEW -j ACCEPT
# Allow 'redirect'
iptables -A f1to0 -p icmp --icmp-type redirect -j ACCEPT
# Allow 'pop3s'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 995:995 -m state --state NEW -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
iptables -A f0to1 -p icmp --icmp-type echo-request -j ACCEPT
# Replica di risposta (Echo Reply)
iptables -A f1to0 -p icmp --icmp-type echo-reply -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 411:415 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f0to1 -p udp --sport 1024:65535 --dport 411:415 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6969:6969 -m state --state NEW -j ACCEPT
# Allow 'pgpkeyserver'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 11371:11371 -m state --state NEW -j ACCEPT
# Allow 'quench'
iptables -A f0to1 -p icmp --icmp-type source-quench -j ACCEPT
# Allow 'ftp'
# Controllo connessione
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 21:21 -m state --state NEW -j ACCEPT
# Connessione dati
# - Handled by netfilter state tracking
# Modo passivo della connessione dati
# - Handled by netfilter state tracking
# Allow 'smtps'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 465:465 -m state --state NEW -j ACCEPT
# Allow 'domain'
iptables -A f0to1 -p tcp --sport 0:65535 --dport 53:53 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
# Allow 'smtp'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 25:25 -m state --state NEW -j ACCEPT
# Allow 'vj-traceroute'
iptables -A f0to1 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1863:1863 -m state --state NEW -j ACCEPT
# Allow 'nicname'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 43:43 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'auth'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 113:113 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 0:65535 --dport 113:113 -j ACCEPT
# Allow 'edonkey2000'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4661:4661 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4665:4665 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
# Allow 'pop3'
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 110:110 -m state --state NEW -j ACCEPT
# Allow 'icq'
iptables -A f0to1 -p udp --sport 0:65535 --dport 5190:5190 -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:65535 --dport 3900:3999 -m state --state NEW -j ACCEPT
# Rejected traffic from 'Internet' to 'Locale'
# Traffic from 'Locale' to 'Internet'
# Allow 'distcc'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3632:3632 -m state --state NEW -j ACCEPT
# Allow 'cvspserver'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2401:2401 -m state --state NEW -j ACCEPT
# Allow 'irc'
# Server connection
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6660:6669 -m state --state NEW -j ACCEPT
# - Handled by netfilter state tracking
# Allow 'gnutella'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 6346:6346 -m state --state NEW -j ACCEPT
# Allow 'bt-peer'
# Peer BitTorrent
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6881:6889 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 6881:6889 -m state --state NEW -j ACCEPT
# Allow 'redirect'
iptables -A f0to1 -p icmp --icmp-type redirect -j ACCEPT
# Allow 'cddb'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 888:888 -m state --state NEW -j ACCEPT
# Allow 'pop3s'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 995:995 -m state --state NEW -j ACCEPT
# Allow 'ping'
# Richiesta di risposta (Echo Request)
iptables -A f1to0 -p icmp --icmp-type echo-request -j ACCEPT
# Replica di risposta (Echo Reply)
iptables -A f0to1 -p icmp --icmp-type echo-reply -j ACCEPT
# Allow 'mysql'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3306:3306 -m state --state NEW -j ACCEPT
# Allow 'directconnect'
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 411:415 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Questo protocollo è usato per connettersi a degli hub e ad altri utenti.
iptables -A f1to0 -p udp --sport 1024:5999 --dport 411:415 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1411:1415 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
# Modalità DC attiva: è utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p tcp --sport 0:65535 --dport 1411:1415 -m state --state NEW -j ACCEPT
# Modalità DC Attiva: utilizzabile da un utente non privilegiato.
iptables -A f0to1 -p udp --sport 0:65535 --dport 1411:1415 -j ACCEPT
# Allow 'bt-tracker'
# Tracker BitTorrent
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 6969:6969 -m state --state NEW -j ACCEPT
# Allow 'pgpkeyserver'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 11371:11371 -m state --state NEW -j ACCEPT
# Allow 'postgresql'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5432:5432 -m state --state NEW -j ACCEPT
# Allow 'quench'
iptables -A f1to0 -p icmp --icmp-type source-quench -j ACCEPT
# Allow 'ftp'
# Controllo connessione
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 21:21 -m state --state NEW -j ACCEPT
# Connessione dati
# - Handled by netfilter state tracking
# Modo passivo della connessione dati
# - Handled by netfilter state tracking
# Allow 'smtps'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 465:465 -m state --state NEW -j ACCEPT
# Allow 'dict'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2628:2628 -m state --state NEW -j ACCEPT
# Allow 'userdefined1'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 31335:31337 -m state --state NEW -j ACCEPT
# Allow 'domain'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 53:53 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
# Allow 'smtp'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 25:25 -m state --state NEW -j ACCEPT
# Allow 'freedb'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8880:8880 -m state --state NEW -j ACCEPT
# Allow 'rsync'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 873:873 -m state --state NEW -j ACCEPT
# Allow 'time'
iptables -A f1to0 -p udp --sport 1024:5999 --dport 37:37 -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 37:37 -m state --state NEW -j ACCEPT
# Allow 'vj-traceroute'
iptables -A f1to0 -p udp --sport 0:65535 --dport 33434:33600 -j ACCEPT
# Allow 'msnmessenger'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1863:1863 -m state --state NEW -j ACCEPT
# Allow 'ldap-ssl'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 636:636 -m state --state NEW -j ACCEPT
# Allow 'blubster'
# Ricezione dati
iptables -A f1to0 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Invio dati
iptables -A f0to1 -p udp --sport 1024:65535 --dport 41170:41170 -j ACCEPT
# Allow 'https'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 443:443 -m state --state NEW -j ACCEPT
# Allow 'finger'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 79:79 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 79:79 -j ACCEPT
# Allow 'nicname'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 43:43 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 0:65535 --dport 43:43 -j ACCEPT
# Allow 'ssh'
# Connessione normale
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 22:22 -m state --state NEW -j ACCEPT
# Porta sorgente privilegiata (rhosts compatibile.)
iptables -A f1to0 -p tcp --sport 0:1023 --dport 22:22 -m state --state NEW -j ACCEPT
# Allow 'svnserve'
# Request connection.
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 3690:3690 -m state --state NEW -j ACCEPT
# Allow 'edonkey2000'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4661:4661 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 4662:4662 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4665:4665 -j ACCEPT
iptables -A f1to0 -p udp --sport 1024:5999 --dport 4666:4666 -j ACCEPT
iptables -A f0to1 -p udp --sport 1024:65535 --dport 4666:4666 -j ACCEPT
# Allow 'pop3'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 110:110 -m state --state NEW -j ACCEPT
# Allow 'ldap'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 389:389 -m state --state NEW -j ACCEPT
# Allow 'http'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 80:80 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8080:8080 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8008:8008 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8000:8000 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 8888:8888 -m state --state NEW -j ACCEPT
# Rejected traffic from 'Locale' to 'Internet'
# Reject 'jabber'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5222:5222 -m state --state NEW -j logreject
# Jabber over Secure Socket Layer
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5223:5223 -m state --state NEW -j logreject
# Reject 'directplay'
# Connessione primaria
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 47624:47624 -m state --state NEW -j logreject
# Connessione di gioco
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 2300:2400 -m state --state NEW -j logreject
# Connessione di gioco
iptables -A f1to0 -p udp --sport 1024:65535 --dport 2300:2400 -j logreject
# Connessione di gioco
iptables -A f0to1 -p udp --sport 1024:65535 --dport 2300:2400 -j logreject
# Reject 'powwow'
iptables -A f1to0 -p tcp --sport 0:65535 --dport 13223:13223 -m state --state NEW -j logreject
iptables -A f1to0 -p udp --sport 0:65535 --dport 13223:13223 -j logreject
# Reject 'netmeeting'
# Internet Locator Service (ILS)
iptables -A f1to0 -p tcp --sport 0:65535 --dport 389:389 -m state --state NEW -j logreject
# Internet Location Service (ILS)
iptables -A f1to0 -p tcp --sport 0:65535 --dport 522:522 -m state --state NEW -j logreject
# T.120
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1503:1503 -m state --state NEW -j logreject
# Impostazione di chiamata H.323
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1720:1720 -m state --state NEW -j logreject
# Controllo di chiamata audio
iptables -A f1to0 -p tcp --sport 0:65535 --dport 1731:1731 -m state --state NEW -j logreject
# Controllo di chiamata H.323
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 1024:65535 -m state --state NEW -j logreject
# Lettura in transito (streaming) H.323
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -j logreject
# Reject 'halflife'
# Porta di autenticazione ottenuta
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 7002:7002 -m state --state NEW -j logreject
# Lista dei server
iptables -A f1to0 -p udp --sport 1024:65535 --dport 27010:27010 -j logreject
# Connessione principale di gioco
iptables -A f1to0 -p udp --sport 1024:65535 --dport 27005:27050 -j logreject
# Reject 'aim'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5190:5193 -m state --state NEW -j logreject
iptables -A f1to0 -p udp --sport 1024:5999 --dport 5190:5193 -j logreject
# Reject 'diablo2'
# Server Battlenet
iptables -A f1to0 -p tcp --sport 0:65535 --dport 6112:6112 -m state --state NEW -j logreject
# Dati di gioco
iptables -A f1to0 -p tcp --sport 0:65535 --dport 4000:4000 -m state --state NEW -j logreject
# Reject 'ymessenger'
# Accesso alla rete
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5050:5050 -m state --state NEW -j logreject
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 23:23 -m state --state NEW -j logreject
# Conferenza
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 5000:5001 -m state --state NEW -j logreject
# Conferenza
iptables -A f1to0 -p udp --sport 1024:5999 --dport 5000:5000 -j logreject
# Reject 'quake'
iptables -A f1to0 -p udp --sport 0:65535 --dport 26000:26000 -j logreject
# Reject 'everquest'
# Server Patch EQ
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 7000:7000 -m state --state NEW -j logreject
# Protocollo dei dati di gioco EQ
iptables -A f1to0 -p udp --sport 1024:5999 --dport 1024:65535 -j logreject
# Reject 'yahoogames'
iptables -A f1to0 -p tcp --sport 1024:5999 --dport 11999:11999 -m state --state NEW -j logreject
# Reject 'quake2'
iptables -A f1to0 -p udp --sport 0:65535 --dport 27910:27910 -j logreject
# Reject 'icq'
iptables -A f1to0 -p udp --sport 0:65535 --dport 5190:5190 -j logreject
iptables -A f1to0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state NEW -j logreject
iptables -A f0to1 -p tcp --sport 1024:65535 --dport 3900:3999 -m state --state NEW -j logreject
# Place DROP and log rules at the end of our filter chains.
# Failing all the rules above, we log and DROP the packet.
iptables -A f0to1 -j logdrop
# Failing all the rules above, we log and DROP the packet.
iptables -A f1to0 -j logdrop
# Add some temp DNS accept rules to the input and output chains.
# This is so that we can pass domain names to ipchains and have iptables be
# able to look it up without being blocked by the our half-complete firewall.
if [ $MIN_MODE -eq 0 ] ; then
iptables -A OUTPUT -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -A INPUT -p tcp ! --syn --sport 53:53 --dport 0:65535 -j ACCEPT
iptables -A OUTPUT -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -A INPUT -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# Chain to split traffic coming from zone 'Internet' by dest zone
iptables -N s0
for X in $IPS ; do
iptables -A s0 -d $X -j f0to1
done
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
iptables -A s0 -j logdrop
# Chain to split traffic coming from zone 'Locale' by dest zone
iptables -N s1
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
iptables -A s1 -j f1to0
# Create the srcfilt chain
iptables -N srcfilt
if [ $MIN_MODE -eq 0 ] ; then
true # make sure this if [] has at least something in it.
fi
# Assume internet default rule
iptables -A srcfilt -j s0
if [ $MIN_MODE -eq 0 ] ; then
# Remove the temp DNS accept rules
iptables -D OUTPUT -p tcp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -D INPUT -p tcp ! --syn --sport 53:53 --dport 0:65535 -j ACCEPT
iptables -D OUTPUT -p udp --sport 0:65535 --dport 53:53 -j ACCEPT
iptables -D INPUT -p udp --sport 53:53 --dport 0:65535 -j ACCEPT
fi
# The output chain is very simple. We direct everything to the
# 'source is local' split chain.
iptables -A OUTPUT -j s1
iptables -A INPUT -j nicfilt
iptables -A INPUT -j srcfilt
# All traffic on the forward chains goes to the srcfilt chain.
iptables -A FORWARD -j srcfilt &> /dev/null
logger -p auth.info -t guarddog Finished configuring firewall
[ $GUARDDOG_VERBOSE -eq 1 ] && echo "Finito."
fi;
fi;
true
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
estica...
pensavo che sarebbe stato qualcosa di un po piu' corto... Ci mettero' un po' a leggerlo tutto...
intanto, giusto per fare una prova, se dai i comandi
iptables -P OUTPUT ALLOW
iptables -F OUTPUT
nmap ti da ancora l'errore di prima?
[edit1] no, come non detto, ho finito di dargli una lettura veloce: prova a guardare i log, tutte le connessioni rifiutate dovrebbero essere loggate, di conseguenza nei log dovresti trovare su quali porte nmap viene bloccato[/edit1]
[edit2]cio' che ho scritto in edit1 ripensandoci e' abbastanza una vaccata dato che le porte su cui viene bloccato dal fw si deducono gia' da rc.firewall, e quelle segnalate nel log saranno una infinita'... [/edit2]
pensavo che sarebbe stato qualcosa di un po piu' corto... Ci mettero' un po' a leggerlo tutto...
intanto, giusto per fare una prova, se dai i comandi
iptables -P OUTPUT ALLOW
iptables -F OUTPUT
nmap ti da ancora l'errore di prima?
[edit1] no, come non detto, ho finito di dargli una lettura veloce: prova a guardare i log, tutte le connessioni rifiutate dovrebbero essere loggate, di conseguenza nei log dovresti trovare su quali porte nmap viene bloccato[/edit1]
[edit2]cio' che ho scritto in edit1 ripensandoci e' abbastanza una vaccata dato che le porte su cui viene bloccato dal fw si deducono gia' da rc.firewall, e quelle segnalate nel log saranno una infinita'... [/edit2]
Ultima modifica di mauro il sab 17 mar 2007, 15:55, modificato 1 volta in totale.
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
Allora, mi sono riletto con un po' piu' di calma le regole del tuo fw:
tutto quanto esce dal tuo pc viene fatto passare nella catena f1to0, che tra le altre regole contiene anche
quindi se dici a nmap di uscire dalle porte dalla 1411 alla 1415 ( nmap --source-port 1411 xx.xx.xx.xx ) non dovresti avere piu' errori.
tutto quanto esce dal tuo pc viene fatto passare nella catena f1to0, che tra le altre regole contiene anche
Codice: Seleziona tutto
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT
iptables -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT- Vito
- Staff

- Messaggi: 4182
- Iscritto il: mar 5 dic 2006, 17:28
- Nome Cognome: Vito
- Desktop: MacOS
- Località: Monaco (DE)
- Contatta:
grazie ora l'unica cortesia che ti chiedo è quella di incollarmi il codice preciso che devo inserire,,,,,il firewall l'ho creato con guarddog proprio perchè non ero capace di creare il file manualmente .... GRAZIE!!!! ::)mauro ha scritto:Allora, mi sono riletto con un po' piu' di calma le regole del tuo fw:
tutto quanto esce dal tuo pc viene fatto passare nella catena f1to0, che tra le altre regole contiene anche
quindi se dici a nmap di uscire dalle porte dalla 1411 alla 1415 ( nmap --source-port 1411 xx.xx.xx.xx ) non dovresti avere piu' errori.Codice: Seleziona tutto
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPT iptables -A f1to0 -p udp --sport 1411:1415 --dport 0:65535 -j ACCEPT
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
mah, se ho "decifrato" correttamente il tuo firewall, senza che tu debba modificare nulla usando nmap con l'opzione qui sotto:
dovresti nmappare senza ricevere errori.
Fammi sapere!
P.S. se vuoi giocare un po' con iptables (oltre ai vari articoli nella documentazione di slacky) prova a guardare qui http://danieldegraaf.afraid.org/info/iptables/examples
Codice: Seleziona tutto
nmap --source-port 1411 unQualsiasiIP Fammi sapere!
P.S. se vuoi giocare un po' con iptables (oltre ai vari articoli nella documentazione di slacky) prova a guardare qui http://danieldegraaf.afraid.org/info/iptables/examples
- Vito
- Staff

- Messaggi: 4182
- Iscritto il: mar 5 dic 2006, 17:28
- Nome Cognome: Vito
- Desktop: MacOS
- Località: Monaco (DE)
- Contatta:
stesso erroerbash-3.1# nmap --source-port 1411 -P0 87.11.92.224
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-03-20 14:26 CET
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
sendto in send_ip_packet: sendto(5, packet, 44, 0, 87.11.92.224, 16) => Operation not permitted
"Stat rosa pristina nomina, nomina nuda tenemus." [ Umberto Eco - Il nome della rosa]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
"Faber est suae quisque fortunae ." [ Appio Claudio Cieco]
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
Ok, mi saro' perso qualche regola x strada. Facciamo un'altra prova.
da root dai:
poi riprova e vediamo se nmap si lamenta ancora.
P.S. l'errore te lo da lo stesso anche senza il -P0?
da root dai:
Codice: Seleziona tutto
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
P.S. l'errore te lo da lo stesso anche senza il -P0?
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
mi hai gia' risposto ieri in chat (ovvero funziona solo se imposti la policy di accept ad output e ne flushi le regole), quindi proviamo cosi':
edita l'rc.firewall e modifica la lineain
Fai ripartire il firewall e riprova con
edita l'rc.firewall e modifica la linea
Codice: Seleziona tutto
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -m state --state NEW -j ACCEPTCodice: Seleziona tutto
iptables -A f1to0 -p tcp --sport 1411:1415 --dport 0:65535 -j ACCEPTCodice: Seleziona tutto
nmap --source-port 1411 -P0 unQualsiasiIP