iptablesを使ってLinuxボックスで自分自身をロックする方法は?

iptablesを使ってLinuxボックスで自分自身をロックする方法は?

内部にDebian セキュリティガイド私は(iptablesについて)以下を読んだ。

これらのツールは容易に乱用され、システムへのネットワークアクセスを完全に麻痺させ、膨大な痛みを引き起こす可能性があります。リモートシステム管理者が誤って数百または数千マイル離れたシステムで自分自身をロックすることは珍しいことではありません。一部の人は、指の下にキーボードを挟んでコンピュータから抜け出すことがあります。

知りたい...どうすればいいですか?

答え1

次のような状況では、キーボードに自分自身をロックできます。

IPTABLESを使用している場合は、すべてのアウトバウンドネットワークトラフィックをブロックします。そして、ユーザーログインに一種のネットワーク認証(LDAPやNISなど)を使用する場合。したがって、システムは外部サービスにアクセスできず、そのユーザーIDを使用してログインできません。そして、パスワードを持つ他のローカルユーザーアカウントがなく、コンソールから直接rootログインを無効にしました。

システムをシングルユーザーモードで再起動してエラーを修正できるため、まだ完全にロックされていません。

答え2

最も簡単な形式でログインと認証がネットワーク接続に依存している場合は、コンソールログインも無効にします(物理的なセキュリティ目的でも実行できます)。

答え3

コンピュータの保護中に自分自身をロックできるので、回復する唯一の方法はコンソールモードで再起動することです。場合によっては、起動可能な CD が必要な場合があります。 BIOSがロックされている最悪の場合は、これを簡単に実行できない可能性があります。

すべてのコンソールでルートアクセスをロックすることは、順序に関係なく次の2つの手順を実行するのと同じくらい簡単です。

  • ルートパスワードを削除またはロックします(推奨設定)。
  • /etc/sudoers誤った設定で編集されました。

私は変更を加えるときは常に1つ以上のルートコンソールを開いたままにして、新しい接続を閉じる前にテストします。

リモートアクセスはログインを許可するプロトコルを介してアクセスをブロックするため、復号化が容易になります。 (Shorewallには、これを防ぐのに役立つ「Absent-Minded Administrator」オプションがあります。)同様に、変更中にアクティブなルートコンソールを開いたままにするのに役立ちます。テストがタイムアウトして構成が復元されたら、アクセス権を再取得する必要があるため、テストモードのツールも役立ちます。

暗号化プロトコルがネットワーク(NIS、LDAPなど)で動作している場合は、iptablesを使用してそのプロトコルをブロックしてすべてのアクセスをロックできます。キャッシュが実行されている場合は、この事実に気付かない可能性があります。ルートコンソールからログアウトする前に、サービスがまだ機能していることを慎重にテストしてください。ローカルアカウントおよび/またはパスワードがあれば、これが発生するのを防ぐのに役立ちます。

パスワードロックポリシーも問題を引き起こす可能性があります。ある開発者がパスワードポリシーを実施したときに自分自身をロックする方法を説明するのを聞きました。彼の最初の政策は1回の失敗と24時間のシャットダウンだった。彼はログインしている他の人に自分のアカウントを再度有効にするように依頼することができます。

答え4

このようなことをした人は私だけのようです…

システムがあり、それにアクセスできる唯一の方法がSSHを介している場合は、簡単にルールセットを混乱させ、システムへのSSHアクセスを防ぐことで、コンピュータを効果的に自分でロックできます。

たとえば、

# Because it's secure
iptables -P INPUT DROP 
iptables -P OUTPUT DROP
# Because you want to create a new ruleset and you've been up for 25 hours and aren't thinking straight
iptables -F

これにより、着信および発信するすべてのトラフィックが破棄され、ボックスの内外にSSHトラフィックを許可するルールを含む、現在ロードされているルールが更新されます。繁栄!あなたはロックされています。

関連情報