1962、999、12020を除くすべてのポートをブロックするにはどうすればよいですか?
SSH用の1つのポートと、一種のスクリプト用の2つのポート。したがって、これらのポートでの発信を許可する必要がありますよね?
私のiptables:
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*mangle
:PREROUTING ACCEPT [643521:136954367]
:INPUT ACCEPT [643521:136954367]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
:POSTROUTING ACCEPT [645723:99904505]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*filter
:INPUT ACCEPT [643490:136950781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [645723:99904505]
-A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
# Generated by iptables-save v1.4.4 on Sat Feb 25 17:25:21 2012
*nat
:PREROUTING ACCEPT [5673:734891]
:POSTROUTING ACCEPT [2816:179474]
:OUTPUT ACCEPT [2816:179474]
COMMIT
# Completed on Sat Feb 25 17:25:21 2012
申し訳ありませんが、これに関しては私は本当の初心者です。サーバーのセキュリティを強化したいだけです。
最初は常にフラッシュして、既に何が定義されているかを確認する必要があります。
iptables -F
最後に到達し、ルールが一致しない場合は、INPUTチェーンのデフォルトポリシーをDROPに設定します。
iptables -P INPUT DROP
ループバックが影響を受けないようにするには、追加する必要があります
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
lo-if上のすべてのトラフィックと、確立した接続のすべての受信トラフィックを許可するため。その後、サービスに必要なすべてのルールを追加します(必要な場合はsshを開くことを忘れないでください。それ以外の場合はアウトです):
iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT
最後に追加したセキュリティに誤って自分や他の人が穴を開けないようにするためのちょっとしたトリック:
iptables -A INPUT -j DROP
この行はINPUTチェーンのすべてに一致し、ポリシーは何も取得しません。これの利点は、ルールセットを初期化した後でACCEPTルールを追加した場合でも、すべてが以前に削除されるためチェックされないことです。そのため、すべてを1か所に保管する必要があります。
あなたの質問では、全体は要約すると次のようになります:
iptables -F
iptables -P INPUT DROP
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1962 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 999 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 12020 -j ACCEPT
iptables -A INPUT -j DROP
あなたと同じように初心者からの返信:-)私もUbuntuサーバーをセキュリティで保護する必要がありました。 UFW(複雑でないファイアウォール)は、ファイアウォールの構成をできるだけ簡単にするプログラムです。
ufwをインストールします。
Sudo apt-get install ufw
すぐに無効にします(自分のSSHログインからロックアウトされたため、レスキューブートする必要がありました)。
Sudo ufw disable
デフォルトのルールとして「拒否」を設定します(これにより、すべてのポートがブロックされます)。
Sudo ufw default deny
必要なポートを許可:
Sudo ufw allow to 1962
Sudo ufw allow to 999
Sudo ufw allow to 12020
Sudo ufw allow from 1962
Sudo ufw allow from 999
Sudo ufw allow from 12020
上記のルールでssh接続が切断されないことが確実な場合は、ufwを有効にします。
Sudo ufw enable
ドキュメントはよく書かれており、より多くの例を提供します: https://help.ubuntu.com/community/UFW