IP Tables
IP Taples Linux
Ползва се за различни случаи, за това не е раедактиран оставям го на Вас.
#!/bin/sh
######################
#Make and design by #
# D.Dimov #
# SGP.inc #
######################
#DNS1=217.10.240.242
#DNS2=217.10.240.2
INT=eth1
OUT=eth2
FRE=eth0
#ipt=/usr/local/sbin/iptables
ipt=/sbin/iptables
############# Network interface ip address ######################################
#
########## WAN IP ########################################################### #
IN_IP=`/sbin/ifconfig $INT | grep inet | cut -d : -f 2 | cut -d \ -f 1` # #
############################################################################# #
#
########## LAN TRUST IP ##################################################### #
OUT_IP=`/sbin/ifconfig $OUT | grep inet | cut -d : -f 2 | cut -d \ -f 1` # #
############################################################################# #
########## LAN FREE-SERVER ################################################## #
FRE_IP=`/sbin/ifconfig $FRE | grep inet | cut -d : -f 2 | cut -d \ -f 1` # #
############################################################################# #
#
#################################################################################
############ Flush all tables ###########
$ipt -F INPUT #
$ipt -F FORWARD #
$ipt -F OUTPUT #
$ipt -t nat -F PREROUTING #
$ipt -t nat -F POSTROUTING #
$ipt -F -t mangle #
$ipt -F #
$ipt -X #
#########################################
####### POLICY #########
$ipt -P INPUT ACCEPT #
$ipt -P FORWARD ACCEPT #
$ipt -P OUTPUT ACCEPT #
########################
######## PERMIT DNS SERVER #################################
#$ipt -A INPUT -p udp -d $DNS1 --dport domain -j ACCEPT #
#$ipt -A INPUT -p udp -d $DNS2 --dport domain -j ACCEPT #
############################################################
######## ALLOW ESTABLISHED connections ###############################
$ipt -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT #
$ipt -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT #
######################################################################
######### Allow HTTP servers #################
$ipt -A INPUT -p tcp --dport www -j ACCEPT #
$ipt -A INPUT -p udp --dport www -j ACCEPT #
##############################################
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
######### Allow IRC ##########################
$ipt -A INPUT -p tcp --dport ircd -j ACCEPT #
$ipt -A INPUT -p tcp --dport ssh -j ACCEPT #
##############################################
############ DMZ ################################################################################################
# forward traffic between DMZ and WAN servers SMTP, Mail etc #
iptables -A FORWARD -i eth1 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT #
iptables -A FORWARD -i eth2 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT #
# Route incoming SMTP (port 25 ) traffic to DMZ server 10.10.10.100 #
iptables -t nat -A PREROUTING -p tcp -i eth2 -d 46.35.168.215 --dport 21 -j DNAT --to-destination 10.10.10.100 #
iptables -t nat -A PREROUTING -p tcp -i eth2 -d 46.35.168.215 --dport 23 -j DNAT --to-destination 10.10.10.100 #
#################################################################################################################
######### Allow SSH connection on this port ##
$ipt -A INPUT -p udp --dport 65506 -j ACCEPT #
$ipt -A INPUT -p tcp --dport 65506 -j ACCEPT #
##############################################
############ redirect IP ##########################################################################
# $ipt -A PREROUTING -t nat -p tcp -s 192.168.1.252 -j DNAT --to 213.167.1.130 #
###################################################################################################
######### DROP INVALID PACKAGES #######################
$ipt -A INPUT -p tcp -m state --state INVALID -j DROP #
#######################################################
############ Use HIGH PORT's ###################################
echo "1025 32768" > /proc/sys/net/ipv4/ip_local_port_range #
################################################################
# $ipt -A PREROUTING -t nat -p tcp -d 46.35.168.215 --dport 21 -j DNAT --to 10.10.10.100 #
# route delete -net 213.167.0.0 netmask 255.255.224.0
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 46.40.88.1
# route add -net 213.167.0.0 netmask 255.255.224.0 gw 213.167.0.141
# route delete -net 217.22.58.0 netmask 255.255.255.0
# route add -net 217.22.58.0 netmask 255.255.255.0 eth2
# route add -net 217.22.58.0 netmask 255.255.255.0 gw 213.167.0.141
# $ipt -A PREROUTING -t nat -p tcp -d 83.217.75.190 --dport 80 -j DNAT --to 217.22.58.62 #
# route delete -net 213.247.251.0 netmask 255.255.255.0
# route add -net 213.247.251.0 netmask 255.255.255.0 gw 192.168.1.10
# $ipt -A PREROUTING -t nat -p tcp -d 213.247.251.91 --dport 80 -j DNAT --to 192.168.1.10 #
#$ipt -t nat -I PREROUTING -d 46.35.168.215 -p tcp -m tcp --dport 21 -j DNAT --to-destination 10.10.10.100
# $ipt -A FORWARD -p 21 -d 10.10.10.100 -j ACCEPT
# $ipt -A FORWARD -s 192.168.1.252 -d 0.0.0.0/0 -j DROP
# $ipt -A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j DROP
# $ipt -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j DROP
# $ipt -A FORWARD -s 192.168.4.0/24 -d 192.168.0.0/24 -j DROP
# $ipt -A FORWARD -s 192.168.4.0/24 -d 192.168.2.0/24 -j DROP
# $ipt -A FORWARD -s 192.168.4.0/24 -d 192.168.3.0/24 -j DROP
# $ipt -A FORWARD -s 192.168.1.0/24 -d 69.64.145.229/24 -j DROP
# $ipt -A FORWARD -s 69.64.145.229/24 -d 192.168.1.0/24 -j DROP
# $ipt -A PREROUTING -t nat -p tcp -d 80.72.68.217/32 -j DNAT --to 192.168.1.1:80
# $ipt -A PREROUTING -t nat -p udp -d 80.72.68.217/32 -j DNAT --to 192.168.1.1:80
# $ipt -A FORWARD -s 80.72.68.217/32 -d 0.0.0.0/32 -j DROP
#iptables -t nat -A PREROUTING -p tcp -i eth2 -d 46.35.168.215 --dport 21 -j DNAT --to-destination 10.10.10.100
#################### Prenasochvane na vrazkata navatre #########
echo "1" > /proc/sys/net/ipv4/ip_forward #
$ipt -t nat -A POSTROUTING -o eth0 -j MASQUERADE #
$ipt -t nat -A POSTROUTING -o eth2 -j MASQUERADE #
$ipt -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP #
$ipt -A INPUT -i eth2 -m state --state NEW,INVALID -j DROP #
$ipt -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP #
$ipt -A FORWARD -i eth2 -m state --state NEW,INVALID -j DROP #
#$ipt -t nat -A POSTROUTING -o eth2 -j MASQUERADE #
################################################################
#################### TTL Settings #############################
# iptables -t mangle -A PREROUTING -i eth1 -j TTL --ttl-set 64 #
# iptables -t mangle -A PREROUTING -i eth1 -j TTL --ttl-dec 1 #
# iptables -t mangle -A POSTROUTING -o eth1 -j TTL --ttl-inc 1 #
################################################################
################### BROOD PORT #####################################################################
# $ipt -A PREROUTING -t nat -p udp -d $IN_IP --dport 6112 -j DNAT --to $OUT_IP:6112 #
####################################################################################################
################### WEB CAM ########################################################################
# $ipt -A PREROUTING -t nat -p tcp -d $IN_IP --dport 1003 -j DNAT --to $OUT_IP:8080 #
####################################################################################################
# iptables -A OUTPUT -j LOG --log-level info --log-prefix "OUTPUT:"
# iptables -A FORWARD -j LOG --log-level info --log-prefix "FORWARD:"
################## Bad TCP OPTIONS(128) ###########################
$ipt -A INPUT -i $INT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ALL FIN -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ALL ALL -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ALL NONE -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ACK,FIN FIN -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ACK,PSH PSH -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-flags ACK,URG URG -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-option 64 -j DROP #
$ipt -A INPUT -i $INT -p tcp --tcp-option 128 -j DROP #
###################################################################
################### BAD NETWORK's #######################################################
#
################### Seting the Private network #################### #
$ipt -t nat -A PREROUTING -i $INT -s 128.0.0.0/16 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 169.254.0.0/16 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 172.16.0.0/12 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 191.255.0.0/16 -j DROP # #
# $ipt -t nat -A PREROUTING -i $INT -s 192.0.0.0/24 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 192.0.2.0/24 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 192.88.99.0/24 -j DROP # #
# $ipt -t nat -A PREROUTING -i $INT -s 192.168.0.0/16 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 198.18.0.0/15 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 224.0.0.0/4 -j DROP # #
$ipt -t nat -A PREROUTING -i $INT -s 240.0.0.0/4 -j DROP # #
# $ipt -t nat -A PREROUTING -i $OUT -s 211.10.15.0/24 -j DROP # #
# $ipt -t nat -A PREROUTING -i $INT -s $IN_IP -j DROP # #
################################################################### #
################## Refuse bogus IP ranges ###################################### #
$ipt -N BOGUS # #
$ipt -F BOGUS # #
$ipt -A BOGUS -i $INT -s 255.255.255.255/32 -j DROP # Broadcast # #
# $ipt -A BOGUS -i $INT -s 127.0.0.0/8 -j DROP # Loopback # #
$ipt -A BOGUS -i $INT -s 169.254.0.0/16 -j DROP # Link # #
$ipt -A BOGUS -i $INT -s 192.0.2.0/24 -j DROP # Test-net # #
$ipt -A BOGUS -i $INT -s 248.0.0.0/5 -j DROP # Unallocated # #
#$ipt -A BOGUS -i $INT -s 10.0.0.0/8 -j DROP # Class A private # #
$ipt -A BOGUS -i $INT -s 172.16.0.0/16 -j DROP # Class B private # #
# $ipt -A BOGUS -i $INT -s 192.168.0.0/16 -j DROP # Class C private # #
$ipt -A BOGUS -i $INT -s 224.0.0.0/4 -j DROP # Class D multicast # #
$ipt -A BOGUS -i $INT -s 240.0.0.0/5 -j DROP # Class E reserved # #
################################################################################# #
#
#########################################################################################
################## ALLOW INCOMING SAMBA SERVER ###################
# netbios-ns 137/tcp NETBIOS Name Service #
# netbios-ns 137/udp NETBIOS Name Service #
# netbios-dgm 138/tcp NETBIOS Datagram Service #
# netbios-dgm 138/udp NETBIOS Datagram Service #
# netbios-ssn 139/tcp NETBIOS Session Service #
# netbios-ssn 139/udp NETBIOS Session Service #
###################################################################
# $ipt -N allow-samba-input #
# $ipt -F allow-samba-input #
# $ipt -A allow-samba-input -i $OUT -p udp --dport 137 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --sport 137 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --sport 137 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --dport 138 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --dport 138 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --sport 138 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --dport 139 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --dport 139 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --sport 139 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --sport 139 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --dport 445 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --dport 445 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p tcp --sport 445 -j ACCEPT #
# $ipt -A allow-samba-input -i $OUT -p udp --sport 445 -j ACCEPT #
$ipt -A OUTPUT -o eth2 -p tcp --dport 137:139 -j DROP #
$ipt -A OUTPUT -o eth2 -p udp --dport 137:139 -j DROP #
$ipt -A OUTPUT -o eth5 -p tcp --dport 137:139 -j DROP #
$ipt -A OUTPUT -o eth5 -p udp --dport 137:139 -j DROP #
####################################################################
################### BAD PORTS,TROJAN,BACKDOOR PORTS #############################################
$ipt -N bad-ports #
$ipt -F bad-ports #
$ipt -A bad-ports -p tcp -m multiport --dport 3049,1999,4329,1,2,13,98,111,901,902 -j DROP #
$ipt -A bad-ports -p udp -m multiport --dport 3049,1999,4329,1,2,13,98,111,901,902 -j DROP #
$ipt -A bad-ports -p tcp --dport 12345 -j DROP #
$ipt -A bad-ports -p udp --dport 12345 -j DROP #
$ipt -A bad-ports -p tcp --dport 1524 -j DROP #
$ipt -A bad-ports -p udp --dport 1524 -j DROP #
$ipt -A bad-ports -p tcp --dport 2049 -j DROP #
$ipt -A bad-ports -p udp --dport 2049 -j DROP #
$ipt -A bad-ports -p tcp --dport 27444 -j DROP #
$ipt -A bad-ports -p udp --dport 27444 -j DROP #
$ipt -A bad-ports -p tcp --dport 31335 -j DROP #
$ipt -A bad-ports -p udp --dport 31335 -j DROP #
$ipt -A bad-ports -p tcp --dport 27665 -j DROP #
$ipt -A bad-ports -p udp --dport 27665 -j DROP #
$ipt -A bad-ports -p tcp --dport 31337 -j DROP #
$ipt -A bad-ports -p udp --dport 31337 -j DROP #
$ipt -A bad-ports -p tcp --dport 65535 -j DROP #
$ipt -A bad-ports -p udp --dport 65535 -j DROP #
#################################################################################################
################### BLOCK OS Fingerprint Detection ##############################################
$ipt -N os-fingerprint #
$ipt -F os-fingerprint #
$ipt -A os-fingerprint -p tcp --dport 0 -j DROP #
$ipt -A os-fingerprint -p udp --dport 0 -j DROP #
$ipt -A os-fingerprint -p tcp --sport 0 -j DROP #
$ipt -A os-fingerprint -p udp --sport 0 -j DROP #
$ipt -A os-fingerprint -p icmp --icmp-type address-mask-request -j DROP #
$ipt -A os-fingerprint -p icmp --icmp-type address-mask-reply -j DROP #
#################################################################################################
################### DROP Bad flags, block portscans, SYN floods ################################
$ipt -N bad-flags #
$ipt -F bad-flags #
$ipt -A bad-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP #
$ipt -A bad-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP #
$ipt -A bad-flags -p tcp --tcp-flags ALL NONE -j DROP #
$ipt -A bad-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP #
#################################################################################################
################### FLOOD PROTECT ##############################################################
$ipt -N protect #
$ipt -F protect #
$ipt -A protect -i $INT -s $IN_IP -j DROP #
$ipt -A protect -s 127.0.0.0/255.0.0.0 -i ! lo -j DROP #
$ipt -N FLOOD #
$ipt -F FLOOD #
$ipt -A FLOOD -p tcp --syn -m limit --limit 2/s -j RETURN #
$ipt -A FLOOD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 2/s -j RETURN #
$ipt -A FLOOD -p tcp -j DROP #
$ipt -A INPUT -p tcp ! --syn -m state --state NEW -j DROP #
$ipt -t filter -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 150 -j DROP #
################### Drop Fragments ##############################################################
#################################################################################################
############### INPUT Connection's #########################
$ipt -A INPUT -j BOGUS #
$ipt -A INPUT -p tcp -m state --state NEW -j FLOOD #
$ipt -A INPUT -i $INT -j protect #
$ipt -A INPUT -j bad-flags #
$ipt -A INPUT -j bad-ports #
# $ipt -A INPUT -j allow-samba-input #
$ipt -A INPUT -j os-fingerprint #
############################################################
# printf "\e[0;31mBACA LI BACA " printf "\e[0;37m" ; echo
Най-четени
Последно добавени
Категории
-
Altaro Hyper-V Backup
-
Anti Spam Exchange
-
BAT
-
DNS problem in Windows 2008 R2
-
Exchange
-
Ghost image
-
Missing certificate google, yahoo, twitter, facebook
-
MS Office Templates
-
On-line transliterator
-
Pictures to Active Directory&Outlook
-
Regedit
-
Robocopy to NFS share
-
Task Kill remote PC
-
TP-Link & DD-WRT
-
VB Script AD Signature
-
VB script verification of an application running
-
VoIP
-
Windows 2008 R2 printserver Problem
-
Windows 7 Administrative template
-
Windows 7 svhost or microsoft conspiracy
-
Windows installed programs
-
Windows memory performance
-
Windows printer per machine
-
Windows printserver
-
Windows Remote Control
-
Windows USB Restrict