Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 674 → Rev 675

/scripts/alcasar-iptables.sh
1,17 → 1,16
#!/bin/bash
#!/bin/sh
# $Id$
 
# alcasar-iptables.sh
# by Rexy - 3abtux - CPN
# This script is distributed under the Gnu General Public License (GPL)
 
# Mise en place des regles du parefeu d'Alcasar (mode normal)
# Script de mise en place des regles du parefeu d'Alcasar (mode normal)
# This script write the netfilter rules for ALCASAR
# Rexy - 3abtux - CPN
#
# Reminders
# There are three channels for log :
# 1 (default) for tracability;
# 2 for secure admin (ssh);
# 3 for exterior access attempts.
# The French Security Agency (ANSSI) rules was applied by 'alcasar.sh' script
# The bootps/dhcp (67) port is always open on tun0/eth1 by coova
 
conf_file="/usr/local/etc/alcasar.conf"
private_ip_mask=`grep PRIVATE_IP $conf_file|cut -d"=" -f2`
35,7 → 34,7
PRIVATE_NETWORK_MASK=$private_network/$private_prefix # Lan IP address + prefix (192.168.182.0/24)
PRIVATE_IP=`echo $private_ip_mask | cut -d"/" -f1` # ALCASAR LAN IP address
DNSSERVERS="$dns1,$dns2" # first and second DNS IP servers addresses
EXTIF="eth0"
EXTIF="eth0"
INTIF="eth1"
TUNIF="tun0" # listen card for chilli daemon
IPTABLES="/sbin/iptables"
66,20 → 65,12
# Tout passe sur loopback
# accept all on loopback
$IPTABLES -A INPUT -i lo -j ACCEPT
# On élimine les paquets "NEW not SYN"
# Ensure that TCP connections start with syn packets
$IPTABLES -A INPUT -p tcp -m tcp ! --syn -m state --state NEW -j DROP
 
#############################
# INTIF rules #
#############################
# les requètes dhcp entrantes sont acceptées
# accept dhcp
$IPTABLES -A INPUT -i $INTIF -p udp -m udp --sport bootpc --dport bootps -j ACCEPT
 
# La règle suivante interdit la sortie par INTIF. Elle n'est utile que lorsque chilli est arrêté.
# INTIF is closed (all by TUNIF)
# interdit l'accès à INTIF (n'est utile que lorsque chilli est arrêté).
# Reject INTIF access (only when chilli is down)
$IPTABLES -A INPUT -i $INTIF -j ULOG --ulog-prefix "RULE Protect1 -- REJECT "
$IPTABLES -A INPUT -i $INTIF -j REJECT
 
86,14 → 77,15
#############################
# Local protection rules #
#############################
# On stoppe les tentatives de NULLSCAN et XMAS (tous flags à 1)
# Drop XMAS & NULLscans
# On stoppe les demande de connexions non conformes (NullScan, XMAS (tous flags à 1), NEW not SYN, etc.)
# Drop non standard connexions (NULLscans, XMAS, "NEW not SYN", etc.)
$IPTABLES -A INPUT -p tcp --tcp-flags FIN,URG,PSH FIN,URG,PSH -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPTABLES -A INPUT -p tcp -m tcp ! --syn -m state --state NEW -j DROP
 
# On stoppe les broadcasts et multicast
# On ne traite pas les broadcasts et multicast
# Drop broadcast & multicast
$IPTABLES -A INPUT -m addrtype --dst-type BROADCAST,MULTICAST -j DROP