[過去ログ] 【鉄壁】iptablesの使い方 3【ファイアウォール】 (995レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
321: 2007/04/27(金) 21:06:39 ID:xjr/suIm(1)調 AAS
もちろん、全てのサーバに対する最適値を質問しているのではありません。
自分のサイトに対するアクセス数などの要因が絡んでいる事は理解しています。

その上で、最適値の目安をつける方法をしりたいというお話です。
322: 2007/04/28(土) 00:35:34 ID:nkc2+CFz(1)調 AAS
下記の設定を追加してみたのですが、動作確認をする方法はありますか?

$IPTABLES -N syn-flood
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 8 -j RETURN
$IPTABLES -A syn-flood -j LOG --log-prefix "Warning! syn flood:"
$IPTABLES -A syn-flood -j DROP
323: 2007/04/29(日) 20:41:31 ID:TA2dVdQ7(1)調 AAS
あります
324
(1): 2007/05/20(日) 21:36:26 ID:91gxU4C0(1)調 AAS
>>316-317を参考にして、2.4系から2.6.20にあげたんだけど、起動時
に(起動後手動でやっても)一部のルールで、
iptables: Too many levels of symbolic links
って出るんですけど、このsymbolic linkって、ファイルシステムのそれ
じゃないんでしょうか。

あと、
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -j MASQUERADE
とかやってるんですけど、内側から一部のサイト(www.noaa.govとか@IT)がみられな
かったり、内側のPS3からPlaystation Networkに繋がらなくなってしまいました。
どのへんをチェックすればいいんでしょう。
325
(1): 2007/05/21(月) 06:08:43 ID:kVyes7gq(1)調 AAS
>>324

>内側から一部のサイト(www.noaa.govとか@IT)がみられな

外部リンク[html]:www.linux.or.jp
326: 2007/05/21(月) 07:49:58 ID:Zk1DSv/I(1)調 AAS
>>325
おお、ありがとうございます!ばっちり解決しました。
327
(1): 2007/05/27(日) 15:39:23 ID:OG+sq2nw(1)調 AAS
iptablesでapacheのlimitipconnみたいなことはできますか?
できるならぜひ教えてもらいたいのですが
328
(2): 2007/05/28(月) 23:11:18 ID:sHIi1tok(1)調 AAS
iptablesの設定でいろんなサイトを見ていたのですが
ppp0とかppp+とか出てきてわかりませんでした。
ppp0とかppp+って何ですか?
329: 2007/05/29(火) 00:01:07 ID:nHY4srpO(1/2)調 AAS
>>327
connlimit で出来る、かも知れない。
(サポートしてないかもしれない。)
330: 2007/05/29(火) 00:19:58 ID:z8TDg4YQ(1)調 AAS
>>328
それこそググれよ。
331: 328 2007/05/29(火) 03:10:29 ID:/srE7Qjl(1)調 AAS
すみません。
書かなくてもみなさんわかると思ったので書きませんでしたが
ググってわからなかったので質問しました。
332: 2007/05/29(火) 06:02:59 ID:nHY4srpO(2/2)調 AAS
ppp0 とか ppp1 ってのは PPP 接続インターフェースの名前で、
ifconfig した時に、eth0 や lo と一緒に出てくる。(設定してれば。)

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

ppp+ はアクティブなPPPインターフェースのどれか。
333
(5): 2007/06/04(月) 16:54:55 ID:/R0JhaQ8(1)調 AAS
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
(1): 2007/06/04(月) 19:34:14 ID:i9lW+1Uc(1)調 AAS
>>333
(1) "eth1の" ではなくて "NATルータの" な。
  デフォルトゲートウエイはマシン単位で設定するものであって、
  ネットワークカード単位で設定するものではない。

(2) "--to" ではなくて "--to-source" だな。
335
(1): 2007/06/06(水) 12:19:16 ID:YI/fHvZq(1/2)調 AAS
>>333
なんで2重にNATするの?
せっかくルータがあるのに。
336
(1): 333 2007/06/06(水) 15:09:10 ID:YJltEUYM(1)調 AAS
>>334,335
レスありがとうございます。
社内NWで、NWを切り分ける必要があるからです。

・・・試そうとしたらクロスケーブルがないorz
337: login:penguin 2007/06/06(水) 15:57:04 ID:VIR6ggRn(1)調 AAS
VLAN 対応のハブにしたら?
338: 2007/06/06(水) 17:38:32 ID:YI/fHvZq(2/2)調 AAS
>>336
高機能ルータにしてVLANにしたほうが楽ですよ。

>>333
FORWARDもACCEPTしないといけないんじゃないかな。
339
(3): 2007/06/10(日) 03:43:27 ID:WfZdqta0(1/2)調 AAS
質問です。
krfilter のようなアジア地域に限った話ではなくて、
もっとほかの国々のIPアドレスもフィルタリングする方法ってないですか?
逆に日本だけOKとかでもいいんですが・・・
340
(1): 333 2007/06/10(日) 04:19:16 ID:bkLFd8zx(1)調 AAS
レスありがとうございました。
いろいろあってNAT計画はお流れになりました(笑

>>339
うちは 外部リンク:ftp.apnic.net を使っていますよ
341
(2): 2007/06/10(日) 19:55:39 ID:kdglMI9l(1)調 AAS
>>339
私はここのデータを使わせてもらってます。
外部リンク:nami.jp

>>340
APNICだけでは、足りないJPのアドレスがないですか?
342: 2007/06/10(日) 20:45:14 ID:VSk4UJi3(1)調 AAS
少しだけど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 2007/06/10(日) 21:47:57 ID:WfZdqta0(2/2)調 AAS
>>341
レスありがとうございます。

まさにこんなのを探してました。
今からawkの使い方を調べますw
344: 2007/06/12(火) 13:27:50 ID:bNzfVXjZ(1/3)調 AAS
すみません。教えて下さい。
現在、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
(1): 2007/06/12(火) 13:52:31 ID:bNzfVXjZ(2/3)調 AAS
OSはCentOSを使っています。
ものすごく初歩的なことなのですが教えて下さい。
iptableを書き換えて、-Lで確認すると、希望通りに変更されています。
その後、/etc/rc.d/init.d/iptable restart します。
しかし、書き換えた内容が反映されていないのですが、何か足りないものが
あるでしょうか?
346
(1): 2007/06/12(火) 14:07:51 ID:u4WFCFNn(1)調 AAS
>>345
restartする前に、
/etc/rc.d/init.d/iptable save
で保存せにゃ駄目なんじゃない?
これで/etc/sysconfig/iptablesあたりに現行のが保存されるはず‥

俺はiptablesの設定はrc.localに書いちゃう人なので良くわからない(苦笑
347
(1): 2007/06/12(火) 15:18:08 ID:Vd+dHR6r(1)調 AAS
>$IPTABLES -P INPUT ACCEPT
>$IPTABLES -P FORWARD DROP
>$IPTABLES -P OUTPUT ACCEPT

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

iptablesは上からよんでいく
そして、上にある方を、優先してポリシーを適用するという大前提がある
348: 2007/06/12(火) 15:59:34 ID:bNzfVXjZ(3/3)調 AAS
>>346
そのとおりでした。ありがとうございます。

>>347
素で間違えてました。ご指摘ありがとうございます。
349: 2007/07/04(水) 05:49:42 ID:AjHyf33g(1)調 AAS
保守age
350
(2): 2007/07/04(水) 11:09:43 ID:UK9QnhoX(1)調 AAS
Redhat 系では /etc/sysconfig/iptables に設定が置いてあって、
起動時にそれが rc 以下のスクリプトで反映されることに
なってますが、そもそも /etc/sysconfig/iptables って
system-config-securitylevel が作成するものですよね?

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

いままで Debian 系をメインで使っていたので、
まだ Redhat 系の流儀がわかっておりません。
できるだけ郷に入っては郷に従えで行きたいと思っています。
351: 2007/07/04(水) 11:19:00 ID:1/Qyerts(1)調 AAS
>>350
/etc/init.d/iptables save かな。
352: 350 2007/07/05(木) 07:20:59 ID:VsSiocxY(1)調 AAS
結局、system-config-securitylevel を使わない前提で
/etc/sysconfig/iptables をエディタで書き換えてます。
ときどき /etc/init.d/iptables save で別ファイルに保存して。
353: 2007/07/08(日) 10:24:06 ID:zYOCWUig(1)調 AAS
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: 2007/07/08(日) 12:12:05 ID:YCfVpWHt(1)調 AAS
たとえば掲示板か何かを公開した時に
掲示板スクリプトにセキュリティホールが存在して
(本来あってはならないことだが、しばしば起こりうる)
気づかぬうちにボットネットに参加してしまうかも知れない。
そういう時に RELATED と ESTABLISHED だけ許可しておいて
他は policy で DROP しておけば、犯罪ネットに貢献しないで済む。
355: 2007/07/10(火) 15:28:15 ID:U82mxVZP(1)調 AAS
通信を許可するポートを動的に変更する方法はありますか?
動的というか、IPアドレスではなくてホスト名で許可したいのですが。

例えば、自分のノートPCの出口のグローバルIPをダイナミックDNSとして
ホスト名が常に変更されるようになっている時、そのダイナミックDNSの
ホスト名から得られたIPアドレスは通信できるようにiptableを設定
したいのですが、そのような事はできますか?
356: 2007/07/10(火) 18:00:51 ID:zGJfejuy(1)調 AAS
macアドレス使うとか
357
(2): 2007/07/10(火) 20:30:31 ID:XPuS8ReG(1)調 AAS
iptables -t nat -A PREROUTING -d (グローバルIP) -p all -i ppp+ -j DNAT --to 192.168.0.2

みたいなのて、
プロバイダ割り当てIPがかわるたびに
やらなくちゃいけないでつか?
358: 2007/07/11(水) 11:03:28 ID:D3zZXJq+(1)調 AAS
>>357
うん。たとえFQDNで指定しても iptables コマンドを
実行した瞬間に名前解決されるわけだからね。
適当な Dynamic DNS に登録しておいて、
cron で定期的に iptables 設定しなおすとか。
359: 2007/07/11(水) 11:06:23 ID:nph/g5pi(1/2)調 AAS
全てのlog.は出てます。
360: amel [!(ΦyΦ+){秘密です。}] 2007/07/11(水) 11:07:41 ID:nph/g5pi(2/2)調 AAS
aaa
361: 2007/07/11(水) 11:14:47 ID:dikq2zGa(1)調 AAS
ほげ?
362: 2007/07/11(水) 18:13:44 ID:7rPXioeP(1)調 AAS
>>357
構成と何がやりたいのかによりけりだけど、
eth0 とか ppp0 とかのインターフェース指定じゃ無理なケース?
363: 2007/07/19(木) 10:13:27 ID:82b1F1Ds(1/2)調 AAS
>>341
そのページの説明を参考にiptablesを設定すると何千行にもなるんだけど、そんなもの?
今のところ普通に動いてるから、いいのかな?
364
(1): 2007/07/19(木) 10:58:27 ID:PmENbhRL(1)調 AAS
うちの場合こんな感じだ。

$ sudo iptables-save | wc --lines
1856

手で個別に入れたルールが70くらい。
残りは特定アジアのIPアドレスを対象に自動生成した
-A INPUT -s xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx -j BAD-INPUT
こんなやつばかり。
365: 2007/07/19(木) 11:20:33 ID:82b1F1Ds(2/2)調 AAS
>>364
レスthx、安心した。
wgetとcronで勝手に更新するようにしてみたんだけど、行数の多さに不安になってたのよ。
366
(1): 2007/07/19(木) 21:57:13 ID:uF7HBJve(1)調 AAS
firestarterで受信全閉め、送信全閉めand一部開けにしてる俺は
ダメな奴でしょうか?
やっぱ、色々やらんとダメなんですか?
367
(1): 2007/07/19(木) 23:44:47 ID:C5Hsn39j(1)調 AAS
コマンド叩いてるけど俺も同じような感じだよ!
開けてるのはhttp,https,ftpだけだったり
368: 2007/07/24(火) 17:15:59 ID:ShS11Qps(1)調 AAS
firestarterの日本語訳って少し変
369
(1): login:penguin 2007/07/24(火) 20:22:39 ID:XmHSl5AF(1)調 AAS
>366-367
素朴な疑問です。例えば、http(80),https(443),ftp(21)以外は、送受とも全閉め…の場合、
そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック
されるんでしょうか?
370: 2007/07/25(水) 08:42:24 ID:BPmm4tyb(1)調 AAS
>>369
> そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック

意味不明。

単にポートだけでOUTPUT側をフィルタした場合、当たり前だが1024以上も対象になる。
なのでiptablesのconntrackモジュールを併用してあげるといい。
371: 2007/07/25(水) 10:19:28 ID:c/4qaAtX(1)調 AAS
iptablesでアプリケーション単位で防ぐ事って出来ますか?

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

みたいな。
372: login:penguin 2007/07/25(水) 13:55:46 ID:nEhKGnnq(1/2)調 AAS
アプリケーション使うPC上でなら可能。つーかそれをFWと言うのでは?

経路上のポートからはアプリケーション判定は無理。
373
(2): 2007/07/25(水) 14:13:02 ID:0k5ibQId(1)調 AAS
> アプリケーション使うPC上でなら可能。

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

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

「Firefox のみ TCP 80番 送信をok」にしたいです。
374
(1): login:penguin 2007/07/25(水) 18:13:16 ID:nEhKGnnq(2/2)調 AAS
>373 スマソ。専用のFWを使ってね…と言う意味でした。iptables では無理。
375
(1): 2007/07/25(水) 19:58:26 ID:/D3x9F85(1)調 AAS
SELinux とかでパケットに印を付けて
その印を見て iptables や iproute で制御する事は可能らしい

やった事ないので確かなことは言えないが
376: 373 2007/07/25(水) 21:27:20 ID:OFMlwdEN(1)調 AAS
>>374
すまん、こっちも勘違いでした

>>375
なるほど、SELinuxですか
ちと調べてみます。ありがとん
377
(1): 2007/07/26(木) 07:48:38 ID:JylDrctM(1)調 AAS
--*id-owner系のオプションでなんとかならない?
378: 2007/07/26(木) 09:49:19 ID:YatnvMaY(1)調 AAS
>>377
シンプルなやり方としてはそれもアリだね。

ただコマンド名でしかマッチしないので、
同じ名前で全く別のプログラムがあったりすると区別できなくなってしまう。
(これはWindowsのアプリケーションファイアウォールでも同じことが言えるが)
379
(1): たけぼん 2007/07/29(日) 05:56:27 ID:5YjE0kTR(1)調 AAS
基本的な質問ですみません。
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: 名無しさん@そうだ選挙に行こう 2007/07/29(日) 10:53:02 ID:BPAu8N6C(1)調 AAS
>>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(1/3)調 AAS
名無しさん、ありがとうございました。
382
(1): たけぼん 2007/07/30(月) 13:49:51 ID:82MghHmK(2/3)調 AAS
-dの後の0/0て何ですか?初めて見ました。
383: 2007/07/30(月) 13:54:13 ID:wIebROn1(1)調 AAS
>>382
0.0.0.0/0 と同じ意味。要はIPv4アドレス全て。
384: たけぼん 2007/07/30(月) 15:46:34 ID:82MghHmK(3/3)調 AAS
ありがとうございます。
385: 2007/08/01(水) 13:45:52 ID:xTh2AlOO(1)調 AA×

386
(2): 2007/08/03(金) 19:33:17 ID:NtWU9CUf(1/2)調 AAS
stateマッチのINVALIDって、実際には何がINVALIDになるんかな。

外部リンク[html]:www.asahi-net.or.jp
外部リンク[html]:www.asahi-net.or.jp
に大まかには書いてあるけど、詳細がわからん。
例えばTCPで、新規じゃないけどESTABLISHEDではなくINVALIDになるのは
どういうときか、とか。もしかしてチェックサム不正だけ?
387
(1): 2007/08/03(金) 20:51:40 ID:wc/AKMVD(1/2)調 AAS
>>386
よくあるのがセッション乗っ取り目的の偽装TCPパケットだな。
SYNを送受信してないのにいきなりACKフラグだけ立ったTCPパケットが来たりすると
INVALIDになる。
388
(1): 386 2007/08/03(金) 21:12:34 ID:NtWU9CUf(2/2)調 AAS
>>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
(1): 2007/08/03(金) 22:02:17 ID:wc/AKMVD(2/2)調 AAS
>>388
TCPヘッダの現在の状態を見て明らかに無効なパケットであれば
NEWではなくてINVALIDだよ。
390: 2007/08/31(金) 01:30:48 ID:/QsvseIU(1)調 AAS
>>389
どこからか明らかかってのはありますが、結構 INVALID じゃなくて NEW になる
こともあるとか。なので、どこぞの HOWTO だか FAQ には、TCP の場合はちゃんと
フラグも調べるようにと書いてあったような。

うろ覚えですまん。
391
(3): はまってます 2007/09/02(日) 18:24:13 ID:MBbpYlqy(1/3)調 AAS
ある環境の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
(1): はまってます 2007/09/02(日) 18:31:00 ID:MBbpYlqy(2/3)調 AAS
ルーター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
(1): 2007/09/02(日) 18:43:25 ID:xFZ3sRLE(1/2)調 AAS
>>391
エラーメッセージは略さず書け。
あとpppoeってことは例によってMTU問題(特にpath MTU discovery)ではないのか?

試してみれ。
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
394
(1): 2007/09/02(日) 18:52:17 ID:noS94zlb(1/2)調 AAS
>>391
iptables -A FORWARD -p tcp--tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
395
(1): 2007/09/02(日) 18:54:09 ID:noS94zlb(2/2)調 AAS
げ、393氏かぶったすまそ。よくみるともれの間違ってるな・・・。

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

多分これでいけると思うけど。
396
(2): はまってます 2007/09/02(日) 21:44:39 ID:MBbpYlqy(3/3)調 AAS
>>393-395
早レスありがとうございます。
でもチェーンフラッシュの直後に追加して試してみましたがやっぱり駄目でした。
私の環境の場合、ルータAのネットワーク内からのアクセスは大丈夫で
ルータBのネットワークからだと駄目なので、書く場所とか書き方に少し
工夫が必要なのでしょうか?教えてクンですみません。
397
(1): 2007/09/02(日) 22:08:00 ID:xFZ3sRLE(2/2)調 AAS
>>396
今のルールセットじゃ無理だろう。
FORWARDチェインの冒頭に入れてみれ。
398
(2): 2007/09/02(日) 23:55:12 ID:4sOAdWya(1)調 AAS
>>397
今試せない状況なので追加質問だけさせて下さい。
繰り返しの説明になりますが、
>>392の設定でもルータAのネットワークからのアクセスは大丈夫なんです。
さらにもう一回マスカレードしているルータBのネットワークからのアクセス時
だけ駄目なんです。この場合も-o ppp0へのパケットの調整が有効でしょうか?
399: 2007/09/03(月) 08:23:53 ID:kMimNQBM(1)調 AAS
>>398
まずはやってみれ。
400
(1): はまってます 2007/09/04(火) 21:07:32 ID:ftQujwlz(1/3)調 AAS
>>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: はまってます 2007/09/04(火) 21:12:26 ID:ftQujwlz(2/3)調 AAS
昨日はルーターBのネットワーク内の各クライアント
(Solaris, FreeBSD, Debian, Ubuntu, RedHatEL, Windows)にMTUを設定していました。
全部問題なく設定はできたのですが、今後面倒だなあと感じ、ルータAにNICを追加し
ようかなと思っていた矢先、固定値を設定したらどうかなと試してみたらうまくいきました。
402
(1): 2007/09/04(火) 21:13:31 ID:lCleCBg/(1)調 AAS
>>400
ルータBでICMPをフィルタしていて「分割しなきゃダメだよ」というメッセージが
届けられてないのではないかと。
403: 2007/09/04(火) 21:32:27 ID:nEQBaeKm(1)調 AAS
ここ最近Megauploadというオンラインストレージ会社から強引にサーバ上にあるファイルを引っこ抜かれています
実質的なプロキシーサーバのようですが何かよい対策はありませんか?
404: はまってます 2007/09/04(火) 21:33:34 ID:ftQujwlz(3/3)調 AAS
>>402
そうです。ルータAのネットワーク内でping -f -lで調査すると
DFメッセージが帰ってきますが、
ルータBのネットワーク内で同じ調査した場合、パケットが
戻りません。

ルータBはプラネックスのBRL-04FWUという安ルータです。
カスタマイズが殆どできません。
以前、LAN内で使っているので「smbのパケットを落とさないように
できないか」とサポートにメールしたことありますが、返事さえ
帰ってきませんでした。
405
(1): 2007/09/18(火) 00:50:22 ID:IMwoI/q8(1)調 AAS
つなぎたいIP、ポートを特定して設定した場合、

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

二つめは設定した発信元IPアドレスのマシンに侵入されてしまった場合が
ありうること。アドレスとポート番号だけでしかチェックしていないのであれば、
そのマシンに侵入された時点でもう一つのマシンも無防備になってしまう。
407
(1): 2007/09/19(水) 22:49:00 ID:TdpQYuo3(1)調 AAS
ありがとうございます。

偽装したパケットの場合は
syn後、偽装IPに返事が返されると思うのですが、
攻撃者はその受け取りができるのでしょうか。
408: 2007/09/20(木) 10:11:17 ID:YxtApnBM(1)調 AAS
>>407
だからそれは>>406で書いてるだろ。
TCPであれば最低でも一往復の通信が正しく成立しないと動作しないから、
偽装したところでそれは意味を為さない。
409
(2): [age] 2007/09/25(火) 21:31:29 ID:6F26j5zh(1)調 AAS
IPTABLESでwinnyの通信をさせなくしたいんですが、可能でしょうか?
410
(1): 2007/09/25(火) 21:44:25 ID:wLn1k+nl(1)調 AAS
>>409
winnyはファイアウォールをかいくぐるために乱数でTCPポートを決定するため、
「これがWinny」と断定して通信を手段することは無理。

http proxyなどの中継サーバを介して外部と通信させ、IPレベルで外部と直接通信
できないような仕組みを作るべきだろう。
411: login:penguin 2007/09/26(水) 00:20:20 ID:q+poyakW(1)調 AAS
>409
>410氏も書いてあるとおり、LAN -> WAN は 許可したPC以外は DROP でOK?
許可したPC(XP)は、Winny が起動しないツールを入れて監視するか、制限ユーザに汁。
412
(1): 2007/10/16(火) 03:42:51 ID:mB8Oo12S(1/3)調 AAS
うざい国からのアクセスを全て遮断スレより誘導されてきました。

2chスレ:mysv
これを使わせていただき、日本以外からの接続を弾きたいと思っています。

2chスレ:mysv
アドバイスをいただき上記のように手直しをした後、
下記のように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: 2007/10/16(火) 08:52:57 ID:JaL0o8rc(1/2)調 AAS
countryfilter.pl から生成された filter.sh の抜粋を貼ってくれ。
途中の IP アドレスをダラダラ記述した部分は不要だから。
414: 2007/10/16(火) 09:49:00 ID:mB8Oo12S(2/3)調 AAS
レスありがとうございます。
filter.shは下記のようになっていました。

#!/bin/sh

# Country based filter from *NIC database.
# For APNIC, get from 外部リンク:ftp.apnic.net .
# 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: 2007/10/16(火) 23:19:57 ID:JaL0o8rc(2/2)調 AAS
これ見ただけだと問題なさそうだけど・・

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

そこに問題が内容であれば、度々であれなんだが、
# iptables-save > filter-rule.txt
とでもして、filter-rule.txt をいい感じに抜粋したのを貼ってもらえると
アドバイス出来るかも知れない。
416: 2007/10/16(火) 23:41:14 ID:mB8Oo12S(3/3)調 AAS
レスありがとうございます。

うーん・・・問題ないですか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
(1): 2007/10/17(水) 00:03:00 ID:vmGHd6pV(1)調 AAS
わけわかんねー状態で外とつないで怖くないのか?
「うざい国」以前にあんたのPCが「うざいマシン」になるかもだよ。

ログに何と出てる? (貼らなくていいよ)
そのログ出した後どうしてる?
何も出てないなら1行ごとにログ出すようにしてみろ
それも面倒ならiptables -L -vvでどのルールにひっかかったのか
調べられる。量が膨大になるならfilter.shを除いてみろ
丸投げやめて、少しぐらい頭使おーぜ
418
(1): 2007/10/17(水) 08:48:52 ID:D7VNNAnN(1)調 AAS
どこの世界も、偉そうな奴はホント態度が偉そうだよな。何様?
419: 2007/10/17(水) 10:10:47 ID:NFzvWXXg(1)調 AAS
>418
俺様
420: 2007/10/17(水) 10:16:45 ID:oO9YVbD6(1)調 AAS
銀さまハァハァ
421: 2007/10/18(木) 13:10:58 ID:v3qQ8OO3(1)調 AAS
>>417
「うざい」レスだなぁw
422: 2007/10/18(木) 16:09:39 ID:rMgHYbZo(1)調 AAS
うざい奴をdrop  
423: 2007/10/19(金) 01:37:05 ID:fKrRqDHD(1)調 AAS
カーネルを2.6.23にするとmoblockが使えなくなるぞ
NFQUEUEがおかしいぽい
424
(2): 2007/10/19(金) 02:35:56 ID:Cz6QQ79V(1)調 AAS
Xenの上でVistaを走らせてたいのですが
ファイヤーウォールの適用されるモードはどれなんでしょうか?
そのときガチガチに守れるテンプレートがあれば教えてください。
やりたいことはWEBとメールです。
425
(1): 2007/10/19(金) 08:57:50 ID:RvEMcjkh(1/2)調 AAS
>>424
Xenの挙動理解してこい
426: 2007/10/19(金) 15:59:02 ID:RvEMcjkh(2/2)調 AAS
>>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
(1): 真剣です。 2007/10/20(土) 05:32:21 ID:Ln9PiS8q(1/2)調 AAS
>>425様へ
厳しい、言い方の中に答えを見出しました。
つまり出来ないということですね?
外部リンク:itpro.nikkeibp.co.jp
こちらを見て出来る可能性があるのではと思いました。
質問を代えます。1台のPCでFedora7のファイヤーオールを適用してVista
を動かせないでしょうか?
428: 2007/10/20(土) 07:22:16 ID:ZpN5JaDu(1)調 AAS
質問の仕方から想像するに、仮想化をまったく理解していないとみた。
ファイヤーウォールと仮想化は直接には関係ない。

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

VMwareとVista Enterpriseを導入してVMwareの設定をNATモードとかなんとかに設定しておけば充分では?
429: 2007/10/20(土) 09:38:02 ID:titCb4KC(1)調 AAS
>>424がセキュリティ考えても良くはならない希ガス
430
(1): 2007/10/20(土) 11:31:05 ID:1bReyt4O(1)調 AAS
>>427
できる
431: 2007/10/20(土) 13:06:08 ID:rqJkme3V(1)調 AAS
Fedoraをルーター代わりのブリッジにすればいいんじゃねぇ?

>ファイヤーオール
クソワロタ
432: 真剣です。 2007/10/20(土) 13:34:26 ID:Ln9PiS8q(2/2)調 AAS
皆さんありがとうございます。
>>430さんへ431さんの言うとうり
ドメイン0経由ブリッジというのが可能なのですか?
それともVMwareならそのままOKということでしょうか?
モードすらよくわっかていないのですが、ここがはじめの一歩なんです。
誰かもう一声ください。
433: 2007/10/20(土) 17:24:40 ID:F9L9feWR(1)調 AAS
つながればいいのならNATでいいんじゃね
434: 2007/10/21(日) 14:28:51 ID:ugqBpt5b(1)調 AAS
VistaのPFWは随分マシって聞いたぞ
そのまま使えばいいんじゃないの?

ホストOS側でiptablesで制限かけるのって
そもそも、仮想化としてはおかしい気がする
435: 2007/10/21(日) 15:04:00 ID:fUKGOJu+(1/2)調 AAS
ホストマシンすなわちルータとして扱いたいつーか、考えればいいんだろうな
そこで一元管理していれば、いちいち仮想(下層?w)マシンでFWとか考えずに済む
436: 2007/10/21(日) 15:09:08 ID:fUKGOJu+(2/2)調 AAS
ホストOSなしで仮想化してくる事も(いまに)出来るだろうけど、(今回)それは考えないって事でw

うち今鯖4つ建ててるんだけど、いちいちアクセス制限管理してるのめんどくさすぎる。
ルータが欲しいけど、これって5つめの鯖を建てなきゃならないって事だよね………orz
仮想化出来てる奴が羨ましい。
437: 質問 2007/10/21(日) 15:16:21 ID:KkCVzm+C(1)調 AAS
iptablesの勉強中なんですが、
今見ている2冊の本に、
iptables -P INPUT DROP
を設定してから、許可するルールを作成していくということが書かれているわけですが、
実際上記の設定をしたとたん、
sshでの接続はもちろん、linuxが起動しているローカルPCでもbashの起動、電卓やブラウザの起動までも
できなくなります。(結局再起動でiptablesの設定を初期化)
なにがまずいのでしょうか?
438: 2007/10/22(月) 18:32:33 ID:b+3+SL2w(1)調 AAS
lo
439: 2007/10/22(月) 21:25:16 ID:zx8b4vdE(1)調 AAS
そんなダメな本は晒せよ
440: 2007/10/22(月) 23:10:20 ID:iO12OLhI(1)調 AAS
DROPでいきなり終了じゃんw
441: 2007/10/22(月) 23:26:31 ID:qzhWJQay(1)調 AAS
俺も
> iptables -P INPUT DROP
してるが問題ないよ
その後のアクセス許可がおかしいんじゃないの
442: 2007/10/23(火) 00:07:33 ID:AFNajVwL(1)調 AAS
> その後のアクセス許可
についてきちんと書いてないって話をしてるんじゃなかろうか。
(実は本にはきちんと書いてあるのに 437 が理解してないだけの可能性もある。)
そりゃポリシーは DROP にするのが普通だよ。
443: 2007/10/23(火) 00:45:51 ID:6dav7CS2(1)調 AAS
最近の RHEL は INPUT のデフォルトを ACCEPT にして
最後に -j REJECT --reject-with icmp-host-prohibited しとるが、
あれってどうなんだろう?

遅いマシン使ってると、デフォルト ACCEPT のルールが投入されてから、
最後の -j REJECT が投入されるまでの間、INPUT 入り放題?
とか心配したんだが、素人の杞憂?
444: 2007/10/23(火) 01:19:18 ID:7Gy/yl8a(1)調 AAS
ポリシーをACCEPTにしたら拒否するルールをずらずら並べるもんずら
445
(1): 2007/10/23(火) 01:27:44 ID:nWZglh6T(1/2)調 AAS
質問させてください。

iptables -A INPUT -f -j LOG --log-prefix 'IPTABLES LOG:'
このようにしてるのですがIPTABLESのログが画面に出力されてしまいます。
画面に出力しないようにしたいのですがどうしたらいいでしょうか?
よろしくお願いします。
446
(1): 2007/10/23(火) 01:34:56 ID:nWZglh6T(2/2)調 AAS
>>445です。ミスりましたので訂正。

iptables -A droplog -j LOG --log-level info --log-prefix "LOG : "
このようにしてるのですがIPTABLESのログが画面に出力されてしまいます。
画面に出力しないようにしたいのですがどうしたらいいでしょうか?
よろしくお願いします。
447: 2007/10/24(水) 00:08:48 ID:SbBD4pB3(1)調 AAS
iptables -A INPUT -j LOG --log-prefix "iptables: "
うちの環境だとこれで/var/log/messagesにずらずらとログが吐き出されてるよー。
1-
あと 548 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.027s