GNU/Linux >> Belajar Linux >  >> Linux

Membuat rpcbind (sebelumnya portmap, port 111) lebih aman

Pendahuluan:

Saya sering menggunakan sistem file NFS antar server dari jaringan internal yang sama. Tetapi karena membuka rpcbind ke Internet dianggap tidak aman, saya perlu melindunginya. Saya dapat melakukan ini dengan firewall, tetapi karena satu-satunya layanan yang ingin saya lindungi dari akses Internet, saya tidak ingin repot dengan firewall untuk tugas ini dan saya memutuskan untuk menggunakan Pembungkus TCP sistem lama yang baik sebagai gantinya: host.allow dan hosts.deny file.

Metode:

– Tolak akses ke rpcbind ke semua (dilakukan di /etc/hosts.deny )
– Izinkan 2 pengecualian:host di jaringan lokal saya (dilakukan di /etc/hosts.allow )

Asumsi:

Server NFS terhubung ke Internet dan ke LAN internal kami (192.168.100.0/24) dan memiliki IP:12.34.56.78 (hanya sebuah contoh) dan 192.168.100.1.
2 host yang ingin saya izinkan terhubung ke server NFS adalah 192.168.100.2 dan 192.168.100.3
Saya memiliki satu server lagi (192.168.100.4) di LAN pribadi ini yang seharusnya tidak diizinkan untuk terhubung ke server NFS.

Langkah-langkah:

Edit (atau buat jika tidak ada) file /etc/default/rpcbind dan tambahkan baris berikut:
OPTIONS="-w -l -h 192.168.100.1"
Edit file /etc/hosts.allow dan tambahkan baris berikut:
rpcbind: 192.168.100.2 192.168.100.3
Edit file /etc/hosts.deny dan tambahkan baris berikut:
rpcbind: ALL

Memverifikasi konfigurasi:

Masuk ke server lain di jaringan LAN lokal yang sama (tidak ada yang di atas server yang diizinkan) katakanlah dari 192.168.100.4 dan jalankan perintah berikut:
rpcinfo -p 192.168.100.1
Keluaran:
rpcinfo: can't contact portmapper: rpcinfo: RPC: Authentication error; why = Client credential too weak
Kemudian login ke server Internet mana pun (mis. ke 45.67.78.89) dan coba perintah:
rpcinfo -p 12.34.56.78
Keluaran:
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
Sekarang login di salah satu dari 2 server yang diizinkan (mis. 192.168.100.3) dan jalankan perintah:
rpcinfo -p 192.168.100.1
Keluaran:
rpcinfo -p 192.168.100.1
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 49123 status
100024 1 tcp 55198 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
....... and so on

Good news: Kita dapat melihat bahwa 192.168.100.4 dan server Internet mana pun tidak diizinkan untuk terhubung ke rpcbind tetapi 192.168.100.3 diizinkan.

Info tambahan:

Sekedar iseng, yuk cek lognya:
grep rpcbind /var/log/auth.log
Keluaran:
Oct 7 20:51:30 nfsserver rpcbind: connect from 192.168.100.4 to dump(): request from unauthorized host
Oct 7 20:51:56 nfsserver rpcbind: connect from 45.67.78.89 to dump(): request from unauthorized host
Oct 7 20:53:24 nfsserver rpcbind: connect from 192.168.100.3 to dump()

Sekarang mari kita periksa konfigurasi TCP Wrapper untuk host 192.168.100.2
tcpdmatch rpcbind 192.168.100.2
Keluaran:
client: address 192.168.100.2
server: process rpcbind
access: granted

Hasil:
rpcbind layanan sekarang dilindungi dan hanya dapat diakses dari 2 server yang terhubung ke LAN internal kami.


Linux
  1. Membuat komputer lebih mudah diakses dan berkelanjutan dengan Linux

  2. Temukan host langsung di jaringan di Linux

  3. Sejumlah besar koneksi TIME_WAIT mengatakan netstat

  1. Gunakan makro Vim untuk mengotomatiskan tugas yang sering dilakukan

  2. Bagaimana saya bisa menemukan jumlah total koneksi TCP untuk port tertentu dan periode waktu berdasarkan IP?

  3. Bagaimana cara melakukan penerusan port dari satu ip ke ip lain di jaringan yang sama?

  1. Cara menggunakan alat baris perintah sipcalc Linux

  2. Cara Mengamankan Layanan SSH dengan Port Knocking

  3. Koneksi ditolak ke MongoDB errno 111