GNU/Linux >> Belajar Linux >  >> Linux

Batasi akses SSH berdasarkan alamat IP

Artikel ini menjelaskan cara mengamankan akses SSH ke server Anda dengan melakukan tindakan berikut:

  • Mencegah upaya login untuk alamat IP tertentu dalam konfigurasi permisif
  • Izinkan akses untuk alamat IP tertentu dalam konfigurasi terbatas

Konfigurasi permisif

Konfigurasi permisif memungkinkan akses ke semua orang kecuali alamat IP yang ditolak. Anda dapat menolak akses ke alamat IP tertentu dengan cara berikut:

Pembungkus TCP

Buat konfigurasi ini di file /etc/hosts.deny dengan menambahkan aturan berikut:

# vi /etc/host.deny

Tetapkan aturan penolakan dengan salah satu cara berikut:

sshd: Bad_IP_address
sshd: 192.168.0.8

sshd: Bad_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Bad_IP_address, Bad_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

Konfigurasi ini berada di konfigurasi aturan firewall OS.

# iptables -A INPUT -s "BAD_IP" -p tcp --dport SSH_Port -j DROP

Blokir alamat IP :

# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j DROP

Blokir segmen :

# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j DROP

Konfigurasi Terbatas

Konfigurasi ini memungkinkan akses hanya ke alamat IP tertentu dan menghentikan lalu lintas masuk lainnya.

Pembungkus TCP

Pertama, tolak semua lalu lintas yang masuk ke SSH di /etc/hosts.deny berkas:

# vi /etc/hosts.deny
sshd: ALL

Kemudian, izinkan akses untuk alamat IP tepercaya:

# vi /etc/hosts.allow
sshd: Trusted_IP_address
sshd: 192.168.0.8

sshd: Trusted_Segment/CIDR
sshd: 192.168.0.0/24

sshd: Trusted_IP_address, Trusted_IP_address
sshd: 192.168.0.3, 192.168.0.4

iptables

Untuk Tabel IP, urutan di mana Anda menempatkan aturan sangat penting. Itulah mengapa Anda harus mengonfigurasi terlebih dahulu aturan yang mengizinkan, lalu aturan yang menolak.

# iptables -A INPUT --source Trusted_IP -p tcp --dport SSH_PORT  -j ACCEPT

Menerima lalu lintas dari IP:

# iptables -A INPUT --source 192.168.0.8 -p tcp --dport 22 -j ACCEPT

Menerima lalu lintas dari segmen:

# iptables -A INPUT --source 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

Menyetel aturan pemblokiran:

iptables -A INPUT -p tcp --dport 22 -j DROP

Cara meningkatkan perubahan

Anda dapat meninjau perubahan Anda dengan menjalankan perintah berikut tergantung pada konfigurasi restriktif atau permisif:

# cat /etc/hosts.deny
# cat /etc/hosts.allow
# iptables -L

Catatan: Beberapa distribusi menyertakan perangkat lunak firewall default, seperti UFW untuk Debian® dan sistem operasi Ubuntu® dan turunannya, Firewalld untuk Red Hat® Enterprise Linux® 7 dan turunannya.

Konfigurasikan ufw untuk menolak IP, nomor port, dan protokol tertentu

Untuk memblokir alamat IP ke port TCP 22:

# ufw deny proto tcp from 192.168.0.8 to any port 22

Untuk memblokir subnet:

# ufw deny proto tcp from 192.168.0.0/24 to any port 22

Untuk membuat daftar aturan yang dikonfigurasi:

# ufw status numbered

Konfigurasikan firewalld untuk menolak alamat IP, nomor port, dan protokol tertentu

Di firewalld, Anda dapat memblokir alamat IP atau segmen, tetapi tidak mengizinkan koneksi apa pun:

Blokir alamat IP:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.8' reject"

Blokir segmen:

# firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.0.0/24' reject"

Itu sebabnya Anda mungkin memilih untuk memasukkan alamat IP tepercaya ke daftar putih untuk terhubung ke port SSH:

# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.0.20" port protocol="tcp" port="22" accept'

Anda harus memuat ulang konfigurasi firewalld:

# firewall-cmd --reload

Buat daftar aturan yang dikonfigurasi di firewall:

# firewall-cmd --list-all

Linux
  1. Cara Menggunakan Tunneling SSH untuk Mengakses Server yang Dibatasi

  2. Bagaimana Cara Membaca Alamat Ip Secara Mundur?

  3. Ssh – Mencatat Upaya Akses Ssh?

  1. Temukan alamat IP klien dalam sesi SSH

  2. ssh tunneling hanya akses

  3. Terowongan vpn akses jarak jauh SSH

  1. Delapan cara untuk melindungi akses SSH di sistem Anda

  2. Ssh – Membatasi Pengguna Ssh/scp/sftp ke Direktori?

  3. Bagaimana Cara Membuat Pengguna Baru Dengan Akses Ssh?