In /etc/sysctl.conf, add: # disable packet forwarding net.ipv4.ip_forward = 0 # enable source route verification net.ipv4.conf.all.rp_filter = 1 # ignore broadcast pings net.ipv4.icmp_echo_ignore_broadcasts = 1 # enable syn cookies net.ipv4.tcp_syncookies = 1 # size of syn backlog net.ipv4.tcp_max_syn_backlog = 512 # disable automatic defragmentation # set max files fs.file-max = 32768 # Enable IP spoofing protection, turn on Source Address Verification net.ipv4.conf.all.rp_filter = 1 # Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1 # Enable ignoring ping request net.ipv4.icmp_echo_ignore_all = 1 What does this do? This sets a variety of code for the linux OS to use itself. It tells the system to ignore pings, icmp, enable SYN protection, disable network forwarding and more. After doing this, you will need to restart your network (generally rebooting the server works fine). In /etc/rc.local, add for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > done echo 1 > /proc/sys/net/ipv4/tcp_syncookies for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo 0 > done echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all