私の仮想サーバー/ウェブサーバー(OS:Debian squeeze)がハッキングされ、破損しています。したがって、IPTableのルールを使用して、sshを除くすべての入出力接続をブロックしたいと思います。その後、保存する必要があるデータベースとファイルの少なくとも一部をバックアップしたいと思います。ワークフローを説明するいくつかのチュートリアルとスクリプトを見つけましたが、まだ質問があります。
1.)サーバーに物理的にアクセスできないため、サーバーがロックされたくないので、非常に慎重に使用してください。 "iptables-restore < /etc/myscript" で次のスクリプトを使用する場合は、ローカル コンピュータから SSH 経由で接続を続行できる必要があります。そうですか?そうでない場合は、システムを再起動したときに以前の標準ルールを再度有効にする必要がありますか?
2.) sport & dport (ソースポートと宛先ポート) を定義するルールが少し混乱しています。スクリプトに記載されているように、第三のネットワークサーバーから感染したコンピュータに接続することは可能ですか?別の仮想サーバーにファイルをバックアップしたいのですが、明らかにHTTP経由でファイルを転送できないためです。
3.) おそらく最も愚かな質問かもしれませんが、まだ尋ねたいです。 2番目の部分の後にすべての接続を完全にブロックするスクリプトコマンドの1行ずつ処理 - SSH接続を許可するルールは、サードパーティで定義されています。 SSH経由で接続しているので、ルールを使用した後(そしてSSHを受け入れる前に)接続を中断してはいけませんか?
# flushing old rules
IPTABLES -F
IPTABLES -X
IPTABLES -t nat -F
IPTABLES -t nat -X
# creating general policy
IPTABLES -P INPUT DROP
IPTABLES -P OUTPUT DROP
IPTABLES -P FORWARD DROP
# allowing SSH
IPTABLES -A OUTPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A INPUT -p tcp --sport 22 -j ACCEPT
答え1
自分のローカルコンピュータでSSHを介して接続を続行できる必要があります。そうですか?
カント。関連ルールは次のとおりです。
IPTABLES -A OUTPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
IPTABLES -A INPUT -p tcp --sport 22 -j ACCEPT
コマンド名を小文字に変換したい場合がありますが、ルール自体にはより多くの作業が必要です。まず、最初のものをACCEPT
目的地に制限したくないでしょうport 22
。ESTABLISH,RELATED
ほとんどの人が必要に応じてすでに通過可能なすべての車両に緑色の信号を送信できるように、ルールを開いておくのが最善です。デフォルトでは、ルールは「開いている接続(ローカルコンピュータで開いている接続を含む)に関連している場合は通過させます」と呼ばれています。DROP
SSHを除くすべてを使用しているので、これより具体的に説明する必要はありません。このコンピュータで接続を開始すると、接続が続行されることがあります。
2番目のルールを使用する必要があるのは、他の場所からサーバーへのSSH接続を一致させようとするためでは--dport
ありません--sport
(これがINPUTチェーンに配置された理由です)。
スクリプトに記載されているように、第三のネットワークサーバーから感染したコンピュータに接続することは可能ですか?
上記のように変更した場合は、破損したサーバーから接続を開始するか、SSHを介して3番目のWebサーバーを接続してファイルを転送することができます(これにより承認済み)。
SSH経由で接続しているので、ルールを使用した後(そしてSSHを受け入れる前に)接続を中断してはいけませんか?
開いたままにしておくと、RELATED,ESTABLISHED
SSHセッションはすでに確立された接続に関連付けられているため、問題はありません。ただし、現在の接続と互換性のない方法でファイアウォールを変更すると、接続が失われます。