[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/17 19:31 / Filesize : 298 KB / Number-of Response : 923
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【鉄壁】iptablesの使い方 3【ファイアウォール】



1 名前:login:Penguin [2006/01/07(土) 09:23:53 ID:lNsnmDoV]
iptablesを使って素敵なファイアウォールとか、
快速ルータを作ったりするために、
情報を出し合うスレ

前スレ
おい、iptablesの使い方を(ry その2
pc8.2ch.net/test/read.cgi/linux/1079277604/l50


328 名前:login:Penguin mailto:sage [2007/05/28(月) 23:11:18 ID:sHIi1tok]
iptablesの設定でいろんなサイトを見ていたのですが
ppp0とかppp+とか出てきてわかりませんでした。
ppp0とかppp+って何ですか?

329 名前:login:Penguin mailto:sage [2007/05/29(火) 00:01:07 ID:nHY4srpO]
>>327
connlimit で出来る、かも知れない。
(サポートしてないかもしれない。)

330 名前:login:Penguin mailto:sage [2007/05/29(火) 00:19:58 ID:z8TDg4YQ]
>>328
それこそググれよ。

331 名前:328 mailto:sage [2007/05/29(火) 03:10:29 ID:/srE7Qjl]
すみません。
書かなくてもみなさんわかると思ったので書きませんでしたが
ググってわからなかったので質問しました。


332 名前:login:Penguin mailto:sage [2007/05/29(火) 06:02:59 ID:nHY4srpO]
ppp0 とか ppp1 ってのは PPP 接続インターフェースの名前で、
ifconfig した時に、eth0 や lo と一緒に出てくる。(設定してれば。)

PPP 接続ってのは PPPoE するのに必要で、
ADSLモデム直結でLinuxをルータにしようとすると
WAN側が ppp インターフェース(ppp0とかppp1とか)になる。

ppp+ はアクティブなPPPインターフェースのどれか。

333 名前:login:Penguin [2007/06/04(月) 16:54:55 ID:/R0JhaQ8]
LinuxPCをNATとして下記のような構成にしたいと考えております。

192.168.0.1
 |
+---+192.168.0.254(eth0)
|NAT|
+---+192.168.1.1(eth1)
 |
 |  192.168.1.2
 |    |
 +----+
 |
+------+192.168.1.254
|ROUTER|
+------+dynamicIP
 |
Internet

下記2つにて可能でしょうか?
(1)eth1のGWを192.168.1.254にする
(2)iptables -t nat -A POSTROUTING -s 192.168.0.1 -o eth1 -j SNAT --to 192.168.1.1
また、不足等あればどのような設定が必要でしょうか?

どうかアドバイスをお願い致しますm(_ _)m

334 名前:login:Penguin mailto:sage [2007/06/04(月) 19:34:14 ID:i9lW+1Uc]
>>333
(1) "eth1の" ではなくて "NATルータの" な。
  デフォルトゲートウエイはマシン単位で設定するものであって、
  ネットワークカード単位で設定するものではない。

(2) "--to" ではなくて "--to-source" だな。

335 名前:login:Penguin mailto:sage [2007/06/06(水) 12:19:16 ID:YI/fHvZq]
>>333
なんで2重にNATするの?
せっかくルータがあるのに。

336 名前:333 mailto:sage [2007/06/06(水) 15:09:10 ID:YJltEUYM]
>>334,335
レスありがとうございます。
社内NWで、NWを切り分ける必要があるからです。

・・・試そうとしたらクロスケーブルがないorz



337 名前:login:penguin mailto:sage [2007/06/06(水) 15:57:04 ID:VIR6ggRn]
VLAN 対応のハブにしたら?

338 名前:login:Penguin mailto:sage [2007/06/06(水) 17:38:32 ID:YI/fHvZq]
>>336
高機能ルータにしてVLANにしたほうが楽ですよ。

>>333
FORWARDもACCEPTしないといけないんじゃないかな。


339 名前:login:Penguin mailto:sage [2007/06/10(日) 03:43:27 ID:WfZdqta0]
質問です。
krfilter のようなアジア地域に限った話ではなくて、
もっとほかの国々のIPアドレスもフィルタリングする方法ってないですか?
逆に日本だけOKとかでもいいんですが・・・

340 名前:333 mailto:sage [2007/06/10(日) 04:19:16 ID:bkLFd8zx]
レスありがとうございました。
いろいろあってNAT計画はお流れになりました(笑

>>339
うちは ftp.apnic.net/stats/apnic/delegated-apnic-latest を使っていますよ

341 名前:login:Penguin mailto:sage [2007/06/10(日) 19:55:39 ID:kdglMI9l]
>>339
私はここのデータを使わせてもらってます。
nami.jp/ipv4bycc/

>>340
APNICだけでは、足りないJPのアドレスがないですか?

342 名前:login:Penguin mailto:sage [2007/06/10(日) 20:45:14 ID:VSk4UJi3]
少しだけどARIN管轄のJPアドレスがあるね。

43.0.0.0/255.0.0.0
64.56.160.0/255.255.224.0
133.0.0.0/255.0.0.0
199.103.103.0/255.255.255.0
204.79.157.0/255.255.254.0
204.79.218.0/255.255.255.0
204.231.230.0/255.255.255.0
204.231.251.0/255.255.254.0
206.3.0.0/255.255.224.0
206.143.128.0/255.255.128.0
216.255.224.0/255.255.240.0

(2007/06/08現在)

343 名前:339 mailto:sage [2007/06/10(日) 21:47:57 ID:WfZdqta0]
>>341
レスありがとうございます。

まさにこんなのを探してました。
今からawkの使い方を調べますw

344 名前:login:Penguin [2007/06/12(火) 13:27:50 ID:bNzfVXjZ]
すみません。教えて下さい。
現在、22ポートをどのIPからでもアクセスできるようになっているのですが、
これを特定のIPアドレスだけからアクセスするようにさせたいのですが、
下の記述に、更に-Aで追加することはできないのでしょうか?(うまくできません。)
もしそうなら、どのように記述すればよいでしょうか?


IPTABLES="/sbin/iptables"

$IPTABLES -F
$IPTABLES -t nat -F

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT

345 名前:login:Penguin [2007/06/12(火) 13:52:31 ID:bNzfVXjZ]
OSはCentOSを使っています。
ものすごく初歩的なことなのですが教えて下さい。
iptableを書き換えて、-Lで確認すると、希望通りに変更されています。
その後、/etc/rc.d/init.d/iptable restart します。
しかし、書き換えた内容が反映されていないのですが、何か足りないものが
あるでしょうか?

346 名前:login:Penguin mailto:sage [2007/06/12(火) 14:07:51 ID:u4WFCFNn]
>>345
restartする前に、
/etc/rc.d/init.d/iptable save
で保存せにゃ駄目なんじゃない?
これで/etc/sysconfig/iptablesあたりに現行のが保存されるはず‥

俺はiptablesの設定はrc.localに書いちゃう人なので良くわからない(苦笑



347 名前:login:Penguin mailto:sage [2007/06/12(火) 15:18:08 ID:Vd+dHR6r]
>$IPTABLES -P INPUT ACCEPT
>$IPTABLES -P FORWARD DROP
>$IPTABLES -P OUTPUT ACCEPT

書き間違えなのか知らんけど
$IPTABLES -P INPUT DROP
してな

iptablesは上からよんでいく
そして、上にある方を、優先してポリシーを適用するという大前提がある

348 名前:login:Penguin [2007/06/12(火) 15:59:34 ID:bNzfVXjZ]
>>346
そのとおりでした。ありがとうございます。

>>347
素で間違えてました。ご指摘ありがとうございます。

349 名前:login:Penguin [2007/07/04(水) 05:49:42 ID:AjHyf33g]
保守age

350 名前:login:Penguin [2007/07/04(水) 11:09:43 ID:UK9QnhoX]
Redhat 系では /etc/sysconfig/iptables に設定が置いてあって、
起動時にそれが rc 以下のスクリプトで反映されることに
なってますが、そもそも /etc/sysconfig/iptables って
system-config-securitylevel が作成するものですよね?

もっと細かい設定をしたいときにはこのファイルを vi なんかで
いじるというのが Redhat 流儀なのでしょうか?それとも
手動での設定項目は別に用意するべきなのでしょうか?

いままで Debian 系をメインで使っていたので、
まだ Redhat 系の流儀がわかっておりません。
できるだけ郷に入っては郷に従えで行きたいと思っています。

351 名前:login:Penguin mailto:sage [2007/07/04(水) 11:19:00 ID:1/Qyerts]
>>350
/etc/init.d/iptables save かな。

352 名前:350 [2007/07/05(木) 07:20:59 ID:VsSiocxY]
結局、system-config-securitylevel を使わない前提で
/etc/sysconfig/iptables をエディタで書き換えてます。
ときどき /etc/init.d/iptables save で別ファイルに保存して。

353 名前:login:Penguin mailto:sage [2007/07/08(日) 10:24:06 ID:zYOCWUig]
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state NEW,RELATED,ESTABLISHED

と OUTPUT の policy を ACCEPT にするのとでは違いがありますか?

OUTPUT も、ポート毎に1つ1つ許可するほうがいいのでしょうか?
いまいち OUTPUT を deny するメリットがわかりません。

アドバイスをお願いします。


354 名前:login:Penguin mailto:sage [2007/07/08(日) 12:12:05 ID:YCfVpWHt]
たとえば掲示板か何かを公開した時に
掲示板スクリプトにセキュリティホールが存在して
(本来あってはならないことだが、しばしば起こりうる)
気づかぬうちにボットネットに参加してしまうかも知れない。
そういう時に RELATED と ESTABLISHED だけ許可しておいて
他は policy で DROP しておけば、犯罪ネットに貢献しないで済む。

355 名前:login:Penguin mailto:sage [2007/07/10(火) 15:28:15 ID:U82mxVZP]
通信を許可するポートを動的に変更する方法はありますか?
動的というか、IPアドレスではなくてホスト名で許可したいのですが。

例えば、自分のノートPCの出口のグローバルIPをダイナミックDNSとして
ホスト名が常に変更されるようになっている時、そのダイナミックDNSの
ホスト名から得られたIPアドレスは通信できるようにiptableを設定
したいのですが、そのような事はできますか?

356 名前:login:Penguin mailto:sage [2007/07/10(火) 18:00:51 ID:zGJfejuy]
macアドレス使うとか



357 名前:login:Penguin mailto:sage [2007/07/10(火) 20:30:31 ID:XPuS8ReG]
iptables -t nat -A PREROUTING -d (グローバルIP) -p all -i ppp+ -j DNAT --to 192.168.0.2

みたいなのて、
プロバイダ割り当てIPがかわるたびに
やらなくちゃいけないでつか?

358 名前:login:Penguin [2007/07/11(水) 11:03:28 ID:D3zZXJq+]
>>357
うん。たとえFQDNで指定しても iptables コマンドを
実行した瞬間に名前解決されるわけだからね。
適当な Dynamic DNS に登録しておいて、
cron で定期的に iptables 設定しなおすとか。

359 名前:login:Penguin [2007/07/11(水) 11:06:23 ID:nph/g5pi]
全てのlog.は出てます。


360 名前:amel mailto:!(ΦyΦ+){秘密です。} [2007/07/11(水) 11:07:41 ID:nph/g5pi]
aaa

361 名前:login:Penguin [2007/07/11(水) 11:14:47 ID:dikq2zGa]
ほげ?

362 名前:login:Penguin mailto:sage [2007/07/11(水) 18:13:44 ID:7rPXioeP]
>>357
構成と何がやりたいのかによりけりだけど、
eth0 とか ppp0 とかのインターフェース指定じゃ無理なケース?

363 名前:login:Penguin mailto:sage [2007/07/19(木) 10:13:27 ID:82b1F1Ds]
>>341
そのページの説明を参考にiptablesを設定すると何千行にもなるんだけど、そんなもの?
今のところ普通に動いてるから、いいのかな?

364 名前:login:Penguin mailto:sage [2007/07/19(木) 10:58:27 ID:PmENbhRL]
うちの場合こんな感じだ。

$ sudo iptables-save | wc --lines
1856

手で個別に入れたルールが70くらい。
残りは特定アジアのIPアドレスを対象に自動生成した
-A INPUT -s xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx -j BAD-INPUT
こんなやつばかり。

365 名前:login:Penguin mailto:sage [2007/07/19(木) 11:20:33 ID:82b1F1Ds]
>>364
レスthx、安心した。
wgetとcronで勝手に更新するようにしてみたんだけど、行数の多さに不安になってたのよ。

366 名前:login:Penguin mailto:sage [2007/07/19(木) 21:57:13 ID:uF7HBJve]
firestarterで受信全閉め、送信全閉めand一部開けにしてる俺は
ダメな奴でしょうか?
やっぱ、色々やらんとダメなんですか?



367 名前:login:Penguin mailto:sage [2007/07/19(木) 23:44:47 ID:C5Hsn39j]
コマンド叩いてるけど俺も同じような感じだよ!
開けてるのはhttp,https,ftpだけだったり

368 名前:login:Penguin mailto:sage [2007/07/24(火) 17:15:59 ID:ShS11Qps]
firestarterの日本語訳って少し変

369 名前:login:penguin mailto:sage [2007/07/24(火) 20:22:39 ID:XmHSl5AF]
>366-367
素朴な疑問です。例えば、http(80),https(443),ftp(21)以外は、送受とも全閉め…の場合、
そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック
されるんでしょうか?

370 名前:login:Penguin mailto:sage [2007/07/25(水) 08:42:24 ID:BPmm4tyb]
>>369
> そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック

意味不明。

単にポートだけでOUTPUT側をフィルタした場合、当たり前だが1024以上も対象になる。
なのでiptablesのconntrackモジュールを併用してあげるといい。

371 名前:login:Penguin mailto:sage [2007/07/25(水) 10:19:28 ID:c/4qaAtX]
iptablesでアプリケーション単位で防ぐ事って出来ますか?

Firefox → TCP/IP 送信 80番 ok
Thunderbird → TCP/IP 送信 25,110番 ok
gFTP → TCP/IP 送信 20-21番 ok

みたいな。

372 名前:login:penguin mailto:sage [2007/07/25(水) 13:55:46 ID:nEhKGnnq]
アプリケーション使うPC上でなら可能。つーかそれをFWと言うのでは?

経路上のポートからはアプリケーション判定は無理。

373 名前:login:Penguin mailto:sage [2007/07/25(水) 14:13:02 ID:0k5ibQId]
> アプリケーション使うPC上でなら可能。

おー。そうでしたか!
参考までに一例教えていただけませんか?

「ACCEPT tcp -- 192.168.1.1 anywhere tcp dpt:www」
これだと他のソフトでも全部80番を通してしまいますので、

「Firefox のみ TCP 80番 送信をok」にしたいです。

374 名前:login:penguin mailto:sage [2007/07/25(水) 18:13:16 ID:nEhKGnnq]
>373 スマソ。専用のFWを使ってね…と言う意味でした。iptables では無理。

375 名前:login:Penguin mailto:sage [2007/07/25(水) 19:58:26 ID:/D3x9F85]
SELinux とかでパケットに印を付けて
その印を見て iptables や iproute で制御する事は可能らしい

やった事ないので確かなことは言えないが

376 名前:373 mailto:sage [2007/07/25(水) 21:27:20 ID:OFMlwdEN]
>>374
すまん、こっちも勘違いでした

>>375
なるほど、SELinuxですか
ちと調べてみます。ありがとん



377 名前:login:Penguin mailto:sage [2007/07/26(木) 07:48:38 ID:JylDrctM]
--*id-owner系のオプションでなんとかならない?


378 名前:login:Penguin mailto:sage [2007/07/26(木) 09:49:19 ID:YatnvMaY]
>>377
シンプルなやり方としてはそれもアリだね。

ただコマンド名でしかマッチしないので、
同じ名前で全く別のプログラムがあったりすると区別できなくなってしまう。
(これはWindowsのアプリケーションファイアウォールでも同じことが言えるが)

379 名前:たけぼん [2007/07/29(日) 05:56:27 ID:5YjE0kTR]
基本的な質問ですみません。
eth2がWAN側につながってます。

スプーフィングおよびソースルーティング対策として
iptables -A INPUT(FORWARD) -i ppp0 -s 192.168.1.0/24 -j DROP
iptables -A INPUT(FORWARD) -s 192.168.1.0/24 -i eth2 -j DROP
iptables -A INPUT(FORWARD) -i ppp+ -s 192.168.1.0/24 -j DROP

の3種類の書式が見つかりました。この3つは同じ結果になるのでしょうか?
またどの書き方がベストというのはありますか?
どなたか教えて下さい。

380 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 10:53:02 ID:BPAu8N6C]
>>379
"ppp+" は "ppp" で始まるいずれかのデバイス ("ppp0", "ppp1" etc.) に適合する
ことになるので、複数のppp接続が混在するような環境で便利だろう。

あと、コマンドの順序には意味がない。
従って、1行目と2行目はデバイス名が異なる ("ppp0", "eth2") だけで同じ意味。

また、ソースルーティング対策を行なうのであれば
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
で十分(ふつうのカーネルなら最初から0だが)だろう。

あと、IPアドレス偽装のうちプライベートアドレスまたはループバックアドレスを
発信元にしたパケットを破棄したいのなら、
iptables -A INPUT(FORWARD) -s 10.0.0.0/8 -d 0/0 -i ppp0 -j DROP
iptables -A INPUT(FORWARD) -s 172.16.0.0/12 -d 0/0 -i ppp0 -j DROP
iptables -A INPUT(FORWARD) -s 192.168.0.0/16 -d 0/0 -i ppp0 -j DROP
iptables -A INPUT(FORWARD) -s 127.0.0.0/8 -d 0/0 -i ppp0 -j DROP
とすればいい。

381 名前:たけぼん [2007/07/30(月) 13:42:25 ID:82MghHmK]
名無しさん、ありがとうございました。

382 名前:たけぼん [2007/07/30(月) 13:49:51 ID:82MghHmK]
-dの後の0/0て何ですか?初めて見ました。

383 名前:login:Penguin mailto:sage [2007/07/30(月) 13:54:13 ID:wIebROn1]
>>382
0.0.0.0/0 と同じ意味。要はIPv4アドレス全て。

384 名前:たけぼん [2007/07/30(月) 15:46:34 ID:82MghHmK]
ありがとうございます。

385 名前:login:Penguin [2007/08/01(水) 13:45:52 ID:xTh2AlOO]

                         l|l l|l  
     ;y=     ;y=            ハ_ハ  ニ、ニダァ?  
  三 ┗<丶`∀´>┛              (^<;`д´>^)  
  三     ┛┓                  )  /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  (_ノ_ノ



386 名前:login:Penguin mailto:sage [2007/08/03(金) 19:33:17 ID:NtWU9CUf]
stateマッチのINVALIDって、実際には何がINVALIDになるんかな。

ttp://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/explicitmatches.html#STATEMATCH
ttp://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/userlandstates.html
に大まかには書いてあるけど、詳細がわからん。
例えばTCPで、新規じゃないけどESTABLISHEDではなくINVALIDになるのは
どういうときか、とか。もしかしてチェックサム不正だけ?




387 名前:login:Penguin mailto:sage [2007/08/03(金) 20:51:40 ID:wc/AKMVD]
>>386
よくあるのがセッション乗っ取り目的の偽装TCPパケットだな。
SYNを送受信してないのにいきなりACKフラグだけ立ったTCPパケットが来たりすると
INVALIDになる。

388 名前:386 mailto:sage [2007/08/03(金) 21:12:34 ID:NtWU9CUf]
>>387
それってNEWにはならないん?
てことは、TCP系スキャンを検出したいときは、
INVALIDを捨てるよりも先にスキャン検出をするべきってことか。
↓こんな感じで:

:INPUT DROP
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ! SYN,ACK,FIN,RST SYN -j tcp-scan
-A INPUT -m state --state INVALID -j invalid ←tcp-scanよりも後ろに置く
-A INPUT ...
...
:tcp-scan -
-A tcp-scan -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST ACK -j tcp-ack-scan
...
-A tcp-scan -j DROP
:tcp-ack-scan - ←ログ残して廃棄。invalidなども同様
-A tcp-ack-scan -m limit ... -j LOG ...
-A tcp-ack-scan -j DROP


389 名前:login:Penguin mailto:sage [2007/08/03(金) 22:02:17 ID:wc/AKMVD]
>>388
TCPヘッダの現在の状態を見て明らかに無効なパケットであれば
NEWではなくてINVALIDだよ。

390 名前:login:Penguin [2007/08/31(金) 01:30:48 ID:/QsvseIU]
>>389
どこからか明らかかってのはありますが、結構 INVALID じゃなくて NEW になる
こともあるとか。なので、どこぞの HOWTO だか FAQ には、TCP の場合はちゃんと
フラグも調べるようにと書いてあったような。

うろ覚えですまん。


391 名前:はまってます [2007/09/02(日) 18:24:13 ID:MBbpYlqy]
ある環境のhttpsでEncrypted Allertが発生するという、
ややこしい問題にはまってます。お助け頂けないでしょうか?
このレスには概要を書き、次レスにはiptables設定を載せようと思ってます。

最近プロバイダを変更し、dhcpのみの環境からpppoe+dhcpに変わりました。
その変更によって問題が生じるようになりました。

[環境]
ルーターが2台あります。
ルーターAはLinuxでインターネットに接していて、
WANインターフェースはpppoe+dhcpです。
LANインターフェースは192.168.1.0/24の中の1固定アドレスです。
192.168.1.1/24ネットワークにIPマスカレードしてます。

ルーターBはプラネックスの安ルーターで
WANインターフェースは192.168.1.0/24の中の1固定アドレスです。
LANインターフェースは192.168.0.0/24の中の1固定アドレスです。
192.168.1.0/24ネットワークににIPマスカレードしてます。
このネットワークは二重のIPマスカレードを介してインターネットに
属してます。

[障害内容]
殆ど何も問題はないのですが、唯一、一部のhttpsで問題が発生します。
Wireshark(旧Etherreal)で見ると、シーケンスの途中でEncrypted Alert
が発生していることがわかるだけで、それ以上の詳細はわかりません。
yahooのhttpsでは問題ありませんが、goo、Gyaoではタイムアウトになります。

ルーターAがpppoeになる前は問題ありませんでした。
また、現在でもルーターAを市販のpppoeルーターに取り換えると、
ルーターBのネットワークでもgoo,Gyaoとも問題ありません。
ルーターAがLinuxな理由はVPNの為です。

392 名前:はまってます [2007/09/02(日) 18:31:00 ID:MBbpYlqy]
ルーターAのiptabls設定です。
#!/bin/sh
IPTABLES=/sbin/iptables
${IPTABLES} -P INPUT DROP
${IPTABLES} -P OUTPUT ACCEPT
${IPTABLES} -P FORWARD DROP
${IPTABLES} -F FORWARD
${IPTABLES} -F INPUT
${IPTABLES} -F OUTPUT
# Allow packets in local
${IPTABLES} -A INPUT -i lo -j ACCEPT
${IPTABLES} -A INPUT -s 127.0.0.0/8 -i '!' lo -j DROP
# Pass SSH, etc
${IPTABLES} -A INPUT -p tcp -i ppp0 -m multiport --dports 22 -j ACCEPT
# Make own rule set chain
${IPTABLES} -F commonrule
${IPTABLES} -X commonrule
${IPTABLES} -N commonrule
# Bypass to commonrule
${IPTABLES} -A INPUT -j commonrule
${IPTABLES} -A FORWARD -j commonrule
# Allow packets within LAN
${IPTABLES} -A commonrule -i br0 -j ACCEPT
# Established packets
${IPTABLES} -A commonrule -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
${IPTABLES} -A commonrule -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow ICMP
${IPTABLES} -A commonrule -p icmp -j ACCEPT
# Do masqurading
${IPTABLES} -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

393 名前:login:Penguin mailto:sage [2007/09/02(日) 18:43:25 ID:xFZ3sRLE]
>>391
エラーメッセージは略さず書け。
あとpppoeってことは例によってMTU問題(特にpath MTU discovery)ではないのか?

試してみれ。
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

394 名前:login:Penguin mailto:sage [2007/09/02(日) 18:52:17 ID:noS94zlb]
>>391
iptables -A FORWARD -p tcp--tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


395 名前:login:Penguin mailto:sage [2007/09/02(日) 18:54:09 ID:noS94zlb]
げ、393氏かぶったすまそ。よくみるともれの間違ってるな・・・。

# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

多分これでいけると思うけど。



396 名前:はまってます [2007/09/02(日) 21:44:39 ID:MBbpYlqy]
>>393-395
早レスありがとうございます。
でもチェーンフラッシュの直後に追加して試してみましたがやっぱり駄目でした。
私の環境の場合、ルータAのネットワーク内からのアクセスは大丈夫で
ルータBのネットワークからだと駄目なので、書く場所とか書き方に少し
工夫が必要なのでしょうか?教えてクンですみません。



397 名前:login:Penguin mailto:sage [2007/09/02(日) 22:08:00 ID:xFZ3sRLE]
>>396
今のルールセットじゃ無理だろう。
FORWARDチェインの冒頭に入れてみれ。

398 名前:login:Penguin [2007/09/02(日) 23:55:12 ID:4sOAdWya]
>>397
今試せない状況なので追加質問だけさせて下さい。
繰り返しの説明になりますが、
>>392の設定でもルータAのネットワークからのアクセスは大丈夫なんです。
さらにもう一回マスカレードしているルータBのネットワークからのアクセス時
だけ駄目なんです。この場合も-o ppp0へのパケットの調整が有効でしょうか?

399 名前:login:Penguin mailto:sage [2007/09/03(月) 08:23:53 ID:kMimNQBM]
>>398
まずはやってみれ。

400 名前:はまってます [2007/09/04(火) 21:07:32 ID:ftQujwlz]
>>398
自己レスです。
--clamp-mss-to-pmtu では駄目で、 --set-mss 1452 で解決しました。

皆さんのレスが、何か私の環境を考慮してくれていないなあ
と思っていたのですが、私の>>391に大事な説明が抜けていたからだと思います。

後で>>396にちょっと書いたのですが、
TCPSSの設定をしなくてもルーターAのネットワークでは元々問題ありませんでした。
私のpppoe環境のMTUは1492ですが、ルータAのネットワーク内の各クライアント(Win,Linux)
は、それぞれpath MTU discoveryを働かせて正しく通信できていました。

問題が生じていたのはさらにもう一回IPマスカレードをかけた、ルータBのネットワーク内の
クライアントだけです。

ルーターBのネットワークのクライアントにとってルーターAは途中経路にあるルーターに
過ぎず、--clamp-mss-to-pmtu は意味がなかったのでしょう。

401 名前:はまってます mailto:sage [2007/09/04(火) 21:12:26 ID:ftQujwlz]
昨日はルーターBのネットワーク内の各クライアント
(Solaris, FreeBSD, Debian, Ubuntu, RedHatEL, Windows)にMTUを設定していました。
全部問題なく設定はできたのですが、今後面倒だなあと感じ、ルータAにNICを追加し
ようかなと思っていた矢先、固定値を設定したらどうかなと試してみたらうまくいきました。

402 名前:login:Penguin mailto:sage [2007/09/04(火) 21:13:31 ID:lCleCBg/]
>>400
ルータBでICMPをフィルタしていて「分割しなきゃダメだよ」というメッセージが
届けられてないのではないかと。

403 名前:login:Penguin [2007/09/04(火) 21:32:27 ID:nEQBaeKm]
ここ最近Megauploadというオンラインストレージ会社から強引にサーバ上にあるファイルを引っこ抜かれています
実質的なプロキシーサーバのようですが何かよい対策はありませんか?

404 名前:はまってます mailto:sage [2007/09/04(火) 21:33:34 ID:ftQujwlz]
>>402
そうです。ルータAのネットワーク内でping -f -lで調査すると
DFメッセージが帰ってきますが、
ルータBのネットワーク内で同じ調査した場合、パケットが
戻りません。

ルータBはプラネックスのBRL-04FWUという安ルータです。
カスタマイズが殆どできません。
以前、LAN内で使っているので「smbのパケットを落とさないように
できないか」とサポートにメールしたことありますが、返事さえ
帰ってきませんでした。

405 名前:login:Penguin mailto:sage [2007/09/18(火) 00:50:22 ID:IMwoI/q8]
つなぎたいIP、ポートを特定して設定した場合、

安心していいでしょうか。
なにか破られたりする場合があるのでしょうか?

406 名前:login:Penguin mailto:sage [2007/09/19(水) 09:47:23 ID:AI19ptTj]
>>405
まず一つめに注意すべきはソースアドレスは偽装可能であるということ。
TCPの場合はコネクションを張るために最低でも1往復のパケットが通るから、
偽装したパケットであれば相手にSYN+ACKが届いた段階で「知らねーよ」とRSTが
返される。それ以外の場合は片道だけで通信が成立してしまうことが多い
(上位層に依存するが)ので、偽装したパケットによって不正に通信を成立させることが
できてしまうかもしれない。

二つめは設定した発信元IPアドレスのマシンに侵入されてしまった場合が
ありうること。アドレスとポート番号だけでしかチェックしていないのであれば、
そのマシンに侵入された時点でもう一つのマシンも無防備になってしまう。



407 名前:login:Penguin mailto:sage [2007/09/19(水) 22:49:00 ID:TdpQYuo3]
ありがとうございます。

偽装したパケットの場合は
syn後、偽装IPに返事が返されると思うのですが、
攻撃者はその受け取りができるのでしょうか。


408 名前:login:Penguin mailto:sage [2007/09/20(木) 10:11:17 ID:YxtApnBM]
>>407
だからそれは>>406で書いてるだろ。
TCPであれば最低でも一往復の通信が正しく成立しないと動作しないから、
偽装したところでそれは意味を為さない。

409 名前:login:Penguin mailto:age [2007/09/25(火) 21:31:29 ID:6F26j5zh]
IPTABLESでwinnyの通信をさせなくしたいんですが、可能でしょうか?

410 名前:login:Penguin mailto:sage [2007/09/25(火) 21:44:25 ID:wLn1k+nl]
>>409
winnyはファイアウォールをかいくぐるために乱数でTCPポートを決定するため、
「これがWinny」と断定して通信を手段することは無理。

http proxyなどの中継サーバを介して外部と通信させ、IPレベルで外部と直接通信
できないような仕組みを作るべきだろう。

411 名前:login:penguin mailto:sage [2007/09/26(水) 00:20:20 ID:q+poyakW]
>409
>410氏も書いてあるとおり、LAN -> WAN は 許可したPC以外は DROP でOK?
許可したPC(XP)は、Winny が起動しないツールを入れて監視するか、制限ユーザに汁。

412 名前:login:Penguin mailto:sage [2007/10/16(火) 03:42:51 ID:mB8Oo12S]
うざい国からのアクセスを全て遮断スレより誘導されてきました。

pc11.2ch.net/test/read.cgi/mysv/1118726898/469-470
これを使わせていただき、日本以外からの接続を弾きたいと思っています。

pc11.2ch.net/test/read.cgi/mysv/1118726898/831
アドバイスをいただき上記のように手直しをした後、
下記のようにiptablesを設定し海外串を差して試したところ、
上手い具合に日本以外は弾いてくれたのですが、
同時にLAN内の他PCからhttp・ftp・sshへのアクセスも出来なくなってしまいました。

どこを手直しすればよいのでしょうか?
どうかお知恵をお貸し下さい。


countryfilter.plを書き換え、
filter.shを再作成した後に書き設定を行いました。

# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -s 127.0.0.1 -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -N CKFILTER
# source filter.sh
# iptables -A CKFILTER -j LOG --log-prefix "Rej-TCP "
# iptables -A CKFILTER -j DROP
# iptables -A INPUT -p tcp -m state --state NEW -j CKFILTER
# iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 20:21 -j ACCEPT
# iptables -A INPUT -p tcp -i eth0 -s 192.168.0.0/24 --dport 50000:50029 -j ACCEPT
# iptables -P INPUT DROP

413 名前:login:Penguin mailto:sage [2007/10/16(火) 08:52:57 ID:JaL0o8rc]
countryfilter.pl から生成された filter.sh の抜粋を貼ってくれ。
途中の IP アドレスをダラダラ記述した部分は不要だから。

414 名前:login:Penguin mailto:sage [2007/10/16(火) 09:49:00 ID:mB8Oo12S]
レスありがとうございます。
filter.shは下記のようになっていました。


#!/bin/sh

# Country based filter from *NIC database.
# For APNIC, get from ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest .
# Created: Mon Oct 15 21:04:13 2007
#
# This filter detects access from contries;
# JP

# variables. change these values before run.
IPTABLES=/sbin/iptables
FILTERNAME=CKFILTER
TARGET=RETURN

# Database version 20071015
$IPTABLES -A $FILTERNAME -s 58.0.0.0/15 -j $TARGET
(以下IP羅列が1800行くらいまで続いてます)

415 名前:login:Penguin mailto:sage [2007/10/16(火) 23:19:57 ID:JaL0o8rc]
これ見ただけだと問題なさそうだけど・・

先頭以外でポリシー書いてるスクリプトを
そのまま使ってるのが気になる。
初めにルールの初期化してる?(-F だったか。)

そこに問題が内容であれば、度々であれなんだが、
# iptables-save > filter-rule.txt
とでもして、filter-rule.txt をいい感じに抜粋したのを貼ってもらえると
アドバイス出来るかも知れない。

416 名前:login:Penguin mailto:sage [2007/10/16(火) 23:41:14 ID:mB8Oo12S]
レスありがとうございます。

うーん・・・問題ないですかorz
あと、設定をやり直す前には必ず-Fをしており、
-Lで確認しても全て許可と表示されています。
また、filter-rule.txtは以下のとおりです。

# Generated by iptables-save v1.3.6 on Tue Oct 16 23:29:52 2007
*filter
:INPUT DROP [23:2358]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [142:9836]
:CKFILTER - [0:0]
-A INPUT -s 127.0.0.1 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -j CKFILTER
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 20:21 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 50000:50029 -j ACCEPT
-A CKFILTER -s 58.0.0.0/255.254.0.0 -j RETURN
-A CKFILTER -s 58.3.0.0/255.255.128.0 -j RETURN
(以下IP羅列が1800行くらいまで〜省略)
-A CKFILTER -s 222.231.64.0/255.255.192.0 -j RETURN
-A CKFILTER -s 222.231.128.0/255.255.128.0 -j RETURN
-A CKFILTER -j LOG --log-prefix "Rej-TCP "
-A CKFILTER -j DROP
COMMIT
# Completed on Tue Oct 16 23:29:52 2007



417 名前:login:Penguin mailto:sage [2007/10/17(水) 00:03:00 ID:vmGHd6pV]
わけわかんねー状態で外とつないで怖くないのか?
「うざい国」以前にあんたのPCが「うざいマシン」になるかもだよ。

ログに何と出てる? (貼らなくていいよ)
そのログ出した後どうしてる?
何も出てないなら1行ごとにログ出すようにしてみろ
それも面倒ならiptables -L -vvでどのルールにひっかかったのか
調べられる。量が膨大になるならfilter.shを除いてみろ
丸投げやめて、少しぐらい頭使おーぜ

418 名前:login:Penguin [2007/10/17(水) 08:48:52 ID:D7VNNAnN]
どこの世界も、偉そうな奴はホント態度が偉そうだよな。何様?

419 名前:login:Penguin mailto:sage [2007/10/17(水) 10:10:47 ID:NFzvWXXg]
>418
俺様

420 名前:login:Penguin mailto:sage [2007/10/17(水) 10:16:45 ID:oO9YVbD6]
銀さまハァハァ

421 名前:login:Penguin mailto:sage [2007/10/18(木) 13:10:58 ID:v3qQ8OO3]
>>417
「うざい」レスだなぁw

422 名前:login:Penguin mailto:sage [2007/10/18(木) 16:09:39 ID:rMgHYbZo]
うざい奴をdrop  

423 名前:login:Penguin mailto:sage [2007/10/19(金) 01:37:05 ID:fKrRqDHD]
カーネルを2.6.23にするとmoblockが使えなくなるぞ
NFQUEUEがおかしいぽい


424 名前:login:Penguin [2007/10/19(金) 02:35:56 ID:Cz6QQ79V]
Xenの上でVistaを走らせてたいのですが
ファイヤーウォールの適用されるモードはどれなんでしょうか?
そのときガチガチに守れるテンプレートがあれば教えてください。
やりたいことはWEBとメールです。

425 名前:login:Penguin mailto:sage [2007/10/19(金) 08:57:50 ID:RvEMcjkh]
>>424
Xenの挙動理解してこい

426 名前:login:Penguin mailto:sage [2007/10/19(金) 15:59:02 ID:RvEMcjkh]
>>412
まだ見てるかな?
向こうのスレの831=836です

大ボケかましてた
このままだとプライベートIPがフィルタリングされてるね

CKFILTERチェインの作成と
filter.sh実行の直前に、プライベートIPもRETURNにしてみて

# iptables -N CKFILTER
# iptables -A CKFILTER -s 192.168.0.0/24 -j RETURN
# source filter.sh
# iptables -A CKFILTER -j LOG --log-prefix "Rej-TCP "
# iptables -A CKFILTER -j DROP



427 名前:真剣です。 [2007/10/20(土) 05:32:21 ID:Ln9PiS8q]
>>425様へ
厳しい、言い方の中に答えを見出しました。
つまり出来ないということですね?
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20061010/250215/?P=1&ST=virtual
こちらを見て出来る可能性があるのではと思いました。
質問を代えます。1台のPCでFedora7のファイヤーオールを適用してVista
を動かせないでしょうか?

428 名前:login:Penguin mailto:sage [2007/10/20(土) 07:22:16 ID:ZpN5JaDu]
質問の仕方から想像するに、仮想化をまったく理解していないとみた。
ファイヤーウォールと仮想化は直接には関係ない。

というか、ホストマシンがファイヤーウォールで通信制限されてたらゲストマシンも普通されるけど。
# ファイヤーウォール側でアプリケーションごとのうんたらとか、細かいことをいろいろやっていると、
# 思ったとおりにきちんと通信を遮ってくれないとか悩むかもしれないが(ちゃんと指定した通りに動いているよ!)まぁそれはそれで

VMwareとVista Enterpriseを導入してVMwareの設定をNATモードとかなんとかに設定しておけば充分では?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef