Restrict SSH Access Only To Specific IP

Batasi Akses SSH Hanya Untuk IP Tertentu

Mengamankan Login SSH dengan DUO


Menggunakan TCP Wrappers

  • Allow IP address dengan edit file /etc/hosts.allow
  • Tambahkan IP address tertentu untuk akses login lewat ssh ke dalam server
nano /etc/hosts.allow

sshd: localhost
sshd: 192.168.88.19
sshd: 192.168.88.0/24
  • Deny All IP address
  • Blokir semua IP address yang akses login lewat ssh ke dalam server
nano /etc/hosts.deny

sshd: All

Menggunakan Firewalld CentOS

  • Tambahkan port 22/tcp dengan spesifik IP address yang dapat akses login lewat ssh ke dalam server pada zone trusted
  • Hapus service ssh yang ada pada zone public
firewall-cmd --permanent --add-source=192.168.88.19 --zone=trusted
firewall-cmd --permanent --add-service=22/tcp --zone trusted

firewall-cmd --permanent --remove-service=ssh --zone-public
firewall-cmd --reload
  • Verifikasi rule firewalld
firewall-cmd --list-all --zone=public
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

firewall-cmd --list-all --zone=trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces:
  sources: 192.168.88.19
  services:
  ports: 22/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Menggunakan UFW Ubuntu

  • Tambahkan port 22 dengan spesifik IP address yang dapat akses login lewat ssh ke dalam server
ufw allow from 192.168.88.19 to any port 22
  • Verfikasi ufw
ufw status

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       192.168.88.1

Menggunakan iptables

  • Tambahkan rule iptables untuk akses ssh dengan spesifik IP address tertentu yang dapat akses ke dalam server
  • Tambahakan rule blokir akses ssh untuk semua IP address
iptables -A INPUT -p tcp --dport 22 --source 192.168.88.19 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
  • Verifikasi iptables
iptables -nvL | grep 22

pkts  bytes  target     prot opt in     out     source               destination
  243 15737  ACCEPT     tcp  --  *      *       192.168.88.19        0.0.0.0/0            tcp dpt:22
   19   792  DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22

herdiana3389

A system administrator with skills in system administration, virtualization, linux, windows, networking, cloud computing, container, etc.