GNU/Linux >> Linux の 問題 >  >> Linux

rpcbind(以前のポートマップ、ポート111)をより安全にする

はじめに:

同じ内部ネットワークのサーバー間でNFSファイルシステムを使用することがよくあります。しかし、rpcbindをインターネットに公開することは安全ではないと考えられているため、保護する必要がありました。ファイアウォールでこれを行うこともできましたが、インターネットアクセスから保護したい唯一のサービスであるため、このタスクにファイアウォールを使用する必要はなく、代わりに古き良きシステムのTCPWrappersを使用することにしました。 hosts.allow およびhosts.deny ファイル。

方法:

–すべてのユーザーへのrpcbindへのアクセスを拒否します( /etc/hosts.deny で実行) )
– 2つの例外を許可する:ローカルネットワーク上のホスト( /etc/hosts.allow で実行) )

前提条件:

NFSサーバーはインターネットと内部LAN(192.168.100.0/24)に接続されており、IPは12.34.56.78(ほんの一例)と192.168.100.1です。
許可したい2つのホストNFSサーバーへの接続は192.168.100.2と192.168.100.3です。
このプライベートLANにもう1台のサーバー(192.168.100.4)があり、NFSサーバーへの接続を許可しないでください。

手順:

ファイルを編集(または存在しない場合は作成) / etc / default / rpcbind 次の行を追加します:
OPTIONS="-w -l -h 192.168.100.1"
ファイルを編集します/etc/hosts.allow 次の行を追加します:
rpcbind: 192.168.100.2 192.168.100.3
ファイルを編集します/etc/hosts.deny 次の行を追加します:
rpcbind: ALL

構成の確認:

同じローカルLANネットワーク上の他のサーバー(上記の許可されたサーバーのいずれでもない)にログインして、192.168.100.4から、次のコマンドを発行します。
rpcinfo -p 192.168.100.1
出力:
rpcinfo: can't contact portmapper: rpcinfo: RPC: Authentication error; why = Client credential too weak
次に、任意のインターネットサーバー(例:45.67.78.89)にログインし、次のコマンドを試してください:
rpcinfo -p 12.34.56.78
出力:
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
次に、許可されている2つのサーバー(例:192.168.100.3)のいずれかにログインし、次のコマンドを発行します。
rpcinfo -p 192.168.100.1
出力:
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: 192.168.100.4とインターネットサーバーはrpcbindに接続できませんが、192.168.100.3は許可されていることがわかります。

追加情報:

楽しみのために、ログを確認しましょう:
grep rpcbind /var/log/auth.log
出力:
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()

それでは、ホスト192.168.100.2のTCPWrappers構成を確認しましょう
tcpdmatch rpcbind 192.168.100.2
出力:
client: address 192.168.100.2
server: process rpcbind
access: granted

結果:
rpcbind サービスは保護され、内部LANに接続された2台のサーバーからのみアクセスできるようになりました。


Linux
  1. Vimマクロを使用して頻繁なタスクを自動化する

  2. sipcalcLinuxコマンドラインツールの使用方法

  3. MongoDB errno 111 への接続が拒否されました

  1. Qubes OS は、一連のアクティビティ関連の VM を実行するよりも安全ですか?

  2. 特定のポートと期間の TCP 接続の総数を IP で調べるにはどうすればよいですか?

  3. 同じネットワーク内のある IP から別の IP へのポート転送を行うにはどうすればよいですか?

  1. Linuxでコンピューターをよりアクセスしやすく持続可能なものにする

  2. Linuxのネットワークでライブホストを検出する

  3. ポートノッキングでSSHサービスを保護する方法