Protect SSH Access using IP Tables

Protect SSH Access using IP Tables

Learn how to protect your SSH port on Debian Linux using iptables.

Installation

sudo apt install iptables-persistent
sudo systemctl enable netfilter-persistent.service

Rules

iptables -A INPUT -p tcp -s 10.0.4.0/24 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

Configuration Files

ls -al /etc/iptables

# ls -al /etc/iptables/
total 20
drwxr-xr-x  2 root root 4096 May  7 07:30 .
drwxr-xr-x 86 root root 4096 May  7 07:30 ..
-rw-r--r--  1 root root 7165 May  7 07:30 rules.v4
-rw-r--r--  1 root root  897 May  7 07:30 rules.v6

Store/Restore

## IPv4
sudo sh -c '/sbin/iptables-save > /etc/iptables/rules.v4'
## IPv6 ##
sudo sh -c '/sbin/ip6tables-save > /etc/iptables/rules.v6'

Test Configuration

sudo sh -c '/sbin/iptables-restore --test < /etc/iptables/rules.v4'
sudo sh -c '/sbin/ip6tables-restore --test < /etc/iptables/rules.v6'