第12回 NETMARKとiproute2でトラフィックを完全掌握
面 和毅サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2006/11/21
iproute2で「syslogd以外接続禁止」を実現する
それでは、iproute2とLIDSを組み合わせた例を実際に適用してみましょう。図6のようなネットワークを考えてみます。
図6 iproute2とLIDSにより、syslogd以外の接続を禁止する |
今回は引き続きVMwareを用いてテストを行いたいと思いますので、図6の環境をそれぞれホストOS、ゲストOSとして割り当てたものを図7に示します。図7ではIPアドレスが入っていますが、これはあくまでも筆者の環境の設定ですので、VMwareイメージをダウンロードしてテストされる際には別途、対応するIPアドレスに変換してください。
図7 今回設定する環境 |
●ホストOSの設定
今回はホストOSをルータとして使用するため、ホストOSの設定を一部修正する必要があります。
a)ホストOSがLinuxの場合
i)rootユーザーで
# echo "1" > /proc/sys/net/ipv4/ip_forward
とします。
ii)rootユーザーでiptablesにより図8のようなipマスカレードの設定をします。
/sbin/iptables -F /sbin/iptables -F FORWARD /sbin/iptables -A INPUT -i vmnet1 -s 192.168.164.0/24 -d 0/0 -j ACCEPT /sbin/iptables -A FORWARD -i vmnet1 -o ath0 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -o ath0 -s 192.168.164.0/24 -j MASQUERADE |
図8 ipマスカレードの設定 |
実際には、ホストOSを再起動するたびにi)、ii)で設定した値は変わってしまいますので、rc.localなどのファイルでi)、ii)のコマンドが実行されるようにしておきます。
b)ホストOSがWindowsの場合
Windows系でipルーティングを有効にするには、サーバ系OS以外ではレジストリを修正する必要があります。
【@IT:IPルーティングを有効にする方法(レジストリ設定編)】 http://www.atmarkit.co.jp/fwin2k/win2ktips/450ipforw/ipforw.html |
Windows環境でレジストリを修正する際には、あくまでご自分のリスクで設定を行ってください。また、以降の説明では基本的にホストOSの説明はLinuxを前提に行っていますので、ホストOSがWindowsの場合には、適宜Windows用の設定に読み替えてください。
●ゲストOS1の設定
ゲストOS1では、
- デフォルトゲートウェイの設定
- LIDSでsyslogdにマークを付ける設定
- iptablesでデフォルトのマーク値を設定
- iproute2でマーク値によりsyslogサーバへのルーティングを行う設定
を行います。
1.デフォルトゲートウェイの設定
# /sbin/route add -net 0.0.0.0 gw 192.168.164.2 |
として、デフォルトゲートウェイとして192.168.164.2を指定します。
【注】 iproute2でfwmarkを使ってルーティングを制御する場合には、デフォルトゲートウェイが設定されていないとfwmarkのテーブルを見に行く前に「Network Unreachable」として処理してしまうようですので注意が必要です。 |
2.LIDSでsyslogd/klogdにマークをつける設定
syslogd/klogdにLIDSでマークを付けることにより、syslogd/klogdの子プロセスが生成したソケットには、すべてマーク値(この例では20番を指定)を付けることができます。
# /sbin/lidsconf -A -s /sbin/syslogd -o LIDS_SOCKET_NF_MARK 20 -j DISABLE
# /sbin/lidsconf -A -s /sbin/klogd -o LIDS_SOCKET_NF_MARK 20 -j DISABLE |
3.iptablesでデフォルトのマーク値を設定
LIDSのNF_MARKとiptables/iproute2でのマーク値を連動させるためには、iptablesでデフォルト(特にLIDSなどでマーク値を指定しなかった場合に、ソケットを生成する際に付与されるもの)のマーク値を指定する必要があります。これには、前回で説明した「mangle」テーブルを用います。下記の例では、デフォルトのマーク値を「10」にしています。
# /sbin/iptables -t mangle -P OUTPUT ACCEPT
# /sbin/iptables -t mangle -A OUTPUT -j MARK --set-mark 10 |
4.iproute2でマーク値によりsyslogサーバへのルーティングを行う設定
iproute2で以下のようなルーティングを追加します。
# /sbin/ip rule add fwmark 20 table 20
# /sbin/ip route add default via 192.168.164.1 table 20 |
これら1〜4の手順を行うことにより、LIDSが導入されているシステム上のsyslogd(および、その子プロセス)のみがsyslogサーバへ接続できますが、そのほかのプロセスはsyslogサーバに接続できない(pingも通らない)という環境を作成することができます。
●ゲストOS2(syslogサーバ)の設定
ゲストOS2ではsyslogdを、ネットワーク経由で飛ばされてきたログも取り込むように、起動時のオプションで“-r”を付けるだけです。
2/3 |
Index | |
NETMARKとiproute2でトラフィックを完全掌握 | |
Page1 ルーティングをコントロールするiproute2 iptables/iproute2とLIDSを組み合わせるメリット |
|
Page2 iproute2で「syslogd以外接続禁止」を実現する |
|
Page3 syslogdの動作を確認 |
Security&Trust記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|