#!/bin/sh
### BEGIN INIT INFO
# Provides: custom firewall
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: firewall initscript
# Description: Custom Firewall
### END INIT INFO
IPT=/sbin/iptables
case "$1" in
start)
# Erst mal alles sperren
$IPT -P INPUT DROP
# bestehende Verbindungen
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Über Loopback alles erlauben
$IPT -I INPUT -i lo -j ACCEPT
$IPT -I OUTPUT -o lo -j ACCEPT
# SSH
$IPT -A INPUT -i eth0 -p tcp --dport ***** -j ACCEPT
# OSCAM WEB
$IPT -A INPUT -i eth0 -p tcp --dport ***** -j ACCEPT
# CCCAM
$IPT -A INPUT -i eth0 -p tcp --dport ****** -j ACCEPT
# OSCAM
$IPT -A INPUT -i eth0 -p tcp --dport ***** -j ACCEPT
# CS378X
#$IPT -A INPUT -i eth0 -p tcp --dport 12345-j ACCEPT
# CAMD35
#$IPT -A INPUT -i eth0 -p udp --dport 12345-j ACCEPT
# PING SPERRE
$IPT -A INPUT -i eth0 -j REJECT
# SICHERHEIT
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
$IPT -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s
echo "Firewall wurde aktiviert, der Server ist geschützt"
exit 0
;;
stop)
# Wieder alles freigeben
$IPT -P INPUT ACCEPT
$IPT -F INPUT
echo "Achtung, Firewall wurde gestoppt, der Server ist ungeschützt"
exit 0
;;
restart|reload|force-reload)
$0 stop
sleep 1
$0 start
exit 0
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
;;
esac