第11回 NETMARKで不正な通信をシャットアウト

面 和毅
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2006/10/5

 sshdでの実験

 実際に、望みどおりのアクセス制御ができているかを確認しましょう。
VMwareイメージをダウンロードして実際にテストしてください。筆者の環境では、192.168.230.XXがVMware用のネットワークになっていますが、皆さんの環境は当然異なると思いますので、スクリプト中のIPアドレスを適宜修正してください。

  1. VMwareイメージを起動して、rootでローカルにログインします
  2. 「lidsadm -S -- -LIDS」として、LFSを開きます
  3. /root以下に「iptables.sshd.sh」というシェルスクリプトがありますので、こちらを起動してください。シェルスクリプト中のIPアドレスは、図4の例でのIPアドレスになっていますので、皆さんの環境でのIPアドレスに適宜変更してください
  4. これで準備は完了ですので、まずLFS以外のターミナルでローカルログインしてください。ローカルログインでは、Target_PC(192.168.230.129)や、外部のネットワークに自由にアクセスできることが確認できます
図8

図9
  1. 次に、ホストOSからsshでゲストOS(192.168.230.128)にログインします。その後、Target_PC(192.168.230.129)にsshでログインができます
図10
  1. しかし、sshでのゲストOS(192.168.230.128)上で、www.google.com(66.249.89.99)のポート80に接続しようとしても、パケットがDROPされるため接続できません。同じく、ホストOS(192.168.230.1)にsshで接続しようとしても、パケットがDROPされるため接続できません
図11

 このようにLIDSとiptablesを、MARKを用いて連携させることにより、ローカルログインしたユーザーとssh経由でログインしたユーザーでのフィルタリングの扱いを変えることができます。通常のsshでもある程度似たような動作はできるかもしれませんが、LIDSを用いた場合には、sshdにバグや脆弱性が見つかった場合にでも、その動作をきちんと制限してくれますので、何か起きたときのことを考えるとLIDSを用いて制限を掛けるという方法は十分に検討する価値があると考えられます。

 また、今回のケースではあくまでもiptablesでパケットを落としただけですが、MARKを使って制御できるiproute2などと組み合わせることによっても、アプリケーションごとに動的にルーティングを変更したり、あるいは特定の条件で特定のアプリケーションの帯域を制限できるなど、応用方法はまだまだたくさんあります。

 次回では、さらに「TDE/TPE」と「NETMARK」を使った応用例をお見せします。

3/3
 

Index
NETMARKで不正な通信をシャットアウト
  Page1
iptablesとMARKマッチ
LIDSとMARKマッチ機能
LIDSでMARKマッチ機能を使うためには
  Page2
sshdでの実例
Page3
sshdでの実験


Profile
面 和毅(おも かずき)

サイオステクノロジー株式会社
インフラストラクチャービジネスユニット Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ

 学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。

 現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。

 2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間