=====Secure Server Build=====
====IPTables=====
The default should be “Disallow everything except the specific network services required by the application”.
**Do not use system-config-securitylevel it overwrites the iptables file**
Changes are made by editing **/etc/sysconfig/iptables**
===Starting IPTables===
service iptables on
===Change the Default Policies===
Change the default policy to DROP (from ACCEPT) for the INPUT and FORWARD built-in chains:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
===Sample IP Tables for IPMS project===
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [8636929:1948084600]
### Default Policy
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
# accepting all established
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# ICMP
# Default policy is DROP so will comment all Drop entries from your table
-A RH-Firewall-1-INPUT -s 83.70.168.102 -p icmp -m icmp --icmp-type any -j ACCEPT
#-A RH-Firewall-1-INPUT -s 83.0.0.0/255.0.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 84.0.0.0/255.0.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 85.0.0.0/255.0.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 86.0.0.0/255.0.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 95.0.0.0/255.0.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 151.177.0.0/255.255.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 159.134.0.0/255.255.0.0 -i eth2 -p icmp -j DROP
#-A RH-Firewall-1-INPUT -s 213.94.0.0/255.255.0.0 -i eth2 -p icmp -j DROP
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
# IP Encapsulating Security Payload
-A RH-Firewall-1-INPUT -p esp -j ACCEPT
# IP Authentication Header
-A RH-Firewall-1-INPUT -p ah -j ACCEPT
# multicast DNS
-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT
# ports are used for IPP…printing is disabled on this server as part of hardening
#-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
#-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
# these 2 ports are used for FTP… FTP is disabled on this server as part of hardening
#-A RH-Firewall-1-INPUT -i eth2 -p tcp -m state --state NEW -m tcp --dport 20:21 -j ACCEPT
# SSH port leaving it open. Might want to specify a network to accept ssh from
-A RH-Firewall-1-INPUT -i bond0 -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
# ports are used for TFTP…TFTP is disabled on this server as part of hardening
#-A RH-Firewall-1-INPUT -i eth2 -p udp -m state --state NEW -m udp --dport 69 -j ACCEPT
# SNMP need to specify network here
# -A RH-Firewall-1-INPUT -i bond0 -p udp -m state --state NEW -m udp --dport 162 -j ACCEPT
#NTP need to specify source here
# -A RH-Firewall-1-INPUT -i bond0 -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT
# Not sure what this is for so commenting it out
# -A RH-Firewall-1-INPUT -i eth2 -p udp -m state --state NEW -m udp --dport 1162 -j ACCEPT
# are used for RDP and RCP both are disabled on this server as part of hardening
# -A RH-Firewall-1-INPUT -i eth2 -p udp -m state --state NEW -m udp --dport 514 -j ACCEPT
# are used for RMI registry This is not installed or configured on this server as part of hardening
# -A RH-Firewall-1-INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 1099 -j ACCEPT
# Not sure what this is for so commenting it out
#-A RH-Firewall-1-INPUT -s 5.1.22.6 -i eth1 -p tcp -m state --state NEW -m tcp --dport 1828 -j ACCEPT
#-A RH-Firewall-1-INPUT -s 5.1.22.13 -i eth1 -p tcp -m state --state NEW -m tcp --dport 1828 -j ACCEPT
# I assume these are the IPs and ports used fro Backups?
-A RH-Firewall-1-INPUT -s 5.1.22.6 -i eth1 -p tcp -m state --state NEW -m tcp --dport 6070 -j ACCEPT
-A RH-Firewall-1-INPUT -s 5.1.22.13 -i eth1 -p tcp -m state --state NEW -m tcp --dport 6070 -j ACCEPT
# Not sure what this is for (BMC patrol?) so commenting it out
-A RH-Firewall-1-INPUT -s 159.134.25.144 -p tcp -m state --state NEW -m tcp --dport 3181 -j ACCEPT
# -A RH-Firewall-1-INPUT -s 159.134.25.153 -p tcp -m state --state NEW -m tcp --dport 3181 -j ACCEPT
# Not sure what this is for so commenting it out
# -A RH-Firewall-1-INPUT -s 159.134.25.153 -p tcp -m state --state NEW -m tcp --dport 50005 -j ACCEPT
# Not sure what this is for so commenting it out
# -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12321 -j ACCEPT
# Netbios Already blocked by default policy
# -A RH-Firewall-1-INPUT -p udp -m udp --dport 137:138 -j DROP
#
# Specific to this server
#
# HTTP Public Internet Access…
-A RH-Firewall-1-INPUT –p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
# Remedy ITSM to Remedy AR and Integration Server
-A RH-Firewall-1-INPUT –s 10.137.6.1 –p tcp -m state --state NEW -m tcp --dport 20011 -j ACCEPT
# GT Access for Support via main Teamed NIC's
# max
-A RH-Firewall-1-INPUT –s 10.40.19.4 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.40.19.4 -p udp -m state --state NEW -m udp --dport 22 -j ACCEPT
# sysmon01
-A RH-Firewall-1-INPUT –s 10.152.16.104 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.152.16.104 -p udp -m state --state NEW -m udp --dport 22 -j ACCEPT
# GT Access from Netbackup Servers to Remedy ITSM DMZ Servers for Backups
# bkpmst20
-A RH-Firewall-1-INPUT –s 10.40.35.7 -p tcp -m state --state NEW -m tcp --dport 13724 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.40.35.7 -p udp -m state --state NEW -m udp --dport 13724 -j ACCEPT
# bkpmst21
-A RH-Firewall-1-INPUT –s 10.40.35.3 -p tcp -m state --state NEW -m tcp --dport 13724 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.40.35.3 -p udp -m state --state NEW -m udp --dport 13724 -j ACCEPT
# bkpmed21
-A RH-Firewall-1-INPUT –s 10.136.12.6 -p tcp -m state --state NEW -m tcp --dport 13724 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.136.12.6 -p udp -m state --state NEW -m udp --dport 13724 -j ACCEPT
# GT Access from Patrol PEM Servers to Remedy ITSM DMZ Servers for Monitoring
# w2k-esm1 159.134.25.144
-A RH-Firewall-1-INPUT -s 159.134.25.144 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.144 -p tcp -m state --state NEW -m tcp --dport 3181:3182:3185:3281:3283 -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.144 -p udp -m state --state NEW -m udp --dport 3181:3182:3185:3281:3283 -j ACCEPT
# w2k-esm1 159.134.25.153
-A RH-Firewall-1-INPUT -s 159.134.25.153 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.153 -p tcp -m state --state NEW -m tcp --dport 50005:3181 -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.153 -p udp -m state --state NEW -m udp --dport 50005:3181: -j ACCEPT
# ESM Group Access
# ppatcehellpc
-A RH-Firewall-1-INPUT -s 10.201.136.0/24 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.201.136.0/24 -p tcp -m state --state NEW -m tcp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.201.136.0/24 -p udp -m state --state NEW -m udp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
# ppatcehellpc (Home) NO IP Provided…
#-A RH-Firewall-1-INPUT -s 10.201.136.0/24-p icmp -m icmp --icmp-type echo-request -j ACCEPT
#-A RH-Firewall-1-INPUT –s 10.201.136.0/24 -p tcp -m state --state NEW -m tcp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
#-A RH-Firewall-1-INPUT –s 10.201.136.0/24 -p udp -m state --state NEW -m udp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
# ppatchellpc (Dundrum)
-A RH-Firewall-1-INPUT -s 10.40.23.55-p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.40.23.55 -p tcp -m state --state NEW -m tcp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.40.23.55 -p udp -m state --state NEW -m udp --dport 3182:3183:3185:3281:3282:3283:3389 -j ACCEPT
# pemdev01
-A RH-Firewall-1-INPUT -s 10.152.32.0/24 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.152.32.0/24 -p tcp -m state --state NEW -m tcp --dport 3181:3182:3185:3281:3283 -j ACCEPT
-A RH-Firewall-1-INPUT –s 10.152.32.0/24 -p udp -m state --state NEW -m udp --dport 3181:3182:3185:3281:3283 -j ACCEPT
# pemprd01
-A RH-Firewall-1-INPUT -s 159.134.25.0/24 -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.0/24 -p tcp -m state --state NEW -m tcp --dport 3181:3182:3185:3281:3283 -j ACCEPT
-A RH-Firewall-1-INPUT –s 159.134.25.0/24 -p udp -m state --state NEW -m udp --dport 3181:3182:3185:3281:3283 -j ACCEPT
# Logging
-A RH-Firewall-1-INPUT -j LOG --log-prefix "LOGDROP " --log-level debug
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
# Drop ALL packages that get to this level
-A RH-Firewall-1-INPUT -j DROP
COMMIT
To prevent your /var/log/messages from being overrunn by dropped messages add
kern.=debug /var/log/iptables.log
kern.*;kern.!=debug /var/log/messages
to /etc/syslog.conf remember to touch the /var/log/dropped-custom.log so that the file actually exists