SSHポートが特定のIPアドレスにのみ開いていることを確認する方法は?

SSHポートが特定のIPアドレスにのみ開いていることを確認する方法は?

これは私のものです/etc/sysconfig/iptables

Apacheには80個、SSHには22個のポートがあります。

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

ポート22(SSH)の場合、特定のIPアドレス以外は誰もそのポートに接続できないようにしたいと思います。

例IP:

1.2.3.4

自分のIPが変更され、サーバーにSSHが使用できなくなった場合の監督/懸念を無視してください。

ベストアンサー1

質問が正しい場合は、ポート22の特定のIPアドレスからのみサーバーにアクセスできるようにするには、次のようにIptablesを更新できます。

iptables -A INPUT -p tcp -s YourIP --dport 22 -j ACCEPT

この場合、内部ネットワークのDNSを開く必要がある場合は、SSHポートをYourIPで開くだけです。

iptables -A INPUT -p udp -s YourIP --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s YourIP --dport 53 -j ACCEPT

そのIPを追加して開くと、残りのIPについてはドアを閉じる必要があります。

iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j DROP
iptables -A INPUT -p udp -s 0.0.0.0/0 --dport 53 -j DROP
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 53 -j DROP

iptables -A INPUT(ルールセットの正しい場所にルールを設定したことを確認してください。ルールは現在のルールの末尾に追加されます。)INPUT

またはジョエルルールを追加できるとしましょう。

iptables -A INPUT -p tcp ! -s <permittedIP> -j DROP

あるいは、ファイアウォールにデフォルトポリシーを設定することもできます。

iptables -P INPUT DROP

要するに、SOに関するこの質問:

iptables -A INPUT -p tcp --dport 22 -s YourIP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

おすすめ記事