特定のユーザーが特定のIPからのみ自分のサーバーにアクセスできるようにする必要があります。たとえば、RemoteadminユーザーはIP範囲192.168.50からのみアクセスできます。 *、192.168.80。 *
特定のポートにのみアクセスするように指定できますか?
ありがとう
答え1
TCP接続を試みると、通常は標準のTCP / IP 4タプル(ソースIP、宛先IP、送信元ポート、宛先ポート)のみが認識されます。ソースポートは通常ソースホストに動的に割り当てられ、通常は信頼できるインジケータではありません。
リンクされたユーザーが誰であるかわからない。確認するには、まず接続を受け入れて認証プロセスを実行する必要があります。このプロセスには通常、一定量の双方向通信が必要です。その後、ユーザー名が許可されている場合そして有効な認証資格情報を提供し、ユーザーがシステムへのアクセスを許可します。そうでない場合、複数の認証試行が失敗した後に接続が切断されます。
iptables
もちろん、特定のIP範囲から特定のポートへのアクセスを制限することも可能です。ただし、iptables
着信接続に関連付けられているユーザー名は、認証プロセスが発生する前に決定する必要があるため、わかる方法はありません。
すべてのユーザー名ベースのアクセス制御の決定は、接続認証を処理する実際のサービス内で行う必要があります。つまり、着信接続がSSH接続の場合、ユーザー名に基づいてアクセスを決定する最初の接続はsshd
デーモンになります。 PAMを使用するように設定されている場合、またはライブラリを使用するようにコンパイルされている場合は、sshd
PAMルールを使用することもできます。sshd
libwrap
/etc/hosts.allow
/etc/hosts.deny