プロが教える店舗&オフィスのセキュリティ対策術

LANとDMZのセグメントを持つサーバで私のネットワーク環境に最も合ったスクリプト

http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/out …

を使用して試験的にファイアーオール運用しています。問題なく機能しているようですが、この設定でよいのか解かりません。ご教授頂ければ幸いです。

ファイアーウォールは3枚のNICを持ち、OSはLinux(Debian)を使用しています。インターネットの接続はPPPoEn でインターフェース(ppp0)に唯一のグローバルIPアドレスを付与しています。LAN側(eth1)に市販のルータを噛ませ第二のファイアーウォールとして数台のPCを繋いでいます。DMZ(eth2)のインターフェースはスイッチに繋ぎ、現在は1台のデスクトップにウェブサーバ(LAMP)とFTPサーバを入れています。ドメイン名は登録済みです。メールサーバとDNSシステムは持たずにレジストラーに委託して運用しています。

上記のウェブアドレスにある”rc.DMZ.firewall.txt”スクリプトを基本にして使用をしていますが、図解のネットワーク構造で今一理解できないのが、インターネット側にあるグローバルIPアドレスと思われる194.236.50.153/155です。どのような状態を示しているのかが今一わかりません。と、言うのも、同アドレスは、DMZ上のHTTPやDNSのIPに付与されるもので、グローバルIPアドレスを使わない、私のような場合にのみプライベートドレスで代用するのだと思っていましたので。

私のドメイン名である 
​www.example.com​ = 194.236.50.153 = 192.168.1.2 
と勝手に解釈をして上記のスクリプトを下記のように修正しましたがこれでよいのですか?

まずHTTP_IPアドレス部分をコメントアウト
# 1.1 Internet Configuration.
# HTTP_IP="194.236.50.153"

prerouting chainにある”HTTP_IP”の記述を“INET_IP”に書き直す。
# 4.2.4 PREROUTING chain
$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP

もちろんDNSに関する記述はコメントアウトをしてあります。
宜しくお願いします。

A 回答 (3件)

>DNSかドメイン名のレジスタラーに 


>mydomain.jp = 194.256.50.153
>と明記したので、外部のPCのブラウザアーにmydomain.jpと入力すると194.256.50.153の宛先のアドレスを持つパケットがppp0から進入してくる。との理解でよいのですか

その通りです。
---
>下記の様にIPTABLESを置き換えることで支障は無いのかです。
>$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $INET_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP

支障はありませんが、動的IPアドレスなので以下のようにIPアドレスを設定しない記述のほうが、要件に合っているのではないでしょうか。

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP
    • good
    • 0
この回答へのお礼

ぼやけていたところが良く理解できました。今後とも宜しくお願いします。ほんとうにありがとうございました。

お礼日時:2008/06/26 10:24

内容を確認させていただきましたが、この文書はチュートリアルではありません。

ネットワークとiptablesがわかっている人用のちょっと便利なスクリプト集です。
iptables のコマンドと、ネットワークの基礎が理解できていないと、スクリプトをいきなり理解することはできないでしょう。

今やろうとしていることを実現するには以下のサイトの方が良いかもしれません。
http://www.atmarkit.co.jp/flinux/rensai/security …

--- という前置きはおいといて ---
rc.DMZ.firewall.txt が実現しようとしているのは
・インターネットから 194.236.50.153 TCP 80 へのHTTP接続を 192.168.1.2 へ転送
・インターネットから 194.236.50.154 TCP,UDP53 へのDNSリクエストを 192.168.1.3 へ転送
・Trusted Internal Network からのインターネットの接続を 194.236.50.152 へアドレス変換して発信
 (インターネット上の第三者のサーバは 194.236.50.152 から接続されたと判断されます)
・付随するセッションを通す
・余計なものは遮断
です。

一つ一つのコマンドの意味を解説する必要はありますか?
    • good
    • 0
この回答へのお礼

お忙しいなか、スクリプトを読んでいただき感謝いたします。これで確信に触れる質問ができます。大感謝です。
もう少し時間を頂けるものならと質問を続けさせていただきます。Iptablesの記述の読み方は多少理解をしているつもりです。このスクリプトを自分なりに修正をして私のネットワークはファイアーウォールとLanにPC数台を繋ぎ、DMZ上にHTTPサーバが置いてあります。FIREWALLはeth0がppp0に置き換わっています。

FIREWALLのPCで #ifconfigをすると(実際の番号は異なりますが)
ppp0 inet addr: 194.236.50.152 
eth1 inet addr: 192.168.0.1
eth2 inet addr: 192.168.1.1
HTTPサーバのPCは
eth0 inet addr: 192.168.1.2
ですから、これらに入る、流れる、出て行くIPTABLESの記述は理解ができます。

仮に私がISPにお金を支払い194.236.50.153のアドレスを得たとしますと、このアドレスはHTTP_IPとして使用できることは理解ができます。

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP
の記述は
$IPTABLES -t nat -A PREROUTING -p TCP -i ppp0 -d 194.236.50.153 --dport 80 -j DNAT --to-destination 192.168.1.2
に書き換えると、インターネット(ppp0)から進入するパケットでport番号が80の宛先をもつパケットを192.168.1.2に導きDNATをするは解かりますが、『宛先が194.236.50.153』であるパケットの意味が理解できないのです。

DNSかドメイン名のレジスタラーに 
mydomain.jp = 194.256.50.153
と明記したので、外部のPCのブラウザアーにmydomain.jpと入力すると194.256.50.153の宛先のアドレスを持つパケットがppp0から進入してくる。との理解でよいのですかが第一の質問です。

次の質問は、私はレジスタラーにmydomain.jpは登録しているがグローバルアドレスを取得していないので、上記の記述はできないが、レジスタラーが転送してくるport80宛てのパケットは194.236.50.152のはずであるために、下記の様にIPTABLESを置き換えることで支障は無いのかです。

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $INET_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP

宜しくお願いします。

お礼日時:2008/06/25 02:29

ご提示のリンクが正しくないので参考程度に。



>194.236.50.153/155
153~155を表現したいのでしょう。
図解のページはおそらく複数IPのネットワークを前提に説明されているとおもわれます。
お使いのIPアドレスが1つだけであれば、"/" 以降は不要です。
あえて書くとしたら、"/32" または "/255.255.255.255" ですね。

# 4.2.4 PREROUTING chain
$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP

INET_IFACE 外部ネットワークへ接続するNIC(今回の場合は ppp0)
HTTP_IP グローバルIP(今回の場合は 194.236.50.153)
DMZ_HTTP_IP DMZ上の転送先IP(今回の場合は 192.168.1.2)

iptables のマニュアルを参照した方がいいかもしれません。
キーワードとしては "ポートフォワーディング"
    • good
    • 0
この回答へのお礼

『解らないときは角度を変えて考えてみては?』と指摘をされたようでした。角度を変えてみてみると『質問の内容がまずい』と『URLのアドレスが違う』とは失念でした。図解のURLは:
http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/out …
上記のURLで繋がらないときのために原書からの図解です
http://iptables-tutorial.frozentux.net/iptables- …

図の中にあるポートアドレス(194.236.50.153から194.236.50.155)を解説書の中にあるrc.DMZ.firewall.txt

http://www.asahi-net.or.jp/~AA4T-NNGK/ipttut/out …

から読み取ると(書き換えると)『どのような、状態であるか基本が解かっていない』ので教えて頂きたいのです。

yahoo.comを#whoisで調べてみると、確かに複数のレジスタラーにグローバルアドレスを登録させています。外界を繋ぐ正式なDNSは2つ以上必要で異なるLAN上に置くということから、上記の194.236.50.15*は、ご指摘のように『複数IPのネットワークを前提として』説明をしているのかもしれません。

”ポートフォワーディング”以前にこの辺りがよく解かっていません。鶏が先が卵が先かの話にもなりますが、解析をしていただければ幸いです。

お礼日時:2008/06/24 15:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!