質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.49%

  • Linux

    3878questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2757questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • ネットワーク

    547questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    472questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • ルーティング

    47questions

    ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

iptableの設定について。~SnortをIPSとしてInlineで動作させるための準備~

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 357

kaisen

score 19

前提・実現したいこと

こんばんは。

仮想マシンを使って、
snortがIPSとしてinlineで動作するネットワークを作ってみたいと思っています。
(参考ブログの記事= https://blog.rgm89s.com/archives/222)
その過程で、
iptableを使ったポートフォワーディングの問題にぶつかりました。

ブログの記事を例にとるならば、
記事の最初の方の「*以下の環境を前提としています。」という部分の

*ネット環境
*内部Webサーバのデフォルトゲートウェイは「192.168.1.1」に設定されている物とします。
*内部WebサーバでApache、Nginx等を用いたWebサイトが既に稼働している物とします。
Internet---------------------Snortサーバ---------------------内部Webサーバ
                eth0:210.130.0.1     eth1:192.168.1.1        eth0:192.168.1.2


という設定の
Snortサーバeth1と内部Webサーバeth0のアドレスをいつ、どこで、どのように決定すればいいのかが分かりません。

私の環境は、

概要= OS グローバルアドレス=xxx ローカルアドレス=xxx

グローバルにつながったルータA= ???(ポートフォワーディング可能) グローバルアドレス= 1.2.3.4 ローカルアドレス= 192.168.0.1
snortの仮想ゲストサーバB= CentOS グローバルアドレス=1.2.3.4 ローカルアドレス= 192.168.0.2 内部ネット用のローカルアドレス= ?(これをどう設定すればいいのかわからない)
内部ネットの仮想ゲストサーバC= Ubuntu グローバルアドレス=なし ローカルアドレス= なし 内部ネット用のローカルアドレス= ?(これをどう設定すればいいのかわからない)
仮想化ソフト= VirtualBox
仮想ホストPC= Windows ローカルアドレス = 192.168.0.3 

として、
内部ネットのUbuntuサーバCのすべての通信を
snortで監視し、攻撃的な通信をドロップし、
ログを残し、メッセージを送るようにしたいと思っています。

このために必要な設定として、
snortサーバのeth0(a)をルータAとのパケットの送受信に使用して、
eth1をUbuntuとのパケットの送受信に使おうとしています。

Ubuntuのeth0(b)は、snortサーバのeth1につながり、
グローバルとの接点はほかに存在しないようにします。

つまり、ルータAのLAN上にはA,B,Windowsのみが接続されています。
そして、Bはブリッジ接続されています。

このとき、eth1とeth0(b)のアドレスをどのように設定すればいいのかが分かりません。
もうすこし具体的に言うならば、
なにかマシンやネットワークなどの環境に従ってアドレスを決定するのか(されるのか)、
それとも
思い付きでアドレスを決定していいのか(ex.eth1=1.2.4.8,eth0(b)=1.2.4.9)が
わかりません。

補足情報

気を付けてはいるのですが、質問内容に不備があると思います。

なぜなら私にはネットワークとLinux関係の知識が殆どないからです。
作りながらの学習中です。
補足などは回答を受けてしていくつもりです。

知恵をお貸しいただきたければ幸いです。
よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

おそらく、以下のような構成になると思います。

Internet
    |
(Global IP)
[ルータ]
192.168.0.1
    |
    +-----------------+
    |    (bridge)     |
    |                 |
192.168.0.3        192.168.0.2
[Windowsホスト]    [Snort(B)]
                   192.168.77.2(例)
                      |
                  (内部ネットワーク)
                      |
                   192.168.77.4(例)
                   [Web(C)]

・ルータ(A) ポートフォワード設定
    Global IP:80 -> 192.168.0.2:80

・Snort(B) ネットワーク設定
    default gateway: 192.168.0.1
    eth0: 192.168.0.2/24   (VMware の bridge 側アダプター)
    eth1: 192.168.77.2/24 (VMware の内部ネットワーク側アダプター)

・Web(C) ネットワーク設定
    default gateway: 192.168.77.2
    eth0: 192.168.77.4/24 (VMware の内部ネットワーク側アダプター)
    ※eth1 かもしれません。VMware 側仮想マシンの設定によります。

192.168.77.2, 192.168.77.4 は例としてあげただけで、プライベートIPアドレスであれば 172.16.0.0/16, 10.0.0.0/8 から選んでもいいですし、VirtualBox ホスト側で内部ネットワークに割り当てられたネットワークアドレス(192.168.0.0/24 以外)が既に設定されているのであれば、それをそのまま利用できると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/17 09:36

    TaichiYanagiyaさん、回答ありがとうございます。
    図が明快でわかりやすいです。
    さっそく試してきます。

    キャンセル

  • 2018/04/17 10:22

    経過報告です。
    Snort(B)とWeb(C)の間でpingが通るようになりました!

    キャンセル

  • 2018/04/17 12:17

    成功です!

    Snort(B)ではnmcli、Web(C)では/etc/network/interfacesを
    編集することでpingが通るようになりました。
    次に
    Snort(B)のiptablesとルールを編集することで
    Snort(B)にWindowsからアクセスすると、Web(C)のサイトが表示され、
    そのアクセスをSnort(B)でログ出力するようになりました。

    今後はこれを基本にして構築していくことにします。

    TaichiYanagiyaさん、ありがとうございました。とても助かりました。
    もしまた機会がありましたらよろしくお願いします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Linux

    3878questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • CentOS

    2757questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • ネットワーク

    547questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • セキュリティー

    472questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • ルーティング

    47questions

    ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。