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

このエントリーをはてなブックマークに追加
1login:Penguin
iptablesを使って素敵なファイアウォールとか、
快速ルータを作ったりするために、
情報を出し合うスレ

前スレ
おい、iptablesの使い方を(ry その2
http://pc8.2ch.net/test/read.cgi/linux/1079277604/l50
2login:Penguin:2006/01/07(土) 09:44:55 ID:vkMct5Pt
3login:Penguin:2006/01/07(土) 12:36:33 ID:ptqFsZE8
Manpage of IPTABLES
ttp://www.linux.or.jp/JM/html/iptables/man8/iptables.8.html
Linux・iptables・設定・ファイアウォール・セキュリティ
ttp://penguin.nakayosi.jp/linux/iptables.html
典型的(?)なパケットフィルタリングiptables の設定方法
ttp://tlec.linux.or.jp/docs/iptables.html
iptables でファイヤウォール - Linux で自宅サーバ
ttp://www.miloweb.net/iptables.html
第7回 Linux研究会 セキュリティ対策 iptables
ttp://www.mtc.pref.kyoto.jp/linux-ken/2003/security6.htm
netfilter/iptables FAQ
ttp://www.linux.or.jp/JF/JFdocs/netfilter-faq.html
Linux のソフトウェアファイアウォール (iptables) の設定方法
ttp://www.astec.co.jp/products/ASTECX/FAQ/iptables.html
ルーター設定メモ (iptables)
ttp://www.servj.com/pc/howto/rh73_3.html
Linux 2.4 Packet Filtering HOWTO: iptables を使う
ttp://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO-7.html
Linux Security - iptablesによるパケットフィルタリング
ttp://cyberam.dip.jp/linux_security/iptables.html
Linuxで作るファイアウォール[NAT設定編]
ttp://www.atmarkit.co.jp/flinux/rensai/security04/security04a.html
iptables - Hiroshi Ichisawa Wiki
ttp://www.comm.soft.iwate-pu.ac.jp/ichisawa/pukiwiki/pukiwiki.php?iptables
4login:Penguin:2006/01/07(土) 13:42:19 ID:dx6N2VIr
5前スレ953:2006/01/07(土) 15:03:04 ID:NozLc+wJ
sambaの共有設定で悩んでいたものですが、とりあえず下記の設定でできるようになりました。
まだツメが甘いですが、また時間をみてぼちぼち無駄をチェックしていきたいと思います

/sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.100 --dport 137 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 137 -s 192.168.0.100 --dport 137 -j ACCEPT

/sbin/iptables -A OUTPUT -p udp --sport 138 -d 192.168.0.100 --dport 138 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 138 -s 192.168.0.100 --dport 138 -j ACCEPT

/sbin/iptables -A OUTPUT -p tcp -d 192.168.0.100 --sport 139 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.0.100 --dport 139 -j ACCEPT

/sbin/iptables -A OUTPUT -p tcp -d 192.168.0.100 --dport 139 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.0.100 --sport 139 -j ACCEPT

/sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.255 --dport 137 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 137 -d 192.168.0.255 --dport 137 -j ACCEPT

/sbin/iptables -A OUTPUT -p udp --sport 138 -d 192.168.0.255 --dport 138 -j ACCEPT
/sbin/iptables -A INPUT -p udp --sport 138 -d 192.168.0.255 --dport 138 -j ACCEPT

/sbin/iptables -A INPUT -m state --state ESTABLISHE,RELATED -j ACCEPT

ポイントは、139番片側固定、片側anyになることと
ブロードキャストは137だけでなく138も必要なんだってことですた
#ESTABLISHEをはずしてもできるかな?
6login:Penguin:2006/01/07(土) 15:04:33 ID:NozLc+wJ
ちなみに接続できなくなってしまった職場のPCは未だ原因不明・・・
(実験用なんでまぁぼちぼちやっていきます
うまくいくようになったら仕事用PCのほうへ設定を移植する予定)
7login:Penguin:2006/01/07(土) 15:08:41 ID:NozLc+wJ
なんだかとっても低レベルな内容でお恥ずかしいデスタイ・・・スマソm(__)m
8login:Penguin:2006/01/07(土) 23:40:06 ID:lsNi6f0K
ESTABLISHE,RELATEDな行は最初に入力したほうがいいと思わなくもない。
9login:Penguin:2006/01/08(日) 17:15:31 ID:3Dz6uIVF
iptablesでポートスキャンを防ぎたいのですが、
FIN Xmas Null スキャンは
/sbin/iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
で防げるのですが、
TCP connect() スキャンと
TCP SYN スキャンを防ぐ方法を検討しています。

巷でよく見る

/sbin/iptables -N tcp-syn-scan
/sbin/iptables -A tcp-syn-scan -m limit --limit 1/s --limit-burst 4 -j RETURN
/sbin/iptables -A tcp-syn-scan -j LOG --log-prefix "tcp-syn-scan:"
/sbin/iptables -A tcp-syn-scan -j DROP
/sbin/iptables -A INPUT -i eth0 -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j tcp-syn-scan

をやっても実際にnmapで試してみるときちんとスキャンできてしまいます。
iptablesだけで防ぐのは不可能なのでしょうか?
10login:Penguin:2006/01/08(日) 17:19:08 ID:EozsQFUN
結論を言ってしまうと、防ぐ必要がない。無意味。
スキャンされてもそれが何か?って感じ。
11login:Penguin:2006/01/08(日) 17:53:23 ID:3Dz6uIVF
まあ実際使うポートだけ開けて、他は閉じておけば
開いてるポートのデーモンだけきちんと設定したり、
セキュリティホールチェックしておけば問題ないといえば問題ないけど
開いているポートがばれないに越したことはないかなーと
12login:Penguin:2006/01/10(火) 18:29:50 ID:tFkcXht9
どのみち解ろうが解るまいが直接つないでくるからな。
13login:Penguin:2006/01/10(火) 23:00:43 ID:tMTdjeO6
>>9
> --tcp-flags SYN,ACK,FIN,RST RST
SYN スキャンの場合、SYN|ACK に対して RST 返すので
それを拾ってるだけ。SYN|ACK が送られるのは開かれたポートに
SYN が来たときだけだからそんなに多くないはず。
1/s にひっかかるかどうか…。
それに、引っ掛かったとしてもある程度は通されるわけだし。

まぁ、どうしてもってなら knockd 使えや。
14login:Penguin:2006/01/10(火) 23:53:04 ID:3qVRzt+r
つーか本当にバレずにスキャンしようと思ったら数日から数週間かけてゆっくりやるけど、
そういう周到な攻撃が来るのならおまえらが何やっても無駄だからな。
15login:Penguin:2006/01/11(水) 10:07:31 ID:WTePKuQe
侵入検知と改ざん検知の2つも組み合わせてこそ意味があるからな、これ。
すり抜けられたことを警告できないシステムなんて防御の意味なさ杉。

iptablesだけ設定して満足してる奴などおらんはずだ。多分。SnortやTripwire併用してるよな。
16login:Penguin:2006/01/11(水) 12:46:05 ID:Mjaffih5
ハゲワラ
17login:Penguin:2006/01/11(水) 23:19:24 ID:tIGZExRq
面倒だからiptables使ってない。
何でも来い。
18login:Penguin:2006/01/12(木) 23:21:12 ID:yIERuXnC
過去ログ、どこかで見られませんか?特に前スレ。

すごい充実した内容だったので。。。
保存してなかった自分の愚かさに泣けてくる。
19login:Penguin:2006/01/13(金) 00:08:39 ID:y0elEd6f
2018:2006/01/13(金) 01:35:29 ID:AFhxZw92
>>19さん
多謝。助かりました。ありがとうございますた。
21login:Penguin:2006/01/15(日) 14:48:09 ID:RkmQBZOu
ebtablesも使ってあげてください
22login:Penguin:2006/01/18(水) 19:31:04 ID:tToObXaA
firestarter1.0.3とIPエイリアス(eth0:0)の組み合わせで、NATがちゃんと動いてる人いますか?
LAN内のPCはpingしか通らない状況。
設定ウィザードではeth0:0が出てこないので、一度sit0を指定して、/etc/firestarter/configurationを
書き換えてやってみたんだけど。
以前バージョン0.8とかの時代に同じようにIPエイリアスでやった時は、設定ウィザードでeth0:0指定して動いてたのに。

pingのみ通るってことは、icmpのみ通す設定になってる?
23login:Penguin:2006/01/25(水) 19:55:27 ID:xg2oZ9Q3
今までIIJmio(VDSL)でインターネットに接続してきましたが
先日Fiberbit(テプコ光)に乗り換えました。
それまで動作していたルータ(メルコ製WHR2-G54)でPPPOE接続をすると
何故か失敗し問い合わせても動作保証外と言われたため
Linuxマシンでルータを設定しました。

po-pppoeの設定や、最低限のiptableの設定は出来たのですが
同メーカー製ルータで実装されていたDMZ機能をiptablesで
再現する方法がわかりません。
よろしければご教授お願い致します。

・ここでのDMZとは
 アドレス変換を使用しているときに外部から変換先不明のIPパケットを
 LAN内のIPアドレスに転送するという事です。
 本来の意味とは若干違いますがご了承下さい。

internet --- ppp0(eth0 210.162.XXX.XXX)-[Linux Redhat 9.0]-eth2(192.168.0.1)---DMZ(192.168.0.10)

こんな感じでinternet側から宛先不明のIPパケットを192.168.0.10に転送しようと以下のような設定を
行いましたがうまく転送されませんでした。

iptables -t nat --PREROUTING -i ppp0 -j DNAT --to-destination 192.168.0.10
24login:Penguin:2006/01/25(水) 20:26:29 ID:FjeZvP0e
iptables -t nat -A PREROUTING -i ppp0 -j DNAT --to-dest 192.168.0.10
iptables -A FORWARD -s 192.168.0.10 -j ACCEPT

でどうね?
25login:Penguin:2006/01/25(水) 20:41:50 ID:yr3PQ5iE
ご教示と書いて欲しい
26login:Penguin:2006/01/26(木) 04:39:23 ID:0UK+vE8c
きょうじゅ けう― 【教授】<

(名)スル

(1) 0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。

(イ)専門的な学問・技芸を教えること。
「国文学を―する」「書道―」

(2) 0 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。
27login:Penguin:2006/01/26(木) 05:42:32 ID:aWkNV4gV
きょうオじ[1][0]ケウ―【教示】
―する 具体的に どうしたらいいかを教えること。
「ご―願いたい」
三省堂 『新明解国語辞典 第五版』
ttp://www.ctv.co.jp/omezame/newimg/prof/kikuchi_01.jpg

こっちはもっとお手軽なやつだ
28login:Penguin:2006/01/26(木) 05:52:58 ID:RnqITOKN
教授はレベルが高くて重責なので、安易に関われない。
教えてクレクレ程度にしてクレ。
29login:Penguin:2006/01/26(木) 17:40:02 ID:WuSQ56Qo
>>27
またローカルな・・・
30login:Penguin:2006/01/27(金) 09:33:22 ID:GlUU4BwY
>>24
これ書く場合は
ローカルで他のサーバが動いている場合、
先にそっちを書かないといけないかな。
31login:Penguin:2006/01/27(金) 20:58:45 ID:H1hLO2uT
そもそもポート指定も無しで、全パケットをDMZへ丸投げしたいのか?
32login:Penguin:2006/02/02(木) 10:40:50 ID:Fk729cMF
「教授」というのは口頭を含む文字情報による情報伝達法のこと。

対義語は、文字によらざる情報伝達法である「伝授」になる。
お釈迦様と摩訶迦葉の間の「拈華微笑(=以心伝心)」の故事が、これに相当する。
他にも、超能力者が自分と同じ能力を他人に与えることも「伝授」という。
33login:Penguin:2006/02/02(木) 12:13:56 ID:c7jGeXSc
PC関連の掲示板では基板→基盤、保証→保障、教示→教授等が
もはや多数派を占めているといっても過言じゃないな

指摘しても逆ギレされるのがオチ('A`)
34login:Penguin:2006/02/02(木) 12:22:15 ID:zryO2fWT
そんなことよりiptablesの設定の話しようぜー
ぶっちゃけどっちでも意味が伝わるからいいし
35login:Penguin:2006/02/04(土) 06:06:30 ID:H3nkfl8/
>>33
アホか?
いずれも両方使う場面がある言葉じゃねーか。
36login:Penguin:2006/02/09(木) 02:36:19 ID:NeonKn9W
iptablesを使ってwinny接続を弾くって事は出来ますか?
内部からのwinnyの接続を拒否したいです。
37login:Penguin:2006/02/09(木) 09:11:05 ID:u54kuXyO
LAN内のユーザに使わせたくないって言うこと?
38login:Penguin:2006/02/09(木) 09:18:28 ID:u54kuXyO
/sbin/iptables -A FORWARD -p tcp --dport 1123 -j DROP
かな?
それよりもデフォルトポリシーをDROPにして、
必要なHTTPとかSMTPとかPOP3とかだけ許可してあげた方がいいかな。
MSN Messengerのファイル転送とかリモートアシスタンスはUPnPでいけるし。
3938:2006/02/09(木) 09:19:39 ID:u54kuXyO
すまん、1123がwinnyで使うと思しきポートね
でもこれだと接続相手が規定のポート以外で動作させてると、
弾けないんだよね
40login:Penguin:2006/02/09(木) 10:43:54 ID:L3md9yAf
内側からのパケットも特定のポート以外全部DROPしちゃえば
41login:penguin:2006/02/09(木) 11:08:03 ID:XOuDLy2R
LAN内からWANへの一切のアクセスを止めないと無理。要はネット利用禁止。
HTTPポートでも利用できるし、特定のポート空けても無駄(みたいよ)

winny など p2p を止められると謳っている専用のファイアーウォール製品
じゃないと無理っぽいね。

こういうの開発した人って凄いよね。ミョーに感心してしまう。
42login:Penguin:2006/02/09(木) 11:27:33 ID:u54kuXyO
>>41
winnyで80で待ってる人あんましいないだろ、
なんだかんだみんな詳しく知らない知らないからデフォルトじゃね?

LANからWAN WANからLANへのパケットをキャプチャして、
winnyなりWinMxのプロトコルのヘッダ部分があったら弾くスクリプトでできそうじゃね?
43login:Penguin:2006/02/10(金) 02:10:20 ID:6R1+Xt+d
まず、ping がそのPCに対して通らないことを確認しました。

その後、下記の条件を追加しました。
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s -j ACCEPT

本来なら、5秒間に1回のPingのみを受理して欲しいのですが、
1秒で10回送っても全部帰ってきます。

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s -j ACCEPT をその後削除したら、
正しくPingはいっさい帰ってこなくなります。

どの指定の部分が間違っているのでしょうか?
4443:2006/02/10(金) 02:49:32 ID:6R1+Xt+d
実験の途中の一部で間違えて違うクライアントにPingしていたようです。

もう一度やり直したら正常に動作しました。
45login:Penguin:2006/02/10(金) 09:11:03 ID:g9viqx6n
>>43
それだと、1/5秒間に5回まで許可じゃない?
46login:Penguin:2006/02/11(土) 00:00:34 ID:AIDaqSit
firewall-1のほうがいい。
47login:Penguin:2006/02/11(土) 09:13:15 ID:Sp5Bdg5h
>45
1秒間に5回だと思うお。
48login:Penguin:2006/02/11(土) 12:24:07 ID:mCUt6lKC
1秒間に5回許可するにはどうすればいいんだろ。

0.2/s  ?
49login:Penguin:2006/02/11(土) 13:20:50 ID:0cVrDx46
>>47
http://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO-7.html

>iptables -A FORWARD -m limit -j LOG
これ見ると、
limitのデフォルトが20分(3/hour)で、limit-burstのデフォルトが5だから、
20分の間に5以上あったらそれ以降DROPって書いてあるけど、
どうなんだろ?

>>48
俺の見解だと
-m limit 1/s -j ACCEPT
5047:2006/02/11(土) 16:55:14 ID:Sp5Bdg5h
>49
ごめんなさい。まちがえました。
51login:Penguin:2006/02/12(日) 05:08:21 ID:7VrYtKU0
> -m limit 1/s -j ACCEPT
それだと、バーストの指定がされてないんで、
1/1000秒に5パケットでも止まらない。

-m limit --limit 12/m --limit-burst 1 -j ACCEPT

上の書き方をした場合、1パケット目は条件にマッチし、
その後5秒間(1/12分)はマッチしなくなる。

今までずっと動いてるものと思って確認してなかったんで、
実は動いてなかったら泣く。。。(;´Д⊂)
52login:Penguin:2006/02/12(日) 11:10:38 ID:MPTsoJ+a
>>51
limit-burst のデフォルトは 5
君のは5分間に1回しかじゃない?
俺がレスしたのは1秒間に5回なんだけど。
53login:Penguin:2006/02/12(日) 14:07:40 ID:7VrYtKU0
>>52
> 君のは5分間に1回しかじゃない?
それはどっから湧いてきた数字だ?

> 俺がレスしたのは1秒間に5回なんだけど。
そうはならないな。
54login:Penguin:2006/02/12(日) 14:21:34 ID:MPTsoJ+a
>>53
すまん
--limit 12/m

--limit 12/h
に見間違えた

>>48
>>49
55login:Penguin:2006/02/12(日) 14:34:33 ID:7VrYtKU0
>>54
前半は分かったけど、後半はどうなん?

> -m limit 1/s -j ACCEPT
これはあくまでも1秒間に1パケットの指定だろ?

--limit-burstが5だから、初めは5パケットまでいけるけど、
継続してパケットが到着した場合に、1秒間で1パケットしか
復活しないとなると、それは意図した動作じゃないのでは?
56login:Penguin:2006/02/12(日) 14:46:46 ID:MPTsoJ+a
>>55
え?君のは5秒間に1回のみ許可だと思うけど。
最初のパケットは、ACCEPTされるけど、5秒以内に同じパケットが来たら、別の処理だろ?
そして5秒に1度バーストが回復する。
つまり5秒に1度しか受け付けない。

だと思うんだけど、どこにその処理を求めるレスがあったのかがわからない。
57login:Penguin:2006/02/12(日) 14:50:20 ID:MPTsoJ+a
と言うことは1秒間に5回のみACCEPTというのは

-m limit 5/s -j ACCEPT
(-m limit 5/s --limit-burst 5 -j ACCEPT)

と言うのが正解?

これなら0.2秒でバーストが回復するから実質的に1秒間に5回って事かな
58login:Penguin:2006/02/12(日) 19:34:18 ID:7VrYtKU0
>>56
元ネタの提供は>>43ね。

> 本来なら、5秒間に1回のPingのみを受理して欲しいのですが、
↑これがそう。

で、それが解決する前に>>48が1秒間に5回の場合のネタ振って
話が逸れたけど、結局のところlimitの分かりにくさの話ではある。

>>57
そうそう、そういうこと。
59login:Penguin:2006/02/14(火) 17:40:39 ID:VGzO3A6v
iptabels用のシェルスクリプトが紛失している場合、現在saveしているフィルタリングの内容を
シェルスクリプトに生成しなおすような事って出来ないんでしょうか?
やっぱり-Lで表示しているのを元に書き直すしかないんでしょうか?
60login:Penguin:2006/02/14(火) 18:22:13 ID:hXccECX0
ものによるけどCentOSなら
/etc/sysconfig/iptables.save
が今セーブされているやつ
61login:Penguin:2006/02/15(水) 03:43:13 ID:I+2RE0fx
>>60
debianってそういうのある?
62login:Penguin:2006/02/15(水) 06:08:07 ID:U3aF0Irf
>>61
dabianいじったことないけど、
どこかしらに保存されているはず。
63login:Penguin:2006/02/15(水) 07:48:22 ID:hLM2TSS7
>>62
/var/lib/iptables/active
64login:Penguin:2006/02/15(水) 19:54:50 ID:pFaenui0
Webサーバのレスポンスが異常に悪いので、
何が原因か調べていました。

そうしたらなんと、

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -P INPUT DROP

こんな感じに、ポート80へのインバウンド接続の許可をやってませんでした。
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
これを追加したらはやくなったのですが・・・。


質問なのですが、何故、速度が非常に遅いだけでポート80へのアクセスを許可していないのにも関わらず、
Webサーバにつながったのでしょうか?

ご教示お願いします。
65login:Penguin:2006/02/15(水) 20:00:56 ID:BtY9uoRt
>>63
iptables の README.Debian (の 1. upgrade notes のとこ) 読んだほうがいいんじゃないか?
66login:Penguin:2006/02/15(水) 20:05:45 ID:PrFj9feQ
>>64
>iptables -A INPUT -i lo -j ACCEPT
127.0.0.1:80でコネクトしてない?
67 ◆/UXtw/S..2 :2006/02/15(水) 21:41:01 ID:lHSZilu7
>>64

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT

で、一定量の TCP 新規接続を許可してるから。
6864:2006/02/15(水) 21:43:24 ID:pFaenui0
>>66
ご回答ありがとうございます。

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

ポート80へのインバウンド接続の許可(iptables -A INPUT -p tcp --dport 80 -j ACCEPT)を行っていない状況でも、
この2行があれば非常に遅い(※1)ですが通信できましたが、この2行を削除したら完全に接続できなくなったようです。

※1
画像まで表示させるには大量のリロードが必要だったりページ自体へアクセスできる確率が半分以下だったり、
一般のブラウザで30秒近く表示されないこともある。

もっと実験したいところですが、実働しているサーバなので、これ以上実験するとまずそうですので、
実験環境を作っていろいろ試してみようと思います。
6964:2006/02/15(水) 21:47:39 ID:pFaenui0
>>67
ありがとうございます。
SYNフラッド対策としてその1行を加えるべきだという解説をしているサイトが結構あったので、
「Pingを1秒に1回許可する。」みたいに「SYNというPingみたいなもんを1秒に1回許可する。」ような設定だと勘違いしていました。
http://www.google.co.jp/search?hl=ja&q=%22iptables+-A+INPUT+-p+tcp+--syn+-m+limit+--limit+1%2Fs+-j+ACCEPT%22&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
70login:Penguin:2006/02/15(水) 22:12:38 ID:hLM2TSS7
>>65
woodyからdist-upgradeした場合ね。
71login:Penguin:2006/02/15(水) 22:16:20 ID:U3aF0Irf
>>69
iptablesでは 先に実行されたコマンドが優先されるから、
synフラッド対策のコマンドの前に
iptables -A INPUT -i eth0 -p tcp -m state --state NEW --destination-port 22 -j ACCEPT
(ただし、グローバルにつながっているデバイスがeth0)
すれば解決。
72login:Penguin:2006/02/15(水) 22:17:20 ID:U3aF0Irf
すまん上の 22 じゃsshだw 80に書き換えてね
73login:Penguin:2006/02/15(水) 23:28:09 ID:BtY9uoRt
>>70
いや、だから Sarge 以降のインストーラを使った人は
/var/lib/iptables/ というディレクトリ自体がないんじゃないの?
# うちは Woody から dist-upgrade したのばっかりだから確認してないけど、
# dpkg -L iptables を見たかぎりでは、ない。
つまり >>63 の回答はいささか不適切なのでは?
/var/lib/iptables/active があるのは、
/etc/init.d/iptables がある環境 (Sarge の iptables にはない) で、
sudo /etc/init.d/iptables save active (あるいは save_active) した場合でしょ。
>>61 への回答としては、「ない」というのがふさわしいかと。
自分で iptables-save 使わないかぎり、ないんだから。
README.Debian では /etc/iptables.up.rules (/etc/iptables.down.rules) を
使う例をあげたりもしてる (もちろんそのファイルは自分で作る)。
74login:Penguin:2006/02/16(木) 00:50:48 ID:K90nrbnE
>>73
woodyからって書いてあるじゃん
75login:Penguin:2006/02/16(木) 13:34:07 ID:Utn4ixIB
ではsarge以降の場合は?
7667 ◆/UXtw/S..2 :2006/02/16(木) 23:55:22 ID:e8JdZL9s
>>69

いいことを教えてやろう。

分かっている人は、わざわざ分かっているこ
とを www に作業の記録として残す必要がな
い。

だから、www に作業の記録として残ってるよ
うな情報の質なんて余り高くないと思って間
違いない。

というわけで、まずはちゃんと JF とか man
ページとか読んでくれ。
77login:Penguin:2006/02/17(金) 00:13:25 ID:8LJubZnx
>>76
俺アホだからけっこう忘れちゃうから、
テキストに残してるよ。
この値はこんな意味を持っていて、こういうときにいじると〜だとか。
プログラムだったらサンプルコードの専用のディレクトリ作ってそこに用途別に保存したり。
みんな忘れないもんなの?
78login:Penguin:2006/02/17(金) 00:27:07 ID:4hf1A87R
>>77
> みんな忘れないもんなの?
普通はスクリプトにして残しとくじゃん?

で、こないだディスク死んだときにバックアップ探したんだけど、
どうしても見つからなくて、慌てて一から書き直したがwwwwww
79login:Penguin:2006/02/17(金) 00:49:42 ID:8LJubZnx
>>78
あ、俺もiptablesに関してはスクリプトで残してる。
サーバとかは設定ファイルごと保存したり。
80login:Penguin:2006/02/17(金) 01:46:03 ID:MxIekRNL
RTFM
81login:Penguin:2006/02/17(金) 02:04:44 ID:8LJubZnx
>>80
はいはいワロスワロス
ドキュメントの自分が必要な部分をまとめて文書化してるだけですよ
82login:Penguin:2006/02/17(金) 02:53:36 ID:4hf1A87R
日本国内のMLや掲示板でRTFMとか書いてる低脳は放置で。
83login:Penguin:2006/02/17(金) 08:35:23 ID:MxIekRNL
なんて被害妄想なんだろうwww
84login:Penguin:2006/02/17(金) 15:55:54 ID:4hf1A87R
相手にされなかったことがそんなに悔しかったのか?
85login:Penguin:2006/02/17(金) 16:28:58 ID:MxIekRNL
悔しいもなにも、RTFM は >76 についてレスしたつもりだったんだけど。
Fine の意味でね。
それから、スクリプトを取っておく作業は誰でもやってることだし、自分もそうする。

いつも、そんな喧嘩ごしなの?
86login:Penguin:2006/02/17(金) 17:18:17 ID:4hf1A87R
RTFMに“Fine”の意味はありません。
誹謗中傷の次は見苦しい言い訳と論点ズラしですか?
87login:Penguin:2006/02/17(金) 17:28:26 ID:E5lP6Xlb
fの意味するところは諸説あるが、実際に使われるケースの殆んどはあの単語だ罠
88login:Penguin:2006/02/17(金) 18:22:13 ID:MxIekRNL
>86
ごめんな。
89login:Penguin:2006/02/17(金) 19:20:16 ID:4hf1A87R
>>87
fをfineの頭文字としたところで、文脈上肯定的な表現にはなり得ない。
それはマニュアル作った奴に対する話でしかないし、
fuckin'がかかってるのはmanualじゃないって説もある。
そもそもの話として、fuckin' greatなら最上級の褒め言葉であり、
あの言葉自体の意味は相当に曖昧。

fuckin'だろうとfineだろうと、読み手に対して「読め」と命令するだけなら、
初めからチラシの裏にでも書いとくか、勝手に見下して陰でニヤニヤしてろって話。
ただ威張りたいだけで、人にモノを教えるのがそんなにイヤなら黙ってろと。
90login:Penguin:2006/02/17(金) 21:16:16 ID:omFPvqI6
初心者です。iptablesの使い方についていちから教えてください。
RTFMとかドキュメント嫁とだけ書き込む人は返答は不要です。
91login:Penguin:2006/02/17(金) 21:56:43 ID:PN2x1RuM
返答の形式について文句を垂れるような奴は不要です。
92login:Penguin:2006/02/17(金) 22:54:22 ID:4hf1A87R
>>90
自分より下の奴がいないと不安でしょうがないのか?
93login:Penguin:2006/02/18(土) 12:26:16 ID:pR4sac24
やっと土日開放されたんだから遊ばせてやれ。
94login:Penguin:2006/02/18(土) 19:48:24 ID:ouAy6Dzu
そういやFC5にGCC4.1は結局間に合うの?

なんかもう諦めたような感じを受けているけど
95login:Penguin:2006/02/19(日) 00:56:56 ID:GpvC0cMf
通りすがりだけど
>>89 キモイ
早口で変なこといいながら襲ってくるオタクみたいだぞ
とりあえず落ち着け!
匿名の掲示板で場の空気を悪くしてまで優位に立つ(それで立てるかは別として)
96login:Penguin:2006/02/19(日) 00:57:47 ID:GpvC0cMf
必要はないでしょ
楽しくやろうぜ
97login:Penguin:2006/02/19(日) 00:59:42 ID:GnlDjTWS
吉野家コピペじゃないけどギスギスしてたほうが2chらしくていいと思う。
98login:Penguin:2006/02/19(日) 04:29:02 ID:atoXonGC
まぁ大抵予定調和だし、ディスプレイの向こう側で本気で怒ってる馬鹿は
そう多くはないからなw

優位とか訳の分からない妄言吐いてる>>95みたいのが一番迷惑。
精神的に未熟かつ脆弱な人はヤフーの掲示板でも行ったほうがいいよ。
99login:Penguin:2006/02/19(日) 04:49:43 ID:6UbP30PD
ID変わった直後に「通りすがりだけど」warata
100login:Penguin:2006/02/20(月) 06:29:44 ID:bWJtKs/w
第三者っーか第四者ぐらいからすれば、下らない。どーでも良い。

ちゃねらーとしては、ニヤニヤ。
101login:Penguin:2006/02/21(火) 02:10:24 ID:63EbBWIi
無料で教えてくれはあり得ないよな。
102login:Penguin:2006/02/22(水) 13:29:00 ID:HHgp7SiR
釣りだよ
釣り

釣られんなよ
103login:Penguin:2006/03/01(水) 23:27:11 ID:jAar/o7d
HOST=

# トラフィックコントロールの初期化
tc qdisc del dev ppp0 root

# ppp0にトラフィック制御用のルートクラスをセットする。
tc qdisc add dev ppp0 root handle 10: cbq bandwidth 64Kbit avpkt 1000 cell 8

# 優先度5に設定されたクラス
tc class add dev ppp0 parent 10:0 classid 10:1 cbq bandwidth 64Kbit rate 64Kbit \
allot 1514 cell 8 weight 6Kbit prio 5 maxburst 20 avpkt 1000

# 優先度8に設定されたクラス
tc class add dev ppp0 parent 10:0 classid 10:2 cbq bandwidth 64Kbit rate 64Kbit \
allot 1514 cell 8 weight 6Kbit prio 8 maxburst 20 avpkt 1000

# $HOSTからのパケットの優先順位を下げる
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip src $HOST flowid 10:2
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip dst $HOST flowid 10:2

あるホストとの間でやり取りされるパケットの優先度を下げたいのですが、
これではどうも上手くいきません。どの辺りが不味いでしょうか?
104login:Penguin:2006/03/02(木) 01:04:33 ID:rYvDSupO
#!/Bin/sh
HOST=
# トラフィックコントロールの初期化
tc qdisc del dev ppp0 root

# ppp0にトラフィック制御用のルートクラスをセットする。
tc qdisc add dev ppp0 root handle 10: cbq bandwidth 64Kbit avpkt 1000 cell 8

# 優先度1に設定されたクラス
tc class add dev ppp0 parent 10:0 classid 10:1 cbq bandwidth 64Kbit rate 64Kbit \
allot 1514 cell 8 weight 6Kbit prio 1 maxburst 20 avpkt 1000
# 優先度8に設定されたクラス
tc class add dev ppp0 parent 10:0 classid 10:2 cbq bandwidth 64Kbit rate 8Kbit \
allot 1514 cell 8 weight 1Kbit prio 8 maxburst 20 avpkt 1000

# $HOSTからのパケットを10:2へ
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip src $HOST flowid 10:2
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip dst $HOST flowid 10:2
# $HOST以外のパケットを10:1へ
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip src any flowid 10:1
tc filter add dev ppp0 parent 10:0 protocol ip prio 1000 u32 match ip src any flowid 10:1

少し直してこんな感じで。これでもまだ反応が遅いです。
105login:Penguin:2006/03/07(火) 19:54:27 ID:9B8/4CoY
-p tcp --syn

-p tcp -m state --state NEW
の違いはどの辺なのでしょうか?
106 ◆/UXtw/S..2 :2006/03/08(水) 03:04:06 ID:Zbg8WQwt
>>105

JF かどこかの FAQ に書いてあったよーな。

-p tcp --syn は TCP のフラグを見るだけ。

-p tcp -m state --state NEW は、過去のコネクション追跡と
比較して、新しいパケットという意味。

正常系だけを考えると同じだけど、
「SYN (だけ)立ってるのに NEW じゃない」とか、
「SYN 立ってないのに NEW」 とかは、不正なパケットや
エラーパケット(IP masq してて IP がかわちゃったとか?)
として存在し得ます。

paranoia な人はそういう不正パケットチェックも
してると思うけど、俺はあんま意味ねーと思うよ。
107login:Penguin:2006/03/09(木) 01:13:45 ID:eoET1/Z4
レスありがとうございます。
実はアタック対策(?)として

/sbin/iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
/sbin/iptables -A INPUT -p tcp --syn -m state --state ESTABLISHED,RELATED -j DROP

を実行しているのですが、
この場合は
-p tcp --syn

-p tcp -m state --state NEW
は同値ということですね。
108login:Penguin:2006/03/09(木) 07:13:39 ID:eoET1/Z4
109≠108:2006/03/09(木) 19:32:03 ID:fGEVBiuA
110login:Penguin:2006/03/11(土) 20:06:57 ID:a5ieCDEi
箱物の火壁を使ってて、それをLinuxで置き換えたいと思ってるんですが
どうやればいいか、そもそもできるのかどうか、よく分かりません。
というのは、今使ってる火壁のDMZのネットワークだと、インターネットに
繋がってるネットワークと一緒なんです。火壁は1つしかIPを消費しない。
つまり、たとえて言うと、現在の火壁の設定は、デフォルトゲートウェイが
a.b.c.1で、eth0がa.b.c.2でeth1(DMZ)もa.b.c.2で、eth2(内側)が192.168.1.1
って感じなのです。(a.b.c.xはグローバルIPアドレス)
eth0とeth1が同じIPアドレスなんて、こんな設定はLinuxでは無理ですよね?
グローバルIPアドレスが、(1はゲートウェイだから)a.b.c.2〜a.b.c.6の5つ
しかないからすごく貴重で、現在の火壁はそういう意味では偉い。
現在の火壁では火壁にひとつだけ使えばいいのに、Linuxで置き換えたら
ふたつ必要ってなると、ちょっと無理そうだなあって思ってますが、なんか
いい方法あるのかなあ、と。
DMZのeth1には172.16.1.1とか別ネットワークを割り当ててしまうというのが
一般的なやり方なんでしょうか?これはこれでかなり面倒そうですが…
111login:Penguin:2006/03/11(土) 20:53:50 ID:H2r6YOEG
>>110
よくわかってないのに何故置き換えようなんて馬鹿な事を考える?
いまのまま使え。
甘えた事言ってる奴にアドバイスはしないからな。
112login:Penguin:2006/03/12(日) 01:07:47 ID:GaiFjSlp
   [a.b.c.1] internet
     |
eth0[a.b.c.2] gateway┬eth1[a.b.c.2] DMZ─…
              │
              ├eth2[192.168.1.1] LAN
              ├…

>>110 なの?(;゚∀゚)
113login:Penguin:2006/03/12(日) 14:36:03 ID:fLTGXJ4j
>112
そう。今使ってる箱物のやつはたとえて言うなら
そういう風に見える状態です。だから4つの
グローバルIPアドレス(a.b.c.3〜6)を外向けに
使えてていて、かつ、そのアドレスでサーバを
立ち上げることができています。

サーバを192.168.0.3で立ち上げておいて
火壁で a.b.c.3 -> 192.168.0.3 みたいなことを
しなくてもいいのでいろいろと簡単なのです。

ひとつのアドレスを諦めるか、NATで我慢するかしか
ないんですかね。
114login:Penguin:2006/03/12(日) 17:14:33 ID:5LIumG2r
プロバとの接続がunnumberedなら普通に動くでしょ。
115login:Penguin:2006/03/19(日) 09:24:14 ID:5na5qPQk
iptablesでwinnyを止めることできるかな?
内側からは自由に通信許可して、明示的に20、21、6699はだめとかしている。
なんか方法あるかな?
116login:Penguin:2006/03/19(日) 09:38:58 ID:Scwfrzf0
自分のマシンしかない環境なら任意に決めたポートを塞ぐだけで済むかも
知れんが(その前にWinnyなんて使うなって気がするが)、他人のPCが
持ち込まれる環境なら笊すぎだし、ftpは関係ないだろ
117login:Penguin:2006/03/19(日) 09:41:43 ID:euH7uiKd
>>115
なぜに FTP?
ポート番号変更されたらどうする?
L3 じゃ止められないと思うが。
118login:Penguin:2006/03/19(日) 11:31:42 ID:ewCnJJtr
1つもポートを渡さなければwinnyできないよ
119115:2006/03/20(月) 12:44:56 ID:i5TAhf8f
ftpはただの例としてあげただけ。深い意味はない。
要するに、ポートを指定できないということで、iptablesだけじゃだめってことか。
なんか、上下の流通量の多いポートを発見してとめるというスクリプトを作って
組み合わせるということかなぁ。
120login:Penguin:2006/03/20(月) 12:59:19 ID:bQJQEw/7
>>119
dest port を制限すればいいだろ?
80番でwinny動かしてるやつなんか大していないだろ。
必要な 25 53 80 110 とか以外制限すればいいだけだろ。
121login:Penguin:2006/03/21(火) 15:28:49 ID:PJmbcWTA
カーネル2.6.16でULOGがobsoleteになってるんだけど
これからはかわりに何を使えばいいんだろ?
122login:Penguin:2006/03/23(木) 14:19:39 ID:eBmZg9Jf
>>121
audit
123login:Penguin:2006/03/23(木) 20:53:38 ID:3EKkiV1S
CentOS 4でうまく動いてたiptablesのルールを
Fedora 5に持ってきたら、以下のところでINPUTが止められて、
外部からsshとかが繋がらないんですが、どなたか原因が分かる人はいませんか?
最後の一行をコメントアウトすると繋がるようになります。

-N FLOOD
-A FLOOD -m limit --limit 20/second --limit-burst 50 -j RETURN
-A FLOOD -j DROP
-A INPUT -p tcp --syn -j FLOOD
124login:Penguin:2006/03/32(土) 11:23:21 ID:OyQ12irH
すまん。>>121-122の会話内容が俺にはよくわからん。
ぐぐってもこのスレしかひっかかってこないし。
2.6.16も使いたいんで誰か意味を説明してくれ。頼む。
125login:Penguin:2006/03/32(土) 14:59:20 ID:g8YJ2JBf
わからないなら気にするな
126login:Penguin:2006/04/05(水) 21:41:09 ID:4+4r2znu
>124
俺は2.6.16.1だけど、普通に使えてるよ。
まぁ、>121-122ほど込みいった使い方して無いからなんだろうけどね。
俺はFW目的なので、Forward は使って無い。
127login:Penguin:2006/04/05(水) 22:42:49 ID:MTtWDvot
俺はFW目的なので、Forward は使って無い。
俺はFW目的なので、Forward は使って無い。
俺はFW目的なので、Forward は使って無い。
俺はFW目的なので、Forward は使って無い。
俺はFW目的なので、Forward は使って無い。
128login:Penguin:2006/04/05(水) 23:14:54 ID:oL77QEW+
(・∀・)香ばしいのが現われました(・∀・)
129login:Penguin:2006/04/06(木) 00:29:54 ID:oB5DZ43q
122だが>>127-128の愚かさに吐き気を催した。
130login:Penguin:2006/04/06(木) 00:41:05 ID:reSxTF4A
122だが>>122>>129の愚かさに吐き気を催した。
131login:Penguin:2006/04/06(木) 00:44:36 ID:oB5DZ43q
>>130
ほぉお前が122なのか?じゃ俺が>>122で書いたことの間違いを訂正してくれよ。
俺は良く調べずにMLで読んだ記憶からあんな事を書いてしまったが、
実際は勘違いもいいところだよな。
132login:Penguin:2006/04/06(木) 00:57:42 ID:oB5DZ43q
>>124
俺が間違えたせいかな?混乱させてすまん。
2.6.16でもULOGは使える。ただobsolete(旧式)ってコメントが付いただけ。
ULOGの代わりに推奨されてるのはNFNETLINK。
カーネルコンフィグのULOGのhelpを読むと書いてあるよ。
auditは、はっきり言って、関係ないね orz
133login:Penguin:2006/04/06(木) 01:14:17 ID:u52TkEzX
>>132
> >>124
> 俺が間違えたせいかな?混乱させてすまん。
> 2.6.16でもULOGは使える。ただobsolete(旧式)ってコメントが付いただけ。
> ULOGの代わりに推奨されてるのはNFNETLINK。
勝手なことを言ってすまないが、これがわかったときに
ここに書いてほしかった・・・
それでこそ情報の共有ができるかなと思うので・・・
134login:Penguin:2006/04/06(木) 07:14:55 ID:reSxTF4A
>>131
ULOGの替わりがauditとかホザいてる馬鹿が何を偉そうにw
135login:Penguin:2006/04/06(木) 22:06:32 ID:FBUiV07T
2.6.16でiptablesがどうも動作しないなーと思ったら、カーネルの.configが変わっていたらしい。
Netfilter Xtables support、あるいはNETFILTER_XTABLESていうのをYかMにする必要があるんだそうだ。
make oldconfigでは自動でYにはならないので、古い.configから移行するとハマる。

いやー、全然わからなかったよ。

以上チラシの側面だが、同じようにハマっている人のために記す。
136login:Penguin:2006/04/06(木) 22:22:13 ID:UgyJEr7p
>>135
チラシの側面に書くのは至難の業では?
米に字が書ける奴はいてもチラシの側面に字が書ける奴は >>135 が初めてだ。
137login:Penguin:2006/04/06(木) 22:24:04 ID:qRPJk91E
>>136
チラシの側面に"書いた"とは書いてないのでは?
あくまでもチラシの側面。
138login:Penguin:2006/04/06(木) 23:33:18 ID:dzOqsVf1
ロールシャッハ・テストのとき紙の側面を見つめるようなら統合失調症だとかいう話?
139login:Penguin:2006/04/14(金) 14:30:03 ID:LCw0qrIp
大陸・かの国フィルター使ってみた

重くなりますた…セロリン400MHzではきついですね
ってかほかにもデーモソ動いているからってのもあるけど
140login:Penguin:2006/05/13(土) 18:36:18 ID:JVZmSP7e
iptablesとIPマスカレードについて質問です。

LinuxにNICを二枚差し、をルータとして使用しています。
一枚目はプロバイダ、つまり外部インターネットにつながっています。
二枚目は家庭内部のLANにつながっています。
複数の内部LANから外部インターネットを利用する為に、
iptables/IPマスカレードを使おうと思っています。

実現にあたっての設定ですが、現在以下のようになっています。
-A POSTROUTING -s 192.168.15.0/24 -o ppp0 -j SNAT --to [グローバルIP]
セキュリティ的な問題や、その他注意するべき点等がありましたら、御教授願えませんでしょうか。


関連して、質問があります。仮に設定を以下のようにしたとします。
-A POSTROUTING -o ppp0 -j SNAT --to [グローバルIP]
この場合、外部から入り、外部に出て行く(?)パケットも[グローバルIP]になってしまうのでしょうか?

具体的には、悪意のある人が、外部PCのデフォルトゲートウェイを[グローバルIP]に設定した場合や、
その他ルータやパケットを操作し、[グローバルIP]を経由するような状態になった場合に、
送信元アドレスが[グローバルIP]、すなわち踏み台のように使われてしまうような状態にならないのでしょうか?

141140:2006/05/13(土) 18:40:25 ID:JVZmSP7e
説明下手で分かりにくくて申し訳ありません。(´・ω・`)
142login:Penguin:2006/05/13(土) 18:49:53 ID:jeSm6rQd
いまいち何がやりたいのかわからないけど、
SNATには何が書いてあるの?
143login:Penguin:2006/05/13(土) 18:59:10 ID:ala/Ib1L
(・ω・`)
144login:Penguin:2006/05/13(土) 19:07:56 ID:jeSm6rQd
すまんSNATか
-j MASQUERADE
じゃいけんの?
145140:2006/05/13(土) 20:03:28 ID:JVZmSP7e
説明不足ですいません 。
>>140の設定で目的の、内部PCから外部インターネットへの通信
は問題なく行われています。

IPアドレスの書き換えや通信経路の操作になるので、
どこかにセキュリティ的な問題があるのではないのか心配になった為に質問させていただきました。(無問題という事でよいかも?)
ただ、>>140の二番目に記述した例について気になりまして・・・


環境は以下のようになっています。
「ネットワーク図」
 --[インターネット]--[Linux(iptables)(192.168.15.10/24)]--[内部PC( 192.168.15.50/24 )]
「iptablesの内容」
 -A POSTROUTING -o ppp0 -j SNAT --to [グローバルIP]


普段は内部PCの「デフォルトゲートウェイ」設定として、192.168.15.10を指定しています。
内部PCからインターネットを使用し、IPが記録される掲示板等に書き込んだ場合、
前述のSNAT設定が有効になり、 [グローバルIP]を使用して通信しているとみなされます。

気になっている問題は、外部の全く別のPCのデフォルトゲートウェイの設定を[グローバルIP]に設定した場合に
通信が私のPCを経由し、かつSNAT設定が有効になってしまい、外部PCの通信にも関わらず、
私の[グローバルIP]が通信先に残り、成り済ましや踏み台のようになってしまう可能性が無いのであろうかと心配になってしまったのです。

まったく別の外部PCでは無くても、例えば同一プロバイダの同一ルータの傘下にある、
別のPC等からのデータが流れ着き、上記SNATを経由してしまうような事はありえないと考えてよいのでしょうか?
146login:Penguin:2006/05/13(土) 21:01:31 ID:eHos4yjo
>>140
(Xは自然数または0)

「pppX」って、ダイアルアップモデムなどのNICを示すんじゃないの?
今時、pppなんて使わないんじゃ・・・。

そして、「ethX」が、LANなどのネットワークインターフェイスを示すんだと思ったんだけど。

違ったらごめん。



147login:Penguin:2006/05/14(日) 05:22:42 ID:uw7fsQNO
>>140
>御教授
御教示
148login:Penguin:2006/05/14(日) 09:19:40 ID:2aZ27yzx
>>147
人の間違いを正そうとして自分が間違っているのに気づかない典型的なアホ
149login:Penguin:2006/05/14(日) 09:49:04 ID:uyWCzbT4
>>147

wwwwwwwwwwwwwwwwwwwwwwww
150login:Penguin:2006/05/14(日) 09:52:47 ID:a11XKTbB
>>147
間違いを正そうとするなら、iptablesについても正そうとしてくれたらいいのに……。
151login:Penguin:2006/05/14(日) 10:24:02 ID:uyWCzbT4
>>146
> 今時、pppなんて使わないんじゃ・・・。
インターフェイスにppp*使うかどうかは、セッション方法に依存する。
喪前が「ダイアルアップモデム」と呼んでる得体の知れない機器とは関係ない。

>>150
正すって何を?
本人がいいと思うならそれでいいじゃん。
152login:Penguin:2006/05/14(日) 16:08:46 ID:s62oiPou
直接的な嫌味です。
153login:Penguin:2006/05/16(火) 02:23:55 ID:SvswPURi
外出ネタだけど、

「教授」:音声・書籍の文字等の文字情報による情報伝達法。
     情報媒体は音波を載せる空気・電波、印刷する文字を載せる紙等。

「伝授」:文字情報によらざる情報伝達法。
     お釈迦様(釈尊)による「拈華微笑」や禅の「以心伝心」がこれに当たる。
     情報媒体は「気」などの電磁波以外の情報媒体。
     特徴は一瞬にして伝えようとする一切の情報が相手へ正確に伝わること。
154login:Penguin:2006/05/16(火) 07:42:51 ID:RKFWJtnS
ご教授おながいします、なんて言い方は一昔前の文献にはさっぱり出てこない
そもそも教授と教示じゃ教える範囲も全然違う。>>148-149頭大丈夫か?

このネタ、いろんな板で目にするけど、その度に火病るやつがでてる気がする
155login:Penguin:2006/05/16(火) 08:11:45 ID:j43VJ4tI
「おながいします」じゃあ昔の文献には出てこないよねw
156login:Penguin:2006/05/16(火) 08:56:32 ID:RKFWJtnS
そこはお約束だから><
157login:Penguin:2006/05/17(水) 21:37:53 ID:eDYbuIcR
netfilter の設定に関しては、イマイチよくわからないので、
ウチでは、firestarter で基本設定をして、
kiptablesgenerator での設定を加味した netsipder-firewall を併用している。
この仕組みのいいところは、iptables の設定ファイルが上書きされずにファイアウォールがかかるところ。
158login:Penguin:2006/05/19(金) 13:19:13 ID:s+bFzJ0p
-A PREROUTING -p tcp -d 192.168.0.1 --dport 80 -j DNAT --to hogehoge.aa0.netvolante.jp:8080
エラーになるんだけどFQDN使えない?
使いたい場合どうする?
159login:Penguin:2006/05/19(金) 21:21:17 ID:4LZjeB02
>>158
IPアドレスに変換してから書けばいいじゃないか。
160login:Penguin:2006/05/20(土) 09:20:53 ID:wbrVdSWb
今、特に困ってるってことではなく、単に後学のために訊ねたいのですが、IPマスカレード(ポートフォワーディング)では
IPヘッダのIPアドレスやTCP/UDPヘッダのポート番号を書き換えることで、まぁある意味、内側のホストが外側の顔に
「なりすます」訳ですね。
でも、ftpをルーティングする場合、PORTコマンドやPASV応答のパケットの「中身」(ヘッダではなく「データ」)を
書き換える必要がありますね。
市販のBBルータ(専用機)ではこの機能を実装したものは多いですが、IPtables では可能ですか?
あるいはその機能を持つ他のルータソフトへの誘導をお願いします。
161160:2006/05/20(土) 09:22:03 ID:wbrVdSWb
>>160ですが、sageてしまったので、age直します。
162login:Penguin:2006/05/20(土) 10:40:01 ID:rUJaMr8Q
>>160
カーネル側に nf_conntrack_ftp (2.6.x kernel) というモジュールがあって、
そこでやってる。ftp以外のプロトコルでも同種のものを作成すれば対応可能。
163160:2006/05/20(土) 21:24:57 ID:wbrVdSWb
>>162
ありがとうございます。
nf_conntrack_ftp なるものについて、調べてみまつ。
164160:2006/05/22(月) 15:41:02 ID:Ra4zmsA2
調べたところ、ip_conntrack_ftp と ip_nat_ftp という2つのモジュールが必要な
ようです。
述べたように今特に困っているわけではないのですが、実験のために、自宅鯖に iptables
でルータ立てて試してみました。
/etc/sysconfig/iptables-config に
      IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
という行を書いてから iptables を restart させたところ、デフォルトではデータコネクションが
繋がらなかったものが、見事に接続できるようになりました。 さんくすです。

ところで、カーネルモジュールでこの機能を実装しているってことは、ルーティングやパケットフィルタリングの
機能はカーネル(モジュール)側で元々持っていて、iptables はその動作定義/設定をコントロールする
ユーザ I/F でしかない、って理解で良いのでしょうか?
165login:Penguin:2006/05/26(金) 14:06:08 ID:at4IPkiP
>>164
# 遅レス

Linuxはずっと昔からパケットフィルタとマスカレードについてはカーネルレベルでの
実装を行なってきた。iptables (古くは ipchains) はそれぞれカーネルへのインター
フェイスでしかない。

FreeBSDはnatdに代表されるようにパケットをユーザランドに持ってきてそこで変換を
かける方式が長く使われてきたが、主にパフォーマンスの問題でカーネル側の実装に
切り替わってる。
166164:2006/05/26(金) 18:51:36 ID:SR+w7AHX
>>165
> # 遅レス
ノープロブレムです。 マターリ とレス待ってましたから。

やはりそういう理解で良いのですね。 よく解りました。 ありがとうございました。
167login:Penguin:2006/06/10(土) 13:08:49 ID:QPI+tPHM
現在、BフレッツのマルチセッションPPPoE環境を
PC Linuxルーターで構築して利用してます。
で、特に問題は起きてないんだけど、ちょっと技術的興味で質問したいです。

やりたいことは、「LAN内からも同時・安全にPPPoE接続したい」。
WAN側NICとLAN側NICをブリッジすればいい気がするけど、垂れ流しは気持ち悪い。
ので、中継の(FORWARD的な)のPPPoEフレームのみ
WAN側とLAN側でブリッジ出来ないかなと思ったんですが、
このような設定がLinux上で可能でしょうか。

netfilterだけではL2ブリッジ的なことは出来ない?
んー、ちょっといろいろ試してみます。

参考:
http://flets.com/connect/bypass.html
168login:Penguin:2006/06/18(日) 05:14:53 ID:lGTsAOkr
現在 DMZ に設置したサーバに iptables によるフィルタリングを施そうとしています。

大まかな設定は終えて再起動後、ssh 接続に問題がないことは確認しました。
ただ、ssh を切断し、しばらくたってからまた接続しようとすると
タイムアウトになってしまいます。

サーバー側で iptables -L してから再度接続を試みると繋がります。

放置しとくと ip_conntrack 他関連モジュールが眠ったままなのかと思い
繋がらない時、繋がる時で lsmod の結果を比べてみたのですが違いはありません。
どの辺りを疑って、どこを調べれば良いのかヒントをいただけないでしょうか?
169 ◆/UXtw/S..2 :2006/06/19(月) 00:19:53 ID:EApbnvKS
>>168
・とりあえず、パケットダンプとって、どこで弾かれてるかチェック。
(場合によっては、ルールを全解除した上でパケットダンプとって比較)
・iptables -L -v してパケット数チェックして、弾いてるルールをチェック
(本当に iptables -L が「副作用」を起こしてるのなら使えないけど…)
・他のルータ機器があればそれも疑う

ぐらいか。行きと帰りで経路が違うような routing してるのであれば
routing table の見直しとか、とりあえず ICMP は通してみるようにルールを
ゆるくしてみるとか(limit-burst とか設定してないよね?)

まー、DMZ 作るくらいなら
WAN_IF=...
LAN_IF=...
DMZ_IF=...

とか定義してスクリプト組んでるでしょうから、そこの IPアドレス/IF名をマ
スクした上で、スクリプトここに晒すのが早いんじゃないすか?
170login:Penguin:2006/06/19(月) 01:00:06 ID:HiGMkKGa
>169
コメントありがとうございます。

DMZは独自にルールを作成しているのではなく、
ルータ(ADSLモデム兼用)の設定で行っています。
他のルータ機器が思いっきりある状態ですね。。
(外部からのリクエストがDMZに設定したアドレスにフォワードされる)

  internet
    |
ルータ(兼ADSLモデム)   −−−− ノートPC等 (192.168.0.x)
   A-TERM            |
   DR-202C           ..└ サーバ(192.168.1.2)
(192.168.0.1 & 192.168.1.1)

あとで設定晒します。
パケットダンプ取ったりとかはやったことないの
でボチボチ勉強してみます。
171login:Penguin:2006/06/19(月) 21:03:37 ID:0hc1nXBX
パーソナルファイアーウォールっていうのかな?
Winであるようなプログラムごとのアクセス制限はできない?
172169 ◆/UXtw/S..2 :2006/06/20(火) 00:36:13 ID:Nu+KckrO
>>170
激しく読み違えてた、すまぬ。
ADSL ルータの「なんちゃって DMZ」の問題である気が激しくします。

それはさておき、SSH が切れるパターンってどのパターンですかね?
ってな辺りも、書いておいてもらえると吉。
173 ◆/UXtw/S..2 :2006/06/20(火) 00:43:30 ID:Nu+KckrO
>>171
いちおうある。期待したレベルではないと思うが
iptables -A OUTPUT -m owner --cmd-owner hogehoge -p udp -j DROP
とすれば、hogehoge コマンドからの udp は全部落とすとかできそう。

iptables の標準モジュールじゃないかもしれないので、
カーネルとかディストリビューションに依存する可能性あり。

その手のがしたければ、LIDS とか SELinux の方が適してると
思う(けど、やっぱり難しいw
174login:Penguin:2006/06/20(火) 01:38:05 ID:Dflsy3k/
>>173
パーミッションで判別する方法があるんですね。
特に必要というわけでもないのですが
個人で使うサーバで必要なポート開けてたら
OUTPUTを制限する意味がないような気がしたもので。
OUTPUTのポリシーはACCEPTにするのが普通なのかな?
175 ◆/UXtw/S..2 :2006/06/20(火) 23:45:17 ID:Nu+KckrO
>>174
owner モジュール(-m owner)ってのは、パケットの生成元に関するモジュール
なので、--cmd-owner はあくまでも「パケットの生成元コマンド名」を指し
示してます。コマンドのファイル属性としての所有者とは関係ありません。
そっちは --uid-owner とかです。

しかし、このモジュールの naming センスは悪いね。
普通は --owner-cmd とか --owner-uid とするでしょうに。
176 ◆/UXtw/S..2 :2006/06/20(火) 23:57:13 ID:Nu+KckrO
>>174
サーバーでの OUTPUT 制限は、crack された場合に、
その兆候の発見と被害拡散防止に役立つと思うよ。

たとえば www と DNS しかサービスしてないなら、(かつログでは
ドメイン名解決なしなら) OUTPUT の --state NEW な接続は
DNS のゾーン転送だけ開けておけば十分でしょ。

メールでログレポートを送ることがあるなら、追加で submission/smtp
だけ開ければ十分。この場合、当然中継サーバは決まってるだろうから、
その IP の組合せの場合だけ許可。

で、OUTPUT の --state NEW で drop したパケットがあったら
ログ取りするようにしておけば、何かおかしかったらすぐに
(swatch とかと組み合わせて)発見できるかもよ。
177login:Penguin:2006/06/26(月) 11:08:28 ID:HckK78WW
@ITでiptablesを勉強してたのですが、↓のテンプレで
ttp://www.atmarkit.co.jp/flinux/rensai/iptables01/template01.html
最後に-j LOGでログを取り、直後にDROPしているのですが、
これはポリシーでINPUT -P DROPとしているから必ずしも必要ではないと思うのですが、どうでしょうか?
実際LOG直後のDROPを消してもちゃんとDROPしてくれました。

ただ、manでLOGの説明を見ると、non-terminatingだからLOGした後DROPしろって書いてあるんですよね・・・
ポリシーをACCEPTにするときもあるかもしれんから、LOG直後にDROPする癖をつけとけってことでしょうか?
178 ◆/UXtw/S..2 :2006/07/01(土) 02:19:08 ID:/p3qWt1T
>>177
基本的には、単にスタイルの問題だと思うが。
この手のは、大抵はチェイン名は LOGDROP とかにするもんだけどな。
それだったら違和感ないべ?

ポリシーがどうとかではなく、「その場所まで来たパケットは
LOG して DROP」という対処をしたいのであっって、その
DROP が*たまたま*ポリシーと一緒というだけだ。

> ポリシーをACCEPTにするときもあるかもしれん
まーそういうこった。
179177:2006/07/01(土) 18:35:18 ID:AZfWH4aW
>>178
なるほど。ポリシーというのはあくまで補助的なものとして考えるってことすかね…?
まぁ結局個人のスタイルの問題だからあんま気にスンナ、好きにしろってことで解釈しときます

レスありがとうございました
180login:Penguin:2006/07/18(火) 12:42:13 ID:K7r+QlfI
質問です。
現状はFWとhttp鯖が別なので、FW兼ルータ上で
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.15:80
iptables -A FORWARD -d 192.168.1.15 -p tcp --dport 80 -j ACCEPT
みたいな構文を用いてポートフォワーディングを実現しています。

今度はFW兼ルータ兼http鯖にしようと思っているのですが、
同一マシン上でポートフォワーディングはどうやって実現すればいいんでしょう。
181login:penguin:2006/07/18(火) 21:48:44 ID:XD06MQZ2
>>180

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
182180:2006/07/18(火) 23:32:39 ID:K7r+QlfI
>>181
ありがとうございます
183login:Penguin:2006/07/19(水) 02:57:02 ID:GNL8GeGf
ポート転送なんて普通は怖くてやれねえよ。
外から、80番とか8080番にアクセスするだけで、安全なLANであるはずのPCにアクセス許してしまってるのだが。
転送先のPCを踏み台にされるだけだと思うよ。

どこかの銀行のファイヤウォールにtelnetしてみたら内部のコボルが動いてるようなオフコンのコンソール取れたら不味いのと同じレベル。
インターネットから操作できると便利だからって、sshとかリモートデスクトップとかVNCとか転送させて踏み台鯖をインターネットに公開するのだろ?
184login:Penguin:2006/07/19(水) 03:26:06 ID:I8L4GJH2
それはポート転送とは関係ないと思うんだが。
185login:Penguin:2006/07/22(土) 08:10:05 ID:vOg9hTG0
まぁ一人で勝手に怖がってろってことで。
186login:Penguin:2006/08/09(水) 00:25:02 ID:/Rt412pY
海外(特に韓国)からのスパム発信源などうざいアクセスが集中しているので
韓国からのアクセスを完全排除しようと思っています。
んで、
187login:Penguin:2006/08/09(水) 00:28:14 ID:/Rt412pY
間違えて送信してしまいました。
続きです

ttp://www.nminoru.jp/~nminoru/memo/ip-address/what_country_from.html
上記のサイトを参考にKRからのアクセスを片っ端から
iptables -A FORWARD -s 121.1.64.0/24 -j DROP
iptables -A FORWARD -s 121.1.65.0/24 -j DROP
iptables -A FORWARD -s 121.1.66.0/24 -j DROP
iptables -A FORWARD -s 121.1.67.0/24 -j DROP
iptables -A FORWARD -s 121.1.68.0/24 -j DROP
というように列挙しているのですがあまりに膨大な為にやってられない状態です。
iptablesの記述で
121.1.64.0-121.1.127.255というような記述が出来るようにする方法とかはないのでしょうか?
188login:penguin:2006/08/09(水) 00:43:45 ID:GubKQ59M
189login:Penguin:2006/08/09(水) 01:03:23 ID:sVyCeYrR
>>187
krfilterでググれ
190login:Penguin:2006/09/05(火) 17:17:33 ID:t9hbOLaH
すべてのポートを閉じてからサーバのために必要なポートだけを開けるという設定をしているのですが、
PHPに外部へ接続させたい場合にはどういう風に設定すればいいんでしょうか?

発信元が80番のポートであるINPUTを受け付けるようにすればいいんではないかと思いやってみましたが無理でした
191名無しさん@お腹いっぱい:2006/09/05(火) 17:32:52 ID:2k4vW+I9
>>190
その接続がどういうプロトコルを使うのかわからんが、
OUTPUTチェインに宛先のアドレスとポートを指定してACCEPTし、
INPUTチェインは上部のアドレス・ポートからのSYN,FIN,RSTと
-m conntrack --ctstate ESTABLISHEDをそれぞれACCEPTするとか。
192login:Penguin:2006/09/06(水) 00:44:43 ID:WS8CK9zn
あと他のルールで早々に破棄られてないか確認するヨロシ。
LOGチェインに送ってログが出るかとか。
193login:Penguin:2006/09/06(水) 01:29:08 ID:CaeTN9RR
最近は80番でいろいろ出来るけどね。
他が開いてなくても余り意味は無い。
194login:Penguin:2006/09/06(水) 01:49:01 ID:WS8CK9zn
ssh だけは開けとかないと不安になる。
他は必要になった時に開ければいいけど。
195login:Penguin:2006/09/06(水) 23:21:26 ID:JFP6/0SU
sshを攻撃して突破する手も有るけど?
196login:Penguin:2006/09/07(木) 01:04:32 ID:GVoVVL9A
そりゃあるだろうけど。
SSH だけの問題じゃないでしょ?
197login:Penguin:2006/09/16(土) 20:41:11 ID:GeC7QY/k
ちいとスレ違いだけど、
sshd_configいじれる立場なら、Listenするportを22から変えるだけでも
いくらか楽になるよ。
ポリシー上、変えることができない人もいるだろうケド・・・・
198login:Penguin:2006/09/28(木) 14:27:48 ID:YtUO+iJC
iptables設定してLinuxルータにしたんですけど、
chkconfig iptables on
/etc/rc.d/init.d/iptables save
とやって暫くルータとして使用後、再起動をしたのですが、
再起動時にログイン画面が出る前に表示されるサービス?開始結果がOK, FAILED
と出る画面でiptables設定中と出て固まってしまいます。マウスのみ反応し、
キーボードは反応なし、リモートも不可という状況です。
これは一体何が原因でしょうか?ただ固まった状況下においてもルータとして
動作しているようです。起動前なので、dmesgも実行できない......
OS:CentOS 4.4 x68-64(FINAL) 2.6.9-42.0.2.ELsmp
eth0 : Intel Pro/1000PT Single GbE
eth1 : BroadCom BCM5721 GbE
よろしくお願いします。
199名無しさん@お腹いっぱい:2006/09/28(木) 17:31:46 ID:iVrfJTnb
>>198
saveした内容をさらせ。
200login:Penguin:2006/09/28(木) 22:09:26 ID:dxyTlqGs
>>198
もし今操作ができないならシングルユーザモードで起動して syslog 見てみな。
201login:Penguin:2006/09/29(金) 23:38:37 ID:23pmoCba
ポート変えたぐらいは大差ない。
今はスキャンポートぐらいはするから。
202login:Penguin:2006/09/30(土) 10:49:46 ID:Gqsg49V/
基本的なことで、わからないことがあるので、質問させてください。

@itの最後に、LOGとって、DROPするテンプレを参考に
shスクリプトを書きました。


wwwを見られるように、(というか、apt-getで必要なので)

# www
iptables -A INPUT -p tcp -s $any --sport 80 -d $myhost -j ACCEPT
iptables -A OUTPUT -p tcp -s $myhost -d $any --dport 80 -j ACCEPT

という風に書いたのですが、この設定では、apache等のhttpdを立てていると、
外からも接続できてしまうのでしょうか?
203login:Penguin:2006/09/30(土) 10:57:05 ID:7Lt3lUO2
>テンプレを参考に
ググれば一発なサイトとは言え、参考にしたURLも貼った方が良い。

>この設定では
断片だけで判断できるのはエスパーだけ。

>外からも接続できてしまうのでしょうか?
httpd を localhost だけで運用したいってこと?
それとも LAN 内だけで運用したいってこと?
LAN 内に限定するなら $any を適当なものに変える。
たとえば 192.168.0.0/24 とか。
204login:Penguin:2006/09/30(土) 12:16:49 ID:bqt4C6AR
wwwって書いてあるとビッパー臭を感じる(w
205login:Penguin:2006/09/30(土) 16:20:05 ID:xzx350/+
>>202
このほうが良くない?
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ${EXT_IF} -p tcp --dport 80 -j ACCEPT
206198:2006/09/30(土) 18:54:36 ID:SJQcNzTp
>>199, 200
遅レスすいません。Bootが出ない為、インタラクティブで iptablesだけ起動しないように
しました。
設定スクリプトは長いので、以下のサイトにうpしました。
ttp://uploader.xebra.org/?id=a091b46
アップロードしてからおもったのですが、iptablesはNICの設定?の前に立ち上がると思うのですが、
スクリプトの中でIPアドレスを取得するようにしています。もしかしてこれが原因でしょうか?
207login:Penguin:2006/10/01(日) 10:02:05 ID:h/Pj1RMH
順番ぐらい変えれば良いじゃね?
208198:2006/10/01(日) 13:46:27 ID:8WxGBkrc
>>207
変えましたが、やはり同じ問題が発生しました。
なんででしょうか??
209login:Penguin:2006/10/01(日) 22:38:09 ID:jHl3VUVF
先に network があがったら iptables が有効になるまで無防備だな。
まぁ一瞬だけどね。。

>>208
OS 起動時に iptables をあげないようにして、スクリプトを 1 行ずつ流してみたら。
210login:Penguin:2006/10/02(月) 04:48:50 ID:BGBgOj7i
DHCPとかモバイルIPみたいなのはネットワークが先に設定されないと制御できないと思うが?
ARPや近隣探査のパケットまで落としてたらネットワーク使えないよ。
211login:Penguin:2006/10/23(月) 21:45:51 ID:gyC5siIO
arno-iptables-firewallをdebian-sidで使ってみた。
すげー量のルールが適用された。
でも、cpufreqとDHCPの通信が遮断された。。orz
212login:Penguin:2006/10/24(火) 08:54:19 ID:wJqpCvRv
注意
なんか「佐賀」だけじゃ監視員の検索にかからないらしいぞ?今知ったんだが

● 佐賀県庁
● 佐賀県
● 佐賀県民

の3つだそうです。
グーグルなどとは異なり、
「 佐賀 」 だけでは抽出されない検索エンジンで、
運用監視をしているそうです。

だそうだ。「佐賀」だけじゃ引っかからないからあんまり意味ない。
この情報をコピペで佐賀スレに広めるんだ!
213login:Penguin:2006/10/26(木) 14:36:04 ID:sOgBJvBd
今週のネギま!スレはここですか?
214login:Penguin:2006/10/29(日) 22:39:55 ID:XYsxCBQN
iptablesで *.jp ドメイン以外からのアクセスを弾く(日本国内のホストからの接続
のみを許可する)設定とか可能でしょうか?
それともDNSは使えず、IPアドレスで範囲指定をするしかないのでしょうか?
215login:Penguin:2006/10/29(日) 23:36:22 ID:XYsxCBQN
ちょっと調べた感じだと中国や韓国は逆引きできないホストが多いそうな・・・。
って事は*.jpだけ許可って結構難しい?
216login:Penguin:2006/10/30(月) 00:24:20 ID:1Zhl801v
>>215
逆引きできなきゃ弾くってことでいいんじゃね?
iptablesでどうやるかは知らん。
なんのサービス提供してるかしらないけどhttpならapacheとか
アプリのほうのアクセス制御使うほうが楽かも
217login:Penguin:2006/10/30(月) 02:18:23 ID:dFBs4Hg4
皆!ココで公開されているシェルスクリプトで中韓のIPを弾かないか?
http://www.hakusan.tsg.ne.jp/tjkawa/lib/krfilter/index.jsp
これは素晴らしい〜
218login:Penguin:2006/11/01(水) 14:03:02 ID:enrVujTW
何を今更・・・・・・
219login:Penguin:2006/11/22(水) 00:58:42 ID:eI7xzIJ2
現在このような感じなんですけどなぜか
ftpでログインできないです、ご教授願います。

[root@www sysconfig]# cat iptables
# Generated by iptables-save v1.2.11 on Mon Nov 20 19:59:49 2006
*nat
:PREROUTING ACCEPT [1107:114350]
:POSTROUTING ACCEPT [13:904]
:OUTPUT ACCEPT [13:904]
COMMIT
# Completed on Mon Nov 20 19:59:49 2006
# Generated by iptables-save v1.2.11 on Mon Nov 20 19:59:49 2006
*filter
:INPUT ACCEPT [3303:410124]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1832:161299]
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.100.47 -p tcp -m tcp --dport 23 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
COMMIT
# Completed on Mon Nov 20 19:59:49 2006
220login:Penguin:2006/11/22(水) 00:59:32 ID:eI7xzIJ2
root@www sysconfig]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT tcp -- anywhere anywhere tcp dpt:pop3
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- 192.168.100.47 anywhere tcp dpt:telnet
ACCEPT icmp -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
221login:Penguin:2006/11/22(水) 01:11:16 ID:lMlcCDt6
>>220
見た感じiptablesの意味がないきがする。全部許可してるみたい。
ftpサーバーにつながらないのは他がいけないかもね。
222login:Penguin:2006/11/22(水) 07:09:12 ID:eI7xzIJ2
>>220
全部許可とはどういう意味でしょうか?
Chain INPUT (policy DROP)をACCEPTに変えれば
FTPでログインできるようになるのですが…
223login:Penguin:2006/11/22(水) 07:49:44 ID:2E/dJzRk
>>222
情報は小出しにしない方がいいよ。
だいたいどこからどこの FTP が失敗するかとかも書いてないよね。
passive モードかどうかも書かれてないし。。
224login:Penguin:2006/11/22(水) 09:46:00 ID:JlZtKC7V
ご教授、と書くやつにろくなのはいない
225あぼーん:あぼーん
あぼーん
226login:Penguin:2006/11/23(木) 02:17:48 ID:yF8/xVBH
>>220
ip_conntrack_ftpをロードしてないとか‥
227 ◆/UXtw/S..2 :2006/11/28(火) 03:21:02 ID:iTNteDyR
>>226
ip_conntrack_ftp は PORT/PASV した後の別コネクションを
追うためのモジュールだから、「ログインできない」の
理由にはならないかな。

ただ、元質問者の情報が足りないので、本当に
ログインできないのかどうかワカランけど。
228login:Penguin:2006/12/17(日) 00:28:58 ID:+8llf8GD
A、B2つのPCと、ルータがあって

ルータ --- A --- Bのようにまっすぐ繋がっています。
Aはルータ側192.168.1.15、B側192.168.2.15のIPアドレスを持っていて、
Bは192.168.2.20、ルータは192.168.1.1です。
BからAを経由してルータからインタネットに繋げたいのですが、
Aにはどういうルールを設定すればよいのでしょうか?
229login:Penguin:2006/12/18(月) 01:01:34 ID:E9uiJVVc
過去ログ嫁
230login:penguin:2006/12/19(火) 20:11:53 ID:RM0gN/rD
>228

PC-A(2ポート?)を bridge すればいいだけじゃない?
231228:2006/12/21(木) 23:13:36 ID:daumOCsa
/etc/sysctl.conf

net.ipv4.ip_forward = 1
ってしてなかった。。。
iptables関係ありませんでした、ごめん。
232login:Penguin:2006/12/25(月) 17:48:30 ID:yHuI/aLV
Bフレッツで固定IPなんだが
FC6でルーター兼サバの作り方解説きぼんぬ。
内側にはwindowsマシンもぶら下げたい。
FC6は最初からカーネルモード?やったことないのでさっぱりわからねー
市販のルータ買い換える気にならんので何とかしたいです。
233login:Penguin:2006/12/25(月) 18:53:49 ID:BIoj6yWC
>>232
買えよ愚図
234login:Penguin:2006/12/25(月) 22:05:56 ID:IWVPhpmA
>>232
Bフレッツで、固定IPなんだが、
debianなんでFC6はわかんないや、ごめんね(^_^)
235login:Penguin:2006/12/25(月) 23:08:08 ID:NYqh1ein
>>232
このスレ見れば出来ると思うんだけどなぁ。
236login:Penguin:2006/12/26(火) 02:44:40 ID:tLfzj6Wq
そんなんでよく鯖なんて建てるなぁ。
237login:Penguin:2006/12/26(火) 18:12:42 ID:7cDhkV1k
可哀想だから、誰か懇切丁寧に手順を説明したwiki作ってやれよw
238login:Penguin:2006/12/26(火) 21:33:29 ID:4d3i1qzH
>>237
232が作ればわかりやすくなるんじゃね?
239login:Penguin:2006/12/27(水) 11:17:42 ID:4sN+iybd
ターボリナックスからCENTOSに乗り換えました。
インストール時にファイアーウォールを使いますか?ってのがあったので?でしたがYESでインストール
フィルタリングの設定しようとiptablesを開いてみるとRH-firewallとかいうチェーンが入ってます。なんですかああ〜?RH-firewallって!!わけわかりません。
ぐぐってもルールのサンプルばっかりでRH-firewallがなんなのかの説明してあるところがありません。
ということで質問です。RH-firewallってなんですの〜???
240login:Penguin:2006/12/27(水) 13:06:21 ID:8h2TH/Vr
だからチェーンなんだよ。
気に入らなけりゃ捨てちまえ。

つーか、そんなんでオロオロしてちゃ、フィルタリングルールをちゃんと書けんの?
GUIなツールか何か入っているだろうからそれつかっといたほうがよくね。
って、GUIなツールが本当に入っているかどうか知らんがな。使ったことないし。
241239:2006/12/27(水) 14:53:25 ID:4sN+iybd
オールデニーしてねえからきにくわねえっす。捨てちゃった
つうかoutputもまったく定義されてないしフォアードしねえし
なにあれ。ファイアーウール?何であんなの実装してるんでしょうか・・
RH-firewallの解説してくれませんかえろい人。
242login:Penguin:2006/12/27(水) 16:32:18 ID:jeKAmukV
>>238
その発想なかったわw
243名無しさん@お腹いっぱい:2006/12/27(水) 16:32:57 ID:iCubPp22
> デニー
( ゚д゚)
244 ◆Zsh/ladOX. :2006/12/27(水) 18:59:45 ID:hQuXK6vG
そこは突っ込むところかなぁw
245login:Penguin:2006/12/27(水) 23:52:14 ID:4sN+iybd
こんばんは
ところで質問です
パケットカウンターとバイトカウンターてなんですか?
何かを数えてるんですよね?パケットを数えてる?バイトとは?
なんなんすか?カウンターをゼロにするって・・・・
ここら辺の説明がJMには載ってないのでわかりません。
えろいひと教えてください
246245:2006/12/27(水) 23:59:23 ID:4sN+iybd
3のリンク先全部読んだんですがわかりません・・・
カウンタとは高度に政治化された案件で隠蔽されてるのですか???
もう気になって今晩寝れません。おねがいです助けてください。
247login:Penguin:2006/12/28(木) 00:21:41 ID:yJdAqP4j
>>245
パケットカウンターはパケットを数えてる
バイトカウンターはバイトを数えてる
おk?
248245:2006/12/28(木) 00:47:50 ID:vkrVh8Ot
>>247
えっとトラフィック監視をしてるってことですか?
249245:2006/12/28(木) 00:48:43 ID:vkrVh8Ot
間違えました。トラフィックを監視できるってことですか?
250login:Penguin:2006/12/28(木) 00:54:00 ID:+6RmuEzY
まぁ、応用すればそうですね。
iptales -L INPUT -v -n
としてみれば分かるよ。どれだけのパケットが流れているか
把握できるから、多いもののルールを上に持っていくとか
チューニングするときに丁度いい。
251245:2006/12/28(木) 00:57:10 ID:vkrVh8Ot
>>250
なるほど!ご丁寧にありがとう御座います♪
252login:Penguin:2006/12/29(金) 19:27:35 ID:sjiNj0Oo
SuSE付属のiptablesってRPCプログラムをプログラム名指定で通過させる機能があるんだけど、
これってRedHatとかの普通のiptablesでも可能なんですか?
253login:Penguin:2006/12/29(金) 19:36:19 ID:ONooIj0A
/etc/services
に乗ってるサービスなら大丈夫なんじゃね
254login:Penguin:2006/12/30(土) 23:18:32 ID:t4k9FQsc
guarddog使ってみたら、すげー(゚д゚)ウマー
255login:Penguin:2007/01/02(火) 22:55:25 ID:X3er3Ors
kernel-2.6.20から使いかた変わるんか?
256login:Penguin:2007/01/03(水) 17:45:22 ID:Ar92fTL4
>>254 スクリーンショット見たけど、むしろ分かりづらいだけw
257login:Penguin:2007/01/03(水) 18:06:17 ID:6EfboUbH
個人的にはfireholってのが使いやすい
258login:Penguin:2007/01/03(水) 22:43:57 ID:p0RGrbIB
FireWall-1 みたいな UI だと使いやすいんだけどなぁ。
259login:Penguin:2007/01/04(木) 10:31:55 ID:W47xVQyf
>>258
see "Vuurmuur"
260login:Penguin:2007/01/18(木) 10:26:41 ID:FRkYalQE
なぁなぁ、samba用の設定調べてたんだが、UDPプロトコルに
--state NEW 使ってるの幾つか見かけたが、非常に恥かしくないか?
それとも、iptables的に何か特別な動きがあるのか?
教えてエロイ人
261login:Penguin:2007/01/18(木) 13:40:57 ID:X3/i4IUu
262login:Penguin:2007/01/18(木) 18:37:55 ID:FRkYalQE
>>261
おおぅ。
iptables的に意味はあるが、鯖用途でINPUTチェインに使ったら意味が無くなる。
ので、微妙に恥かしいかもってな感じかなぁ。

ありがとエロイ人〜
263login:Penguin:2007/01/25(木) 14:26:54 ID:UF/PPiOA
iptables で >>219 の方も以下のように書いてあるのですが、
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT

これは、
-A INPUT -p tcp --dport 20 -j ACCEPT
でもいいのでしょうか? "-m tcp" は何のための指定なのでしょうか?

宜しくお願いします。
264login:Penguin:2007/01/25(木) 20:14:25 ID:FXOEd5WU
>>263
tcpというモジュールを読むという意味。
-p tcpがあればTCPプロトコルに限定されることになって暗黙の了解でモジュールが
読み出されるが、念のための指定。

"-m conntrack" のようにしてコネクション層の接続状態を追跡させたりすることも
できる。
265login:Penguin:2007/01/26(金) 00:26:12 ID:GQLud1rd
>>264
有難うございます。念のためということですね。分かりました。
266login:Penguin:2007/01/30(火) 01:22:59 ID:0d0T0oSm
krfilterとその他のパケットフィルタって皆さんどのようにやってます?

iptables -A INPUT -p icmp --icmp-type 0 -s 0.0.0.0 -d 192.168.0.0 -j DROP
iptables -A INPUT -p icmp --icmp-type 0 -s 192.168.0.1 -d 192.168.0.0 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.0.0 -d 0.0.0.0 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 8 -s 192.168.0.0 -d 192.168.0.1 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 11 -s 192.168.0.0 -d 0.0.0.0 -j DROP
iptables -A OUTPUT -p icmp --icmp-type 11 -s 192.168.0.0 -d 192.168.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j DROP
iptables -A INPUT -d 0.0.0.0/8 -i eth0 -j DROP
iptables -A INPUT -d 255.255.255.255/32 -i eth0 -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -s 0.0.0.0 -d 192.168.0.0/24 -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN -s 0.0.0.0 -d 192.168.0.0/24 -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PUSH -s 0.0.0.0 -d 192.168.0.0/24 -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

なにやっていいんだが分からなくなってきた('A`)
iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER
267login:Penguin:2007/01/30(火) 20:10:43 ID:0mcT02Q5
>>266
> krfilterとその他のパケットフィルタって皆さんどのようにやってます?
これが何のことを言ってるのか分からない。
両方やりたきゃ両方やればいいだけでは?
喪前は一体何がしたいんだ?
268login:Penguin:2007/01/31(水) 01:05:48 ID:x6VD4M75
>>267
これじゃね?
ttp://www.hakusan.tsg.ne.jp/tjkawa/lib/krfilter/index.jsp
結局のところ、特定国割り当てのネットワークアドレス集みたいなもんだなぁ。
やりたければやれば、って感じ。

俺だったら、よほどのことがない限りもう少し上の層で対処するけど。
269login:Penguin:2007/01/31(水) 02:21:45 ID:F4N9LTj9
debian使いなんだけど
iptablesって自動起動してくれないのか?
270login:Penguin:2007/01/31(水) 20:40:31 ID:mRXuzCe2
>>269
iptablesはdaemonじゃないぞ?
再起動したら設定は全部消える
だからスクリプトとかを使って起動時に毎回設定を読みこませないといけない
271login:Penguin:2007/01/31(水) 23:58:36 ID:F4N9LTj9
>>270
サンクス。
とりあえず、/etc/network/interfaces
に定義をリストアさせることにしたよ。

ttp://www.thinkit.co.jp/cert/article/0609/1/4/2.htm
272login:Penguin:2007/02/01(木) 00:24:15 ID:OPqVxekZ
はて、俺もDebianで、
/etc/init.d/iptablesが、
/var/log/iptables以下を見にいくんで、
activeとinactiveって名前のファイルを作ったような記憶が…。

まぁ、動いているならなんでもいいよね。
273271:2007/02/01(木) 00:42:43 ID:WZpWM+zp
>>272
最初、自分もactiveとinactiveを作って自動起動に期待してたんだけどスルーされたのよ。



原因?(,,゚Д゚)ワカンネ
274login:Penguin:2007/02/01(木) 02:17:40 ID:PGK/1yAn
>>272 Woody
>>273 Sarge

なんじゃね?
275267:2007/02/01(木) 20:18:45 ID:3k/3jep9
>>268
krfilterは普通に有名なので、別に説明なしで書いても通じるかと。
オレは「krfilter」と「その他のパケットフィルタ」ってのはなんなんだ?と聞いただけです。

使ってるのがiptablesだろうとipchainsだろうと、FreeBSDのIPFilterだろうと、
韓国のIP蹴ったら他のフィルタかけられないという制限はないんですよ。

なので、何をしようとして何に悩んでるのかが、サッパリ分かりませんって話ね。
276login:Penguin:2007/02/01(木) 21:40:36 ID:pos80lC5
>>266に書いてあるのを見る限り、krfilterと他のフィルタリングの両立はやろうとしてるんじゃない?

ただ、フィルタの設計を見るだけでは「その他」の部分で何をやりたいのかがよく見えないけど。
何があってどうしたいのかを明らかにしないとアドバイスの仕様もないというか‥
277login:Penguin:2007/02/03(土) 09:11:07 ID:Fa2DRFua
>>276
振り出しに戻るw

>>266:krfilterとその他のパケットフィルタを同時にやりたい
>>267:同時も糞も分けて考える理由がない。何か別のことを言ってんのか?
>>268:krfilterとは。。。
>>275:言ってることがズレズレ
>>276:両立したいのでは?

元々iptablesのフィルタに両立も糞もない。
別のことを聞きたいのなら、何をしたいのか説明してくれ。
278login:Penguin:2007/02/03(土) 10:13:18 ID:wtw54you
たぶん
> iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER
をどこに突っ込むかってことだろう。

ちなみに俺は簡単に書くと
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER
iptables -A INPUT サーバ各種のポート -j ACCEPT
...
ってしてる。この場合、--state NEW はなくてもいいだろうけどな。
279login:Penguin:2007/02/03(土) 21:54:44 ID:Mbd9W+hX
debian sidでguarddogを使って、iptablesを設定したのですが、
コンソールにdropが出てきてしまいます。
出てこないようにするには、何をチェックしたらいいでしょうか。
280login:Penguin:2007/02/03(土) 22:34:17 ID:oTECPBfb
BitTorrentを使う場合のiptableの設定どうしてます?
281login:Penguin:2007/02/03(土) 23:13:19 ID:v39deslj
ESTABLISHED,RELATEDをACCEPTするか、
6881:6889をACCEPTすればいいと思うんだが。
282login:Penguin:2007/02/13(火) 23:22:23 ID:9OlP74GS
ブルートフォース対策してルータの22番ポートを開放したんだけど

22番をアクセスしてくるのはkrfilterで引っかかるwwwwwwww
283login:Penguin:2007/03/02(金) 22:28:34 ID:JTDxz/pM
すみません、iptablesを使用したらFTP PASVが通らないようになりました。
任意に通すようにするにはどうすればいいんでしょうか?

284283:2007/03/02(金) 22:32:14 ID:JTDxz/pM
自己解決・・・・スレ汚しすみませんでした。
285login:Penguin:2007/03/04(日) 02:23:21 ID:rtydovR9
ワークステーションに iptables を導入しましたが、不特定多数のホストへのSSH の接続がうまくできません。
外向きの TCPは全て許可して、内向の sshポートに関してはdropしています。
どこかのホストに ssh で接続しようとすると、接続できず以下のログがのこります。

DROP: SRC=相手ホストIP DST=自ホストIP LEN=64
TOS=0x00 PREC=0x00 TTL=54 ID=57754 DF
PROTO=TCP SPT=22 DPT=34531 WINDOW=49248 RES=0x00 ACK SYN URGP=0

これは帰りのパケットでしょうか?iptablesというのは帰りのパケットも
考えて書かないとダメなんでしょうか?
ipfilterなら、帰りもうまく処理してくれるんだけどなぁ。
286285:2007/03/04(日) 02:35:47 ID:rtydovR9
解決しました。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
でした。このへんは、ipfilterと同じでした。m(_ _)m
287login:Penguin:2007/03/05(月) 03:31:35 ID:opQvOFx4
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT DROP
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# mkdir /etc/iptables
# touch /etc/iptables/rules.conf
# iptables-save > /etc/iptables/rules.conf
# echo "pre-up iptables-restore < /etc/iptables/rules.conf" >> /etc/network/interfaces

デスクトップユーザーとしてクライアント用途でLinuxを使うのであれば、
これでファイアウォールの設定はたぶんO.K.のはず。
ただしBittorrentなどのP2Pアプリを使う場合には対応できないかも。
288login:Penguin:2007/03/05(月) 07:37:47 ID:X82Cl+Nu
>>287
それって出れる?
289login:Penguin:2007/03/05(月) 07:39:12 ID:X82Cl+Nu
ゴメソ。NEW見逃してた。
290login:Penguin:2007/03/08(木) 01:00:59 ID:jbsn06pA
iptables 1.3.7をダウンロードしてきてコンパイルしたんだけど
recentモジュールが無い生成されていないからipt_recentが出来ない・゚・(つД`)・゚・

recentモジュールをlibに生成するにはどうすればいいの?

教えてエロい人。

ちなみにdebian sarge kernelは2.6.20
291login:Penguin:2007/03/08(木) 08:35:56 ID:j9wpKKjR
>>290 くだ質スレで質問なさったほうがレスポンスがよいと思われ
292login:Penguin:2007/03/08(木) 10:29:56 ID:jbsn06pA
>>291
ありがとう。そうします。
293login:Penguin:2007/03/15(木) 18:26:56 ID:+e6f4Vst
ウノウラボ Unoh Labs: 専用サーバを構築するときにまず行う4つの設定
http://labs.unoh.net/2007/03/post_73.html

・外部からの接続は、基本的にすべて拒否するが、ローカルネットワーク内からの接続は許可する
・ポート転送は許可しない
・ローカルホストからの接続は、すべて許可する

の例が載っているけど、
この設定って合ってるの?
294login:Penguin:2007/03/15(木) 18:52:04 ID:jQc5V+dg
>>287
># iptables -A INPUT -i lo -j ACCEPT

これなに? 意味あるの?
295login:Penguin:2007/03/15(木) 23:19:44 ID:qc6IOWMh
ゲートウエイサーバ(12.34.56.78と表現します)から
IN=eth1 OUT= MAC=(略) SRC=12.34.56.78 DST=224.0.0.1 LEN=28 TOS=0x00 PREC=0x00 TTL=1 ID=43446 PROTO=2
というパケットがたくさん来ているのですが、
これはブロックしてても良いのでしょうか?
296login:Penguin:2007/03/16(金) 00:23:25 ID:9kWMpe6D
>>294
loopbackにくるパケットは許可するってことだろ
297login:Penguin:2007/03/16(金) 00:51:06 ID:mW15p1Xn
BruteForceとしてport22とport21を監視しているのだが、結構いい感じだ。

krフィルターとipt_recent最強。
298login:Penguin:2007/03/17(土) 18:45:42 ID:Yt91YwSk
すみません。質問お願いします。

http://cyberam.dip.jp/linux_security/iptables/iptables_main.html
の後半にあるスクリプトを参考に iptables の勉強をしています。

このスクリプトですが、
Server <-> LAN: 全て許可
Server <-> WAN: ポートを指定して許可、それ以外は拒否
LAN -> WAN: ポートを指定して許可、それ以外は拒否
WAN -> LAN: Ping のみ許可、それ以外は拒否
となっているように思うのですが、LAN -> WAN と WAN -> LAN の
コメント行にある ".....ACCEPT" の意味がよくわかりません。

LAN <-> WAN は許可……?他と何が違うのでしょうか?
お分かりの方がいらっしゃいましたら教えていただけませんでしょうか?
よろしくお願いいたします。

>>287
iptables -A OUTPUT -o lo -j ACCEPT
も必要ではないでしょうか。
299login:Penguin:2007/03/18(日) 10:14:25 ID:lkW62HcB
moblockの賢い使い方教えちょうだい。
例えばbittorrentだけに使う場合どうやるの?
300login:Penguin:2007/03/18(日) 10:22:28 ID:tZFwhAqA
301298:2007/03/21(水) 02:50:12 ID:ZrXMqD8R
失礼します。
誠に勝手ながら、くだ質に移動させていただきたいと思います。
このレスを見て、答えてくださる方がいらっしゃれば、
くだ質にいらしてください。
よろしくお願いいたします。
302login:Penguin:2007/03/21(水) 11:58:02 ID:CJ4NEFZh
>>298
> LAN <-> WAN は許可……?他と何が違うのでしょうか?

FORWARDだろ。サーバ兼ルータ的な使い方なんじゃね。
俺んちもそうだけど。

> iptables -A OUTPUT -o lo -j ACCEPT
> も必要ではないでしょうか。

OUTPUT許可のところに--state NEWが含まれているから要らない。
俺も>>288,289で見落としてたw。
303298:2007/03/21(水) 17:48:47 ID:O8gADGKy
>>302
ありがとうございます。
".....ACCEPT" は、何を許可しているのでしょうか?
FORWARD とのことですが、ルータの機能を ACCEPT と呼んでいるのでしょうか?

> OUTPUT許可のところに--state NEWが含まれているから要らない。
なるほど。この OUTPUT は、eth0 でも lo でも有効なのですね。
304298:2007/03/21(水) 18:02:05 ID:O8gADGKy
すみません、sage 忘れました。
もう一度読んでいて気がついたのですが、
実は ACCEPT ではなくて、FORWARD の事だということなのでしょうか?
なるほど、それだったら納得がいきます。
305login:Penguin:2007/03/21(水) 19:35:41 ID:CJ4NEFZh
え〜と、コメントでしょ? あんまり難しく考えない方が。

> ".....ACCEPT" は、何を許可しているのでしょうか?

そのコメントに続く設定郡。
例えばこのままだとLAN内からOB25P時の587ポートに接続できないから、
それを許可(ACCEPT)したかったら、ここへ追加しましょう見たいな。
iptables -A lan_wan -d メール鯖のIP -p tcp --dport 587 -j ACCEPT

ただ、FORWARDはsmb等を明示的にDROPして他は許可にしている人が
多いと思うけどなぁ。
306298:2007/03/22(木) 05:11:55 ID:xJMgMLIF
>>305
たびたびありがとうございます。

確かにその通りですね。
でも、それだとなぜ Server <-> WAN や Server <-> LAN には ".....ACCEPT" が
書いていないのでしょう?

ですが、
> え〜と、コメントでしょ? あんまり難しく考えない方が。
その通りですので、とりあえず解決とさせていただきます。
とりあえず、知識のある方が見ても特別の意味はないということが分かっただけで、
十分です。
どうもありがとうございました。

> ただ、FORWARDはsmb等を明示的にDROPして他は許可にしている人が
> 多いと思うけどなぁ。
そうですね。ただ、基本は DROP というのが
良いお手本になるのではないかと思います。
307login:Penguin:2007/03/30(金) 22:56:25 ID:8JVFIncu
> ただ、FORWARDはsmb等を明示的にDROPして他は許可にしている人が
> 多いと思うけどなぁ。
用途によりけりだろ。
308login:Penguin:2007/03/31(土) 08:27:25 ID:EltKK77L
http://fedorasrv.com/iptables.shtml を参考にして、
中国と韓国からの接続を拒否しております。

COUNTRYLIST='CN KR'
wget -q http://ftp.apnic.net/stats/apnic/delegated-apnic-latest
for country in $COUNTRYLIST
do
for ip in `cat delegated-apnic-latest | grep "apnic|$country|ipv4|"`
do
FILTER_ADDR=`echo $ip |cut -d "|" -f 4`
TEMP_CIDR=`echo $ip |cut -d "|" -f 5`
FILTER_CIDR=32
while [ $TEMP_CIDR -ne 1 ];
do
TEMP_CIDR=$((TEMP_CIDR/2))
FILTER_CIDR=$((FILTER_CIDR-1))
done
iptables -I INPUT -s $FILTER_ADDR/$FILTER_CIDR -j LOG_DENYHOST
done
done
rm -f delegated-apnic-latest

知り合いが使用しているメールサーバに割り当てられている IP アドレスが
韓国のもののようで、知り合いにメールが送れず、困ってしまいました。
一時的に iptables を外して送信したのですが、今後の為に、
例外的に xxx.xxx.xxx.xxx という IP アドレスのみに関しては許可するようにするには、
上記をどのように変更すれば良いでしょうか?
309login:Penguin:2007/03/31(土) 08:44:23 ID:Ma3dh8rk
>>308
それはforで回すところで|grep -v xxx.xxx.xxx.xxxするだけ済むのじゃないのか。
310308:2007/03/31(土) 09:11:45 ID:EltKK77L
>>309
取得先のリストにはネットワークアドレスとホスト数が書いてあるようで、
教えて頂いたやり方で1つのIPアドレスを除外する事は出来ませんでした。
……って、これってシェルスクリプトの話になってしまうのでしょうか?
311login:Penguin:2007/03/31(土) 22:14:16 ID:0taKUXtt
ipcalc使えば解決しそうだが。
312login:Penguin:2007/04/03(火) 10:15:25 ID:z+dw3vDu
グラフィカルユーザインタフェース上でiptablesを設定できるツールって
何かありますか? できるだけ細かい設定にも対応していればいいんですが。
313login:penguin:2007/04/03(火) 17:23:47 ID:GE6Pjssu
314login:penguin:2007/04/03(火) 17:48:47 ID:GE6Pjssu
315login:Penguin:2007/04/06(金) 01:54:49 ID:oz8TbWBc
emacs
316login:Penguin:2007/04/13(金) 20:09:53 ID:thUuY1hz
実に馬鹿な間違いをしたものだ。
Debian sidを使っていて、2.6.20のソースが落ちてきた。さあコンパイルしてインストールだ…と
思ったら、iptablesが起動時に有効にならない。
どうやら新しいカーネルでESTABLISHED,RELATEDを許可するルールが有効になってなかったようだ。
make oldconfigで設定を引き継いだのだが、Netfilter connection tracking support(CONFIG_NF_CONNTRACK_ENABLED)がセットされていなかったのだな。
道理でうまくいかないわけだ。

今、再コンパイル中だ。
おまえらもカーネル構築時には気を付けろよ、って俺みたいな馬鹿はいないかw
317316:2007/04/14(土) 15:28:31 ID:XI7dgw1x
蛇足かと思ったが補足。

追加だけど
Networking options -> Network packet filtering framework (Netfilter) -> Core Netfilter Configuration の
"conntrack" connection tracking match support(CONFIG_NETFILTER_XT_MATCH_CONNTRACK)
"state" match support(CONFIG_NETFILTER_XT_MATCH_STATE)
Network packet filtering framework (Netfilter) -> IP: Netfilter Configuration の
IPv4 connection tracking support(CONFIG_NF_CONNTRACK_IPV4)
も忘れずに入れておいたほうがいいな。

IPv6もやっているのなら、
IPv6: Netfilter Configuration (EXPERIMENTAL)の
CONFIG_NF_CONNTRACK_IPV6
CONFIG_IP6_NF_IPTABLES
あたりもいるかな。まあ人それぞれだが。
318login:Penguin:2007/04/22(日) 21:35:54 ID:LpAHASwm
>>293
> $ sudo /sbin/iptables -A INPUT -i all -m state --state ESTABLISHED,RELATED -j ACCEPT
-i all つけると動かなかった
はずすと動いた
319login:Penguin:2007/04/27(金) 15:20:12 ID:+daqfGsX
SynFlood 対策に 1/s で 80/tcp に対する limit-burst を設定したいのですが、
最適値はどのように測定すればいいのでしょうか?

また、参考までに皆様の設定値を教えてください。
320login:Penguin:2007/04/27(金) 15:29:57 ID:mAH4GVwJ
>>319
SYNレートには最適値などない。ページのヒットレートやサーバの処理性能次第。
321login:Penguin:2007/04/27(金) 21:06:39 ID:xjr/suIm
もちろん、全てのサーバに対する最適値を質問しているのではありません。
自分のサイトに対するアクセス数などの要因が絡んでいる事は理解しています。

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

$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
323login:Penguin:2007/04/29(日) 20:41:31 ID:TA2dVdQ7
あります
324login:Penguin:2007/05/20(日) 21:36:26 ID:91gxU4C0
>>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に繋がらなくなってしまいました。
どのへんをチェックすればいいんでしょう。
325login:Penguin:2007/05/21(月) 06:08:43 ID:kVyes7gq
>>324

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

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

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

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

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

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

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

>>339
うちは http://ftp.apnic.net/stats/apnic/delegated-apnic-latest を使っていますよ
341login:Penguin:2007/06/10(日) 19:55:39 ID:kdglMI9l
>>339
私はここのデータを使わせてもらってます。
http://nami.jp/ipv4bycc/

>>340
APNICだけでは、足りないJPのアドレスがないですか?
342login:Penguin: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現在)
343339:2007/06/10(日) 21:47:57 ID:WfZdqta0
>>341
レスありがとうございます。

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

俺はiptablesの設定はrc.localに書いちゃう人なので良くわからない(苦笑
347login:Penguin: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は上からよんでいく
そして、上にある方を、優先してポリシーを適用するという大前提がある
348login:Penguin:2007/06/12(火) 15:59:34 ID:bNzfVXjZ
>>346
そのとおりでした。ありがとうございます。

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

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

いままで Debian 系をメインで使っていたので、
まだ Redhat 系の流儀がわかっておりません。
できるだけ郷に入っては郷に従えで行きたいと思っています。
351login:Penguin:2007/07/04(水) 11:19:00 ID:1/Qyerts
>>350
/etc/init.d/iptables save かな。
352350:2007/07/05(木) 07:20:59 ID:VsSiocxY
結局、system-config-securitylevel を使わない前提で
/etc/sysconfig/iptables をエディタで書き換えてます。
ときどき /etc/init.d/iptables save で別ファイルに保存して。
353login:Penguin: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 するメリットがわかりません。

アドバイスをお願いします。
354login:Penguin:2007/07/08(日) 12:12:05 ID:YCfVpWHt
たとえば掲示板か何かを公開した時に
掲示板スクリプトにセキュリティホールが存在して
(本来あってはならないことだが、しばしば起こりうる)
気づかぬうちにボットネットに参加してしまうかも知れない。
そういう時に RELATED と ESTABLISHED だけ許可しておいて
他は policy で DROP しておけば、犯罪ネットに貢献しないで済む。
355login:Penguin:2007/07/10(火) 15:28:15 ID:U82mxVZP
通信を許可するポートを動的に変更する方法はありますか?
動的というか、IPアドレスではなくてホスト名で許可したいのですが。

例えば、自分のノートPCの出口のグローバルIPをダイナミックDNSとして
ホスト名が常に変更されるようになっている時、そのダイナミックDNSの
ホスト名から得られたIPアドレスは通信できるようにiptableを設定
したいのですが、そのような事はできますか?
356login:Penguin:2007/07/10(火) 18:00:51 ID:zGJfejuy
macアドレス使うとか
357login:Penguin: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がかわるたびに
やらなくちゃいけないでつか?
358login:Penguin:2007/07/11(水) 11:03:28 ID:D3zZXJq+
>>357
うん。たとえFQDNで指定しても iptables コマンドを
実行した瞬間に名前解決されるわけだからね。
適当な Dynamic DNS に登録しておいて、
cron で定期的に iptables 設定しなおすとか。
359login:Penguin:2007/07/11(水) 11:06:23 ID:nph/g5pi
全てのlog.は出てます。
360amel:2007/07/11(水) 11:07:41 ID:nph/g5pi
aaa
361login:Penguin:2007/07/11(水) 11:14:47 ID:dikq2zGa
ほげ?
362login:Penguin:2007/07/11(水) 18:13:44 ID:7rPXioeP
>>357
構成と何がやりたいのかによりけりだけど、
eth0 とか ppp0 とかのインターフェース指定じゃ無理なケース?
363login:Penguin:2007/07/19(木) 10:13:27 ID:82b1F1Ds
>>341
そのページの説明を参考にiptablesを設定すると何千行にもなるんだけど、そんなもの?
今のところ普通に動いてるから、いいのかな?
364login:Penguin: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
こんなやつばかり。
365login:Penguin:2007/07/19(木) 11:20:33 ID:82b1F1Ds
>>364
レスthx、安心した。
wgetとcronで勝手に更新するようにしてみたんだけど、行数の多さに不安になってたのよ。
366login:Penguin:2007/07/19(木) 21:57:13 ID:uF7HBJve
firestarterで受信全閉め、送信全閉めand一部開けにしてる俺は
ダメな奴でしょうか?
やっぱ、色々やらんとダメなんですか?
367login:Penguin:2007/07/19(木) 23:44:47 ID:C5Hsn39j
コマンド叩いてるけど俺も同じような感じだよ!
開けてるのはhttp,https,ftpだけだったり
368login:Penguin:2007/07/24(火) 17:15:59 ID:ShS11Qps
firestarterの日本語訳って少し変
369login:penguin:2007/07/24(火) 20:22:39 ID:XmHSl5AF
>366-367
素朴な疑問です。例えば、http(80),https(443),ftp(21)以外は、送受とも全閉め…の場合、
そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック
されるんでしょうか?
370login:Penguin:2007/07/25(水) 08:42:24 ID:BPmm4tyb
>>369
> そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック

意味不明。

単にポートだけでOUTPUT側をフィルタした場合、当たり前だが1024以上も対象になる。
なのでiptablesのconntrackモジュールを併用してあげるといい。
371login:Penguin: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

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

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

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

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

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

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

>>375
なるほど、SELinuxですか
ちと調べてみます。ありがとん
377login:Penguin:2007/07/26(木) 07:48:38 ID:JylDrctM
--*id-owner系のオプションでなんとかならない?
378login:Penguin: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名無しさん@そうだ選挙に行こう: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て何ですか?初めて見ました。
383login:Penguin:2007/07/30(月) 13:54:13 ID:wIebROn1
>>382
0.0.0.0/0 と同じ意味。要はIPv4アドレス全て。
384たけぼん:2007/07/30(月) 15:46:34 ID:82MghHmK
ありがとうございます。
385login:Penguin:2007/08/01(水) 13:45:52 ID:xTh2AlOO

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

386login:Penguin: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になるのは
どういうときか、とか。もしかしてチェックサム不正だけ?
387login:Penguin:2007/08/03(金) 20:51:40 ID:wc/AKMVD
>>386
よくあるのがセッション乗っ取り目的の偽装TCPパケットだな。
SYNを送受信してないのにいきなりACKフラグだけ立ったTCPパケットが来たりすると
INVALIDになる。
388386: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
389login:Penguin:2007/08/03(金) 22:02:17 ID:wc/AKMVD
>>388
TCPヘッダの現在の状態を見て明らかに無効なパケットであれば
NEWではなくてINVALIDだよ。
390login: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
393login:Penguin: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
394login:Penguin: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
395login:Penguin: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のネットワークからだと駄目なので、書く場所とか書き方に少し
工夫が必要なのでしょうか?教えてクンですみません。
397login:Penguin:2007/09/02(日) 22:08:00 ID:xFZ3sRLE
>>396
今のルールセットじゃ無理だろう。
FORWARDチェインの冒頭に入れてみれ。
398login:Penguin:2007/09/02(日) 23:55:12 ID:4sOAdWya
>>397
今試せない状況なので追加質問だけさせて下さい。
繰り返しの説明になりますが、
>>392の設定でもルータAのネットワークからのアクセスは大丈夫なんです。
さらにもう一回マスカレードしているルータBのネットワークからのアクセス時
だけ駄目なんです。この場合も-o ppp0へのパケットの調整が有効でしょうか?
399login:Penguin: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はまってます:2007/09/04(火) 21:12:26 ID:ftQujwlz
昨日はルーターBのネットワーク内の各クライアント
(Solaris, FreeBSD, Debian, Ubuntu, RedHatEL, Windows)にMTUを設定していました。
全部問題なく設定はできたのですが、今後面倒だなあと感じ、ルータAにNICを追加し
ようかなと思っていた矢先、固定値を設定したらどうかなと試してみたらうまくいきました。
402login:Penguin:2007/09/04(火) 21:13:31 ID:lCleCBg/
>>400
ルータBでICMPをフィルタしていて「分割しなきゃダメだよ」というメッセージが
届けられてないのではないかと。
403login:Penguin:2007/09/04(火) 21:32:27 ID:nEQBaeKm
ここ最近Megauploadというオンラインストレージ会社から強引にサーバ上にあるファイルを引っこ抜かれています
実質的なプロキシーサーバのようですが何かよい対策はありませんか?
404はまってます:2007/09/04(火) 21:33:34 ID:ftQujwlz
>>402
そうです。ルータAのネットワーク内でping -f -lで調査すると
DFメッセージが帰ってきますが、
ルータBのネットワーク内で同じ調査した場合、パケットが
戻りません。

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

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

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

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

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

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

http://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
413login:Penguin:2007/10/16(火) 08:52:57 ID:JaL0o8rc
countryfilter.pl から生成された filter.sh の抜粋を貼ってくれ。
途中の IP アドレスをダラダラ記述した部分は不要だから。
414login:Penguin: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行くらいまで続いてます)
415login:Penguin:2007/10/16(火) 23:19:57 ID:JaL0o8rc
これ見ただけだと問題なさそうだけど・・

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

そこに問題が内容であれば、度々であれなんだが、
# iptables-save > filter-rule.txt
とでもして、filter-rule.txt をいい感じに抜粋したのを貼ってもらえると
アドバイス出来るかも知れない。
416login:Penguin: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
417login:Penguin:2007/10/17(水) 00:03:00 ID:vmGHd6pV
わけわかんねー状態で外とつないで怖くないのか?
「うざい国」以前にあんたのPCが「うざいマシン」になるかもだよ。

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

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

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

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

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

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

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

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

iptables -A droplog -j LOG --log-level info --log-prefix "LOG : "
このようにしてるのですがIPTABLESのログが画面に出力されてしまいます。
画面に出力しないようにしたいのですがどうしたらいいでしょうか?
よろしくお願いします。
447login:Penguin:2007/10/24(水) 00:08:48 ID:SbBD4pB3
iptables -A INPUT -j LOG --log-prefix "iptables: "
うちの環境だとこれで/var/log/messagesにずらずらとログが吐き出されてるよー。
448login:Penguin:2007/10/24(水) 00:36:49 ID:jqvnxtk4
>>446
man syslog.conf
449login:Penguin:2007/10/24(水) 07:28:33 ID:8AtQmbnx
iptables -Lってすると一部だけどDNS引いた結果出してくれる(〜〜.ne.jp/21とか)
のはいいんだけど、ApacheみたいにDNS引いてるから遅いってやっぱりありますよね?
これって設定とかで引かせないようにできるんですか?
iptablesが重たいのを少しでも何とかできればと思っています。
450login:Penguin:2007/10/24(水) 08:33:21 ID:TTzmV6tO
>>449
-n
man 読めよ。
451login:Penguin:2007/10/24(水) 09:17:40 ID:/YI0Hkhg
>>449
iptables自体が重くなるって意味がわからん
iptables -L(-n無し)で設定表示したときにドメイン名逆引きするだけだぞ
452login:Penguin:2007/10/29(月) 13:52:10 ID:Ar8OORqT
質問させてください。

@ iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
A iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT

@とAは違ったりしますでしょうか?
453login:penguin:2007/10/29(月) 22:32:58 ID:KgFnwMuo
>452

(日)と(月)は違うぞ!













曜日が…
454login:Penguin:2007/10/30(火) 23:01:19 ID:sCmEB94u
>>453
うれしそうだねwwwww
455login:Penguin:2007/10/30(火) 23:07:48 ID:HosQjitr
>>453
意味がわからんかった

いまごろ 理解したよ
456login:Penguin:2007/10/31(水) 00:35:10 ID:e4JVZKQc
(日)と(月)に見えた人が書き込んだ場合、
(日)と(月)にはならないと思うんだ。
457login:Penguin:2007/11/01(木) 02:42:36 ID:5rKuYKAC
>>455
まだワカンネどういう事?
458login:Penguin:2007/11/01(木) 07:20:32 ID:k9000Ae8
459login:Penguin:2007/11/01(木) 09:56:00 ID:hcVfni0f
懐かしいw

e-mail始めた頃、「MACの人も居るから○文字は使うな」とか
ネチケット叩き込まれたことがあるな
460login:Penguin:2007/11/02(金) 15:57:48 ID:zzEzt7oi
まだ前の回答ついてないのに恐縮ですが、質問です。
scp転送用にポート転送を設定したいんですがうまくいきません。

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 8022 -j DNAT --to-destination 転送先マシンIP:22
iptables -A FORWARD -p tcp --dport 22 -d 転送先マシンIP -j ACCEPT

としてみたのですがうまくいきません。要するにssh用の口が2つあって、一つは別のマシンに転送します。
設定後、外部から

$ ssh -p 8022 user@ルーターIP

とすると、転送先マシンにつながることを期待していたのですが、無反応です。
何が足りないんでしょうか。
461login:Penguin:2007/11/02(金) 17:20:11 ID:/5AvQRIJ
>>460
> iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 8022 -j DNAT --to-destination 転送先マシンIP:22
> iptables -A FORWARD -p tcp --dport 22 -d 転送先マシンIP -j ACCEPT

まったく外しているかもしれないけど、

iptables -A INPUT -p tcp --dport 8022 -j ACCEPT

じゃないの? あと、順序はいいのかな。
462460:2007/11/02(金) 17:43:42 ID:zzEzt7oi
>>461
ありがとうございます。
> iptables -A INPUT -p tcp --dport 8022 -j ACCEPT
入れてもダメでした。

Webサーバーが、ポートの変更はないものの、やはり内部のマシンに転送する設定になっていて、
そちらは>>460に書いたような設定でアクセスできています(INPUTのACCEPTもなし)。
ポート番号変更して飛ばす場合は何かほかに設定が必要なんでしょうかねぇ。
SSHは特別とか。ググりまくってるんですが、今のところ収穫なし。疲れた…。=□○_
463login:Penguin:2007/11/02(金) 18:09:26 ID:L7xx/Ax3
echo 1 > /proc/sys/net/ipv4/ip_forward
464460:2007/11/05(月) 10:51:36 ID:Aa00PO2k
>>463
最初に書かなかったのがいかんでしょうけど、いくらなんでもそれは…。
Webサーバーへの転送ははできてるって、すぐ上に書いてるんだけど…。
465問題の切りわけができないやつは死ね:2007/11/07(水) 20:37:20 ID:LiUjlGKZ
書いてある設定はあってるきがするから
書いてある設定以外の設定もみたほうがいいよ

そもそも、書いてある設定だけに原因があると判断した根拠はあるの?
ないなら、もっと情報を集めるべきだよ
パケットがどこまで来てるか確認するとか
すくなくとも「SSHは特別とか。ググりまくってるんですが」と言うならTCPコネクションは正しく張れていることを確認したわけだよね?
466login:Penguin:2007/11/11(日) 15:13:33 ID:T0iIgraT
んだな。
転送先のSSHの設定が間違ってるんじゃないかな。
少なくとも転送先にパケットが届いているかと、routerの方でドロップしていないか
logみて確認した方がいい。
467login:Penguin:2007/11/11(日) 22:23:07 ID:eYVSNPRX
deiban-etch-i386で配布されているiptables-1.3.6を使っています。
もしかして--*-ownerで指定するownerマッチって、CPUがデュアルなSMP環境では使えない?

http://iptables-tutorial.frozentux.net/iptables-tutorial.html
上記URLのtutorialの Owner match の項目に
"The pid, sid and command matching is broken in SMP kernels since they use different process lists for each processor. It might be fixed in the future however"
って書いていて、この文書はiptables-1.2.2を対象にしているのだけど、
実際に今のバージョンのiptablesでownerマッチを試してみると、
# iptables -A OUTPUT -m owner --cmd-owner httpd
iptables: Invalid argument

となる。。。 いつかSMP環境でもownerマッチが実装されるようになる予定、
もしくは使えるようにするパッチとかあるのかな?
468login:Penguin:2007/11/13(火) 11:48:29 ID:z5V70nVz
>>467
それは単に--cmd-ownerオプションを有効にした状態でコンパイルしていないものと
思われ。

iptablesをコンパイルする際にIPT_OWNER_COMMを設定してコンパイルしておく
必要がある(iptablesの既定では設定されていない)。
469login:Penguin:2007/11/13(火) 12:06:45 ID:sXVFNasV
>--cmd-owner name
>(Please note: This option requires kernel support that
>might not be available in official Linux kernel sources or
>Debian's packaged Linux kernel sources.
>And if support for this option is available for the
>specific Linux kernel source version, that support might
>not be enabled in the current Linux kernel binary.)
470login:Penguin:2007/11/13(火) 12:09:29 ID:z5V70nVz
>>467>>468
訂正。2.6.xカーネルをよくよく読んだら
> ipt_owner: pid, sid and command matching not supported anymore
だそうだ。

uidとgidのマッチングだけが残されてる模様。
471login:Penguin:2007/11/14(水) 16:12:34 ID:smyKDrGU
>>468-470
--cmd-ownerで指定したかった実行ファイルを、適当なグループにchgrpして
--gid-owner使うしかなさそうね。。。とりあえず、--gid-ownerが使えることは
確認できました。ありがとう。以上
472login:Penguin:2007/11/16(金) 11:04:17 ID:l7VK4xQc
ntpを通す設定をする時は
127.127.1.0(ローカルのクロック)も通さなくてはいけないのでしょうか?
473login:Penguin:2007/11/16(金) 11:38:49 ID:+r76b4S+
>>472
ローカルクロックをntpで使わない(常に他の時計を参照して時刻修正をする)
のであれば通す必要はない。

ただntp以外のものを動かすことを考慮すると、デバイスloから来たものについては
通しても問題なさそうな気がするが。
474login:Penguin:2007/11/17(土) 08:31:59 ID:FMqlrwB/
アウトバウンドの返りの許可をINPUTで書くのはまずいですか?

${IPTABLES} -A OUTPUT -p tcp -s ${MY_HOST} -d ${ANY} --dport 22 -j ACCEPT
${IPTABLES} -A INPUT -p tcp -s ${ANY} --sport 22 -d ${MY_HOST} -j ACCEPT

今はこんな感じに書いています。
でもこれだとソースポートを22にされるとACCEPTしてしまうということですよね
自分がsshを触ってログを見ると、
アウトバウンド:OUTPUT時には、
デスティネーションポートは22
ソースポートはテンポラリーな数字が入っています
このテンポラリーな数字を22にされたら(そんなことが出来るのか分かりませんが)
通ってしまうんじゃないか…と思うのですが、どうなのでしょうか。
475login:Penguin:2007/11/17(土) 08:52:38 ID:qUJKPscf
iptables動かしているホストからsshで他のリモートホストに接続を許可、
他のリモートホストからsshで接続される可能性を排除したい状況だと
思うのだけど、

${IPTABLES} -A OUTPUT -p tcp -s ${MY_HOST} -d ${ANY} --dport 22 -j ACCEPT
${IPTABLES} -A INPUT -p tcp -s ${ANY} --sport 22 -d ${MY_HOST} -m state --state ESTABLISHED,RELATED -j ACCEPT

でどうかな?2行目は、確立されたコネクションしか通さない、というルールです。
他のリモートホストの接続のソースポートが22であっても、
別のルール又はポリシーでACCEPTしない限り新しいパケットは通しません。
あくまで自分で他のリモートホストへsshしたアウトバウンドの返りのみ許可します。
476login:Penguin:2007/11/17(土) 09:58:36 ID:FMqlrwB/
>>475
おっしゃるとおりの環境です
確かにこれなら大丈夫ですね
分かりやすい説明ありがとうございました
477login:Penguin:2007/12/04(火) 12:56:38 ID:J8tqiXLe
/sbin/iptables -t nat -P PREROUTING DROP
とした後に
/sbin/iptables -A INPUT -p TCP -i eth0 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -p TCP -o eth0 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
としてもパケットが通りません・・・orz
一旦PREROUTINGをDROPした状態で必要なポートだけ空けるにはどういう設定したらいいですか?
478login:Penguin:2007/12/05(水) 04:41:35 ID:m+53PlcA
そりゃnetテーブルでパケットDorpさせてるから、filterテーブルまで
パケットが届く訳がないかと。

私見だけどnetテーブルってそもそもアドレス変換する所で、フィルタ
する所では無いと思ってんだけど。

そこでDorpさせないで、
素直に
iptables -P INPUT DROP
iptables -A INPUT -p TCP -i eth0 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  :
他のルール

でいいんでわ?
あと
iptables -A OUTPUT -p TCP -o eth0 --sport 80 -m state --state ESTABLISHED,RELATED -j ACCEPT
はいらねーんじゃね?
INPUT側で確立したセッションについてはOUTPUT側は自動で面倒見
てくれるんだし。
479login:Penguin:2007/12/05(水) 07:34:20 ID:5K5f62C9
480477:2007/12/05(水) 08:58:33 ID:bS7YQRUV
やっぱPREROUTINGでフィルタリングするべきでは無いっすか。ありです。
481login:Penguin:2007/12/06(木) 12:24:28 ID:MDMJf4Qy
477だけどPREROUTINGで必要なポートだけREDIRECTしてやればいけそうな感じです。
他の要因でまだ試してないですが・・
482login:Penguin:2007/12/08(土) 01:50:58 ID:hgE2t6/f
>>477
ちなみに何故PREROUTINGでやるのか後学の為に教えて下され。
483154:2007/12/12(水) 23:53:15 ID:Pf/pNXYM
今回vsftpdを利用したFTPサーバの構築に挑戦しているのですが、壁にぶつかって1週間近くも経ちます。そこでこの場を借りて質問したいと思います。

環境:ルータを軸に、WAN側:動的IP、LAN側:ハブでPCが2台(1台はFedora(サーバ)、もう1台はwindows(確認用クライアント))
設定操作:(全てFFFTPはPASVモード、anonymous接続)
1)ルータ、ファイアウォールの設定でFTPのWellKnownポートを開ける。
2)vsftpdをインストールしデフォルトのままLAN内で動作確認。
3)WAN側の動的IPを逐一確認しつつ、(2)までの設定のまま、そのグローバルIPアドレスを使って動作確認。(WAN側からのアクセス)
4)vsftpdでPASVに関する設定を行い(ここでPASVで使うポートを4000から4029に指定)
iptables及びルータでそれらのポートを開け、WAN側の動的IPを逐一確認しつつ、動作確認。
5)xinetdでvsftpdをスーパーサーバにし、WAN側アドレスにドメインを指定して動作確認。

結果:(1)開けた
(2)正常に動作(接続先のファイル一覧の取得に成功)
(3)PASVに関する設定をしていないのでもちろん失敗(FFFTPログ:接続できませんでした)
(4)なぜか失敗。動作結果は(3)と同様。

484154:2007/12/12(水) 23:54:10 ID:Pf/pNXYM
vsftpdの設定
デフォルトのままの設定の一番下に以下のような記述を加えました。
#以下、PASV関係の設定
pasv_enable=YES
pasv_address=211.10.47.197
pasv_addr_resolve=YES
pasv_min_port=4000
pasv_max_port=4029

iptablesの設定(一番下)
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4000:4029 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
485154:2007/12/12(水) 23:55:49 ID:Pf/pNXYM
xinetdでvsftpdをスーパーサーバ型にするのはこの問題が解決してからする予定です。
この設定でおやじさんのFTP TESTを利用すると正常に接続できるのですが、FFFTPやnet2ftpを利用した接続ができません。どこに原因があるでしょうか。よろしくお願いします。

初めは自宅サバ板で質問していたのですが、あちらの住人のススメでiptablesに詳しいこのスレで質問させていただくことにしました。
外部からのアクセスログ
ホスト 211.128.32.219 (21) に接続しています.
接続しました.
220 (vsFTPd 2.0.5)
>USER anonymous
331 Please specify the password.
>PASS [xxxxxx]
230 Login successful.
>XPWD
257 "/"
>TYPE A
200 Switching to ASCII mode.
>PASV
227 Entering Passive Mode (211,10,47,197,15,185)
ダウンロードのためにホスト 211.10.47.197 (4025) に接続しています.
接続できません.
ファイル一覧の取得を中止しました.
ファイル一覧の取得に失敗しました.


自宅鯖板の方々からはやはりiptables、FWの設定ミス・不足が有力視されています。
486login:Penguin:2007/12/13(木) 00:55:26 ID:h9SR/G0E
素直にこれじゃ接続できんの?
#pasv_enable=YES
#pasv_address=211.10.47.197
#pasv_addr_resolve=YES
#pasv_min_port=4000
#pasv_max_port=4029
487login:Penguin:2007/12/13(木) 02:31:38 ID:4N7nbO+s
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 4000:4029 -j ACCEPT

この設定にだけじゃ単にポート開けてるだけで、アドレス変換されとらんかと。

NATテーブル側で tcp dpts:4000:4029 to:鯖のプライベートアドレス

の設定追加で行けるんじゃ?
488487:2007/12/13(木) 02:37:06 ID:4N7nbO+s
勘違いした。鯖とFWは同じマシンで別にルータが居るのか。と云う事は、

↑の設定をルータ上に入れんと駄目って事ね。

1)でやってるFTPのWellKnownポートを開ける。
に4000から4029が含まれて無いと仮定しての話しだけど。
489154:2007/12/13(木) 16:54:19 ID:RBocae6Q
非常に申し訳ないのですが、無事に解決致しました。
ttp://pc11.2ch.net/test/read.cgi/mysv/1195284211/l50
質問に答えてくれ方々、どうもありがとうございました。
490login:Penguin:2007/12/13(木) 21:11:00 ID:4N7nbO+s
マルチかよ。二度とくんな!
491login:Penguin:2007/12/13(木) 21:44:57 ID:Dtsl/eW1
>485
492login:Penguin:2007/12/13(木) 21:49:32 ID:Dtsl/eW1
ところで、pfの話はここでしていいんかい?
493login:Penguin:2007/12/13(木) 22:01:17 ID:k10Nz7ru
>>492
スレ違いの前に板違いだろう。
494login:Penguin:2008/01/05(土) 21:36:50 ID:j9FhIFrb
77 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 19:11:58 ID:ztbiyh8EP
まあこういうことをスルー出来ない報告者のほうが悪いんですけどね(笑)

82 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 19:13:31 ID:ztbiyh8EP
>>78
ちょ・・・全鯖っすか・・・

89 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 19:19:36 ID:ztbiyh8EP
申し訳ありません
失言でした・・・

98 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 19:29:51 ID:ztbiyh8EP
このような場所で不適切な発言をしたことは
本当に申し訳ないと思っております

どうか全鯖規制については取り消しをお願い致します・・・

103 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 19:37:36 ID:ztbiyh8EP
今回はVIPの1スレで遊んでただけなんですが・・・

120 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 20:37:13 ID:ztbiyh8EP
FOXさんを煽ったつもりはないです
勘違いさせてしまったなら謝ります

127 電波王 ◆DD..3DyuKs New! 2008/01/04(金) 20:53:11 ID:ztbiyh8EP
一人で自治ってろボケ
yutori鯖はVIPPERには落とせないんだろ?
そもそも今回はsamba突破して連投してないし鯖に負担かかったとも思っていない
495login:Penguin:2008/01/05(土) 21:37:07 ID:j9FhIFrb
あ。誤爆。すまそ
496login:Penguin:2008/01/05(土) 21:50:44 ID:TOhgYRiE
     ↑eve↑,カンリニン…
     (+Φ Φ)
     //…〆∞i ………>規制せよ
 ←√//;ミシミシミシッッ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
497login:Penguin:2008/01/05(土) 21:56:07 ID:TOhgYRiE
     ↑eve↑,カンリニン…
     (+Φ Φ)
     //'〆∞i ………>そして、Webから2chを抹消するのだ…
 ←√//;ミシミシミシッッ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498:2008/01/10(木) 15:11:06 ID:upM3OZCX
iptablesって最大何個チェインを作成できるの?
499login:Penguin:2008/01/12(土) 02:24:05 ID:FBfOnT6z
iptablesじゃなくてshoewall使ってる人いる?
shoewall便利だよ
500login:Penguin:2008/01/12(土) 14:42:33 ID:elZa4LnA
shorewallは知ってるけどshoewallは知らないな

>iptablesじゃなくてshoewall
日本語でおk
shorewallもiptablesだろうが
501login:Penguin:2008/01/12(土) 18:12:16 ID:RLFhqBrs
shorewallはiptablesラップして設定吐き出すだけだしね。
まずはiptablesを理解した上で使うにはいいだろうけど。
502login:Penguin:2008/01/14(月) 01:50:31 ID:AUJ7vIQN
質問です。
iptables -A INPUT -i ppp0 -p tcp --syn -m limit --limit 1/m --limit-burst 5 -j DROP
で1秒に5回以上のSYNをDROPする場合、たとえばppp0に接続しようとしているユーザーAと
ユーザーBがいるとします。この1秒に5回許されるというのはAとBの合計ですか?

つまり、1秒の間にAが3回SYNを送って、
Bが3回SYNを送ると、Bの3回目のSYNが遮断されるということですか?(SYN五回までと
いうカウンタは全ユーザーの合計数が保持される)

それとも、1秒の間にAが3回SYNを送っても、
Bは5回SYNを送る事が出来るということですか?(SYN五回までというカウンタはユーザー
毎に保持される)
503login:Penguin:2008/01/14(月) 03:55:07 ID:+I2svrJp
>>502
>この1秒に5回許されるというのはAとBの合計ですか?
yes

ほしいのはたぶんhashlimitだと思う。↓この辺でも見て。
ttp://dsas.blog.klab.org/archives/50208645.html

recentでもいいらしいが使ったことないのでパス。
504login:Penguin:2008/01/14(月) 10:22:37 ID:AUJ7vIQN
>>503
質問だけで求めているものをエスパーしてくれるとは・・
どうもありがとう
505login:Penguin:2008/01/14(月) 11:15:48 ID:AUJ7vIQN
でも入れるの難しそうだな
なんせDD-WRTだから
506login:Penguin:2008/01/18(金) 16:43:24 ID:lPyT/fq/
iptablesで弾いたログってどこに出力されるのでしょうか?

krfilter
ttp://www.hakusan.tsg.ne.jp/tjkawa/lib/krfilter/
を手順通りに行ったのですが、dmesg に出力されてません。

iptalbes -L をみると、しっかりフィルタリングはされております。

507login:Penguin:2008/01/18(金) 17:12:12 ID:lOIomrR1
一般的解答
・弾いたログをsyslogなどに記録しないとみれません。

簡単に調べる方法
iptables -L INPUT -v -n --line-numbers -x
で破棄されたパケット数、バイト数をルールごとに確認できる。
508506:2008/01/18(金) 17:30:39 ID:yM/22QF2
ご回答ありがとうございます。
早速教えていただいたオプションを入れて閲覧してみましたが、やはり破棄されたものは 0pkts 0bytes でした。

krfilterのページには、
>フィルタのログを取りたければ,代わりに以下のように設定します。
>ログは dmesg コマンド等で参照できます。
># iptables -A KRFILTERED -j LOG --log-prefix "Rej-TCP "
># iptables -A KRFILTERED -j DROP

とあるのですが、これを入れても dmesgに出力されない場合は何もフィルタにかかっていないって事でしょうか?
LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4 prefix `Rej-TCP '



509login:Penguin:2008/01/18(金) 19:11:40 ID:lOIomrR1
フィルタのリストにあがっていてもすでに通過するルールに従って通過して
いることはないでしょうか。この場合、限界までフィルタリストに追加して
もまったく意味を成しません。

ログに記録するされる機能を試したければ運用に影響のない新しいルールを一つ作り、
自分で試すことが無制限かつ永久にできます。
510login:Penguin:2008/01/18(金) 19:26:09 ID:yM/22QF2
>フィルタのリストにあがっていてもすでに通過するルールに従って通過して
>いることはないでしょうか。この場合、限界までフィルタリストに追加して
>もまったく意味を成しません。

なるほど!
まさにそれのような気がします。
上に作ったルールがあったので。アホでした。

丁寧に教えてくださりありがとうございました!
511login:Penguin:2008/01/19(土) 06:56:27 ID:V/B+zaIL

私が小学生の頃、
日本中でノストラダムスの予言が大流行していた。
「1999年の7月に人類は滅亡する!」
という例のお騒がせ終末予言である。

大人になって社会に出て働きだして、
あくせくと忙しく日々を過ごしながら、
1999年は、
ありふれた日常の中であっさりと過ぎていった。
人類は滅ばなかった。

これからここで、
1999年に起こるかもしれなかった人類の壊滅的破局を、
誰にも知られずにこっそりと回避させた人たちがいた...
という設定で、
荒唐無稽なストーリーを描いてみたい。
無論、100%完全なフィクションである。

http://www5.diary.ne.jp/logdisp.cgi?user=532063&log=200705
512login:Penguin:2008/01/19(土) 23:19:42 ID:poPr5669
513login:Penguin:2008/01/20(日) 00:20:37 ID:Stwf61MT
ubuntu7.10を入れたPCにsshで繋いで、nmapをやったら↓の様に出ます。

$ nmap localhost
Starting Nmap 4.20 ( http://insecure.org ) at 2008-01-20 00:01 JST
Interesting ports on localhost (127.0.0.1):
Not shown: 1694 closed ports
PORT STATE SERVICE
22/tcp open ssh
3000/tcp open ppp
3306/tcp open mysql

この状態でSSHでの繋ぎ元のブラウザから http://192.168.1.13:3000/ で繋がらないようで
ブラウザには「192.168.1.13:3000 のサーバへの接続を確立できませんでした。」とでます。
ポートは空けているつもりなのですが、どこが間違っているのでしょうか?
自分なりに調べているのですが、手詰まりのような状態で
どこに手をつければよいのか分かりません。
ご助言をお願いします。
514login:Penguin:2008/01/20(日) 00:23:54 ID:GjWIMeOh
httpdはあがってんの?
ubuntu7.10マシンからはそのページ見えるの?
515513:2008/01/20(日) 00:29:00 ID:Stwf61MT
レスありがとうございます。

ubuntuを入れたPCからは、そのページを見ることができていて
画面も動かせています。
動かしているアプリは、httpdではなくWEBrickで動かすようにしています。
516login:Penguin:2008/01/20(日) 00:40:03 ID:GjWIMeOh
ubuntu7.10マシンの外からnmapしてみてよ
いま繋ごうとしてるクライアントのマシン
517513:2008/01/20(日) 00:57:24 ID:Stwf61MT
端末に使用しているものはwin xpになります。
↓が実行結果です。
ポート3000は端末から見たら閉じているということでしょうか。
iptablesをあちこちの記事を見ながら修正したのですが。。。


C:\Program Files\nmap-4.53>nmap 192.168.1.13
Starting Nmap 4.53 ( http://insecure.org ) at 2008-01-20 00:53 東京 (標準時)
Interesting ports on 192.168.1.13:
Not shown: 1713 closed ports
PORT STATE SERVICE
22/tcp open ssh
MAC Address: 00:03:47:FF:FF:FF (Intel)

Nmap done: 1 IP address (1 host up) scanned in 0.453 seconds

C:\Program Files\nmap-4.53>
518login:Penguin:2008/01/20(日) 01:00:03 ID:GjWIMeOh
うん、ダメね
続き頑張って〜
519login:Penguin:2008/01/21(月) 01:09:20 ID:YfsBM33D
iptables の設定の数とネットワークパフォーマンスの落ちの関係をグラフにとってくれないか誰か
520login:Penguin:2008/01/21(月) 06:07:39 ID:zS1pvPfR
卒論の季節か
521login:Penguin:2008/02/22(金) 00:41:35 ID:g90UI89f
xx.xx.xx.52/29
  │
┌┴─┐     ┌──┐
│鯖1 ├(HUB)┤鯖2 │
└──┘     └──┘
192.168.1.1   192.168.1.2
xx.xx.xx.53    xx.xx.xx.54

IP8個の契約をして自宅サーバー2台を運用しようと苦戦中です
固定IPの末尾53と54で2台を使ってWEBサーバーを構築するのが目的です

鯖1のeth1からハブ経由で鯖2へ繋いでプライベートIPを割り当てましたが
外部から末尾54へのpingが通らず鯖2が外部に出ない状態です
ping時の鯖2のtcpdump2を確認するとrequestは届いてるので出られないのかと思うのですが…
煮詰まってます。どなたかご教示お願いします。

鯖1のiptablesの設定
iptables -t nat -A PREROUTING -i ppp0 -d XX.XX.XX.54 -j DNAT --to-destination 192.168.1.2
iptables -t nat -A POSTROUTING -s 192.168.1.2 -j SNAT --to XX.XX.XX.54
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.2 -j ACCEPT
iptables -A FORWARD -d 192.168.1.2 -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
522login:Penguin:2008/02/22(金) 07:56:06 ID:ubCvY1Yz
>>521
鯖2の設定は?
IP=192.168.1.2
ケートウェイ=192.168.1.1
になってるか?
523login:Penguin:2008/02/22(金) 09:27:43 ID:T46IPvJg
>>521
まさかと思うけど、2 は ping 返す設定になってるのね?
あと 2 の firewall は平気なのね?(つまり全て ACCEPT
でも問題は生じる)
524login:Penguin:2008/02/22(金) 10:46:08 ID:Yb+hcSiH
ちょっと調べてたらこんなの見つけたのだが、SSHでWEB鯖いじるぐらいならこれぐらいで十分なの?
かなり難しく考え込んでたけどこのスレ住民的にどうなのよ?
## ルールの初期化
iptables -F
iptables -X

## 基本ルール設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

## サーバー自身からのパケットを許可する
iptables -A INPUT -i lo -j ACCEPT

## WEBサーバーを許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

## SSHサーバーを接続許可
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

## ping制限
iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i ppp+ -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

## 確立セッションのアクセスは許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## 設定の保存
/etc/init.d/iptables save

## サービス再起動
/etc/init.d/iptables restart
525login:Penguin:2008/02/22(金) 13:39:49 ID:RBpx9Ma8
>>521です

>>522-533のご指摘内容は問題なそうだけど
どうやら鯖2の方に問題があるようでした

鯖2もNIC2枚差しでeth1の方でUSENに繋いでたのですが
そっちの接続が確立してると繋がらないみたいです
理由は分かりませんが
526login:Penguin:2008/02/22(金) 14:06:32 ID:TPBVWopc
順番に解決しろ
iptablesとは何の関係もない
527login:Penguin:2008/02/22(金) 14:47:42 ID:gxYR4a4l
>>525
鯖1も鯖2もUSENにつながっているってことか?
回線を複数契約していなきゃそんなことは普通できないでしょ。
IPが複数割り当てられているってことと回線が複数あるっていうことは意味が違う(レイヤが違う)んだから。
528login:Penguin:2008/02/22(金) 15:09:03 ID:RBpx9Ma8
>526
順番に解決していきます
昨日の段階では鯖1のNATテーブルに原因があると思って質問したのですが
見当違いのようでした

>527
USENが繋がってるのは鯖2のみです
回線は固定IPでISPを複数契約してます
529login:Penguin:2008/02/22(金) 18:05:11 ID:Uz1dF2tJ
何がやりたいのか、さっぱりわからない。
530login:Penguin:2008/03/08(土) 10:02:41 ID:Ja0OgwLu
iptables -L --line-number
で表示するとチェイン名の横に(0 references) とか(1 references)
とかってあるんだけどこれ何?参照って意味らしいけど何を参照してるのか
先頭の番号が何を表してるのがさっぽり分りませんw
531login:Penguin:2008/03/08(土) 10:43:55 ID:Ja0OgwLu
事故怪傑しますた!
532login:Penguin:2008/03/14(金) 19:35:56 ID:JcU4K66O
ルールを追加するスクリプト書いてますが
チェイン名のリストだけを取得する方法ないですか?
iptables -L
だと、ルールも長々と表示されるので困っています
533login:Penguin:2008/03/14(金) 20:47:56 ID:pQGeKBA7
>>532
超安直
$ iptables -L | grep ^Chain
534login:Penguin:2008/03/14(金) 22:49:59 ID:8R7ipwG4
もうちょっと書くと、
iptables -L -n|grep -e "^Chain" |cut -d " " -f 2
かな?
535login:Penguin:2008/03/15(土) 23:38:04 ID:ZRUflPco
ものすごい基本的なことかも知れませんが、iptablesが動いているとメールが送信できません。
iptablesを止めるとメール送信できます。

ルールですが
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:25

こんな感じになっていて、コマンドは下記の様に設定いたしました。

iptables -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 25 -j ACCEPT

OSはredhatです。
どうぞよろしくお願いします。
536login:Penguin:2008/03/16(日) 01:42:43 ID:XWkiOM0n
>>535

自己解決しました。

537login:Penguin:2008/03/18(火) 00:41:45 ID:xG7RTwPf
535=536
落書きウザ
538login:Penguin:2008/03/28(金) 20:20:16 ID:RgSeR1VL
ガガガ・・・ニコニコ生放送が見れなくてorzしてたら・・・してたら・・・
iptablesのせいですた
539login:Penguin:2008/04/07(月) 11:40:37 ID:MoCBASYC
iptablesを使いこなせないおまえのせい、の間違い。
540login:Penguin:2008/04/07(月) 15:29:33 ID:kB83g4pV
そうっすねそうっすね
カメラに向かってごめんなさいしてきます
541login:Penguin:2008/04/21(月) 19:41:11 ID:I4EnTsVG
自作ルータを作ろうと、本やネット上のiptablesのサンプルで勉強中の者です。

TCPフラグの検査部分については、どのサンプルもほとんど同じですが、
iptables -A FLAG_CHECK -p tcp --tcp-option 64 -j DROP
iptables -A FLAG_CHECK -p tcp --tcp-option 128 -j DROP
という2行が、あるものと無いものがあります(半々ぐらいの印象です)。

64も128もIANAには認められていないようです。
loose source routing blockとするサイトもありますが、違いますよね?(該当は131?)
この64と128を不正だと判断するのは何故でしょうか。お教えください。

ググるうちに、Internet Engineering Task ForceのRFC791を見て、68を蹴った方がいいかと
変な勘違いをしてしまったり、どんどん脱線しそうで orz
どうか、よろしくお願いします。
542login:Penguin:2008/04/21(月) 19:50:13 ID:maU7qj53
>>541?そもそもそれらのビットがどういう意味を持っているものなのか知ってから設定すれ。?それらはいずれもRFC3168で規定されたもので、CWR (輻輳ウインドウ減少) と?ECE (ECN-Echo) だ。
543login:Penguin:2008/04/21(月) 20:40:22 ID:I4EnTsVG
>>542
まさか、こんなに早いレスがあるとは。
まだ、ほとんど読んでませんが、最後の60ページあたりが重要なのかな?
どうも、ありがとうございます。
544login:Penguin:2008/04/21(月) 20:58:20 ID:8JxepitL
質問です。
iptablesで--uid-ownerを見て--set-markして
iprouteのほうでユーザー毎にルーティングテーブル用意して切り替えてるんですけど
複数のユーザーが同時に別のルートを使うとすごく遅くなります。
解決方法ありますか?

もしくは、この方法以外にユーザー毎にルートを別にする(or NICを別にする)方法ってありますか?
dest addressやdest portで切り分けることはできません。
Cent OS使ってます。
545541:2008/04/21(月) 22:21:41 ID:I4EnTsVG
ECN(CWRとECE)はこれまでReservedだったフィールドを使っている。
ECNに対応したホストは10か01をセットして送信する。
それを弾いていると。

ということは、クライアントがECNに対応していても、ルータがECNによりマークされたパケットを
無条件に破棄したら、クライアントはそれを利用できないと。

大雑把だけど、こんな感じでしょうか。
自作ルータへの道のりは何だか遠そう。
546login:Penguin:2008/04/21(月) 23:19:02 ID:maU7qj53
>>545
dropするのはどうかと思うのであれば、mangleターゲットを利用して
ecnのビットのみリセットしてあげるといい。

あとはそこを通らなければならないクライアントまわりだが、
俺が知る限り今時のOSでデフォルトでECNが有効になっているものは
なかったように思う(少し前のLinuxカーネルは有効だったような気がしたが)。
547login:Penguin:2008/04/21(月) 23:50:09 ID:I4EnTsVG
>>546
レスありがとうございます。
当面はDROPで問題なさそうですね。
通す必要が出てきたら、レスを参考に対応してみます。
548login:Penguin:2008/04/26(土) 14:04:11 ID:3GK4bazF
>>544
解決方法じゃないけど

別々のルートって何ルートくらいあるのかな
デフォルトと特定ユーザだけ違うルートの2つだけだとどうだろ?

そもそもどこがネックになってるんだろうね
549login:Penguin:2008/04/26(土) 14:23:26 ID:rL6Isbwd
iptablesの設定がちょっと自信無いので添削してもらえませんか?
gnome-terminalからコマンドを打って設定しました。
OUTPUT側は全部許可して、
INPUT側は192.168.1.3:80だけ許可して、他は全部拒否したいと思ってます。

# ルールをクリアする
iptables -F

# ポリシーを決める
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# ループバックアドレスからのアクセスを許可す
iptables -A INPUT -i lo -j ACCEPT

# 現在セッションを張っているサービスを許可する
iptables -A INPUT -m state --state ESTABLISHE,RELATED -j ACCEPT

# 特定のIPからhttpdにアクセス許可する
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -s 192.168.1.3 -j ACCEPT

#他は全て拒否する
iptables -P INPUT DROP

# 拒否したパケットをログに保存する
iptables -A INPUT -j LOG --log-prefix "iptables: "

# 設定を保存して再起動
/etc/init.d/iptables save
/etc/init.d/iptables restart
550549:2008/04/26(土) 14:28:42 ID:rL6Isbwd
>>549です。
長くなったので続きです。
再起動した後にiptables -Lで現在の設定を確認してみました。
INPUTのACCEPT all -- anywhere anywhereとだけ書かれた行が
全部ACCEPTしてそうで気になるんですが、大丈夫なんでしょうか?

# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTA$
ACCEPT tcp -- 192.168.1.3 anywhere tcp dpt:http
LOG all -- anywhere anywhere LOG level warning prefix `iptables: '

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
551login:Penguin:2008/04/26(土) 19:02:52 ID:Zwo/OBI9
INPUT の policy を2回記述するのは何故?
552549:2008/04/26(土) 20:11:54 ID:rL6Isbwd
どこかのHPに書いてあったのを自分用にゴニョゴニョしてみてるんだけど、
一回目のは、設定するとき用で、ここでDROPしちゃうと、設定中に
ループバックがDROPされちゃってXとか動かなくなるから、、、だったかな(?)
二回目のは、本番用で、先に許可したやつ以外を全部DROPするため。
(>>549のだと、192.168.1.3:80以外をDROPする)
553login:Penguin:2008/04/26(土) 20:19:56 ID:dggOwSe0
そういう小細工をしないで済むよう、コンソールからログインするべき。
リモートから弄ると、面倒が増す。
554549:2008/04/26(土) 20:39:01 ID:rL6Isbwd
>>551,553
ポリシーの記述を一回だけにしました。
>>549の一回目のポリシーを決めるところでDROPにして、二回目はコメントアウトしました。
iptables -Lすると ACCEPT all -- anywhere anywhere があります。

設定内容とiptables -Lを貼ってもらえませんか?
設定内容は日本語で概要を箇条書きみたいなでもOKなんで、よろしくお願いします。
555login:Penguin:2008/04/26(土) 21:37:09 ID:rRmzMjE4
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- localhost.localdomain localhost.localdomain
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ACCEPT tcp -- 192.168.1.3 anywhere state NEW,RELATED,ESTABLISHED tcp dpt:http
LOG all -- anywhere anywhere LOG level warning prefix `iptables: '
DROP all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

注:ホスト名を設定してない(デフォlocalhost.localdomainのまま)実験用マシン。
ヒント:ループバック
556login:Penguin:2008/04/28(月) 01:55:46 ID:mRlZeDib
>>550
-L には -v も付けた方がいいよ。

そうすれば、
> INPUTのACCEPT all -- anywhere anywhereとだけ書かれた行が
> 全部ACCEPTしてそうで気になるんですが、大丈夫なんでしょうか?
こんな心配しなくて済む。
557login:Penguin:2008/04/28(月) 19:12:31 ID:na2HqIN+
>>554
ループバックの許可で、記述を省略しなければいい
iptables INPUT -p ALL -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

省略するなら、後半ではなく前半を省く
iptables INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

これなら、ACCEPT all -- anywhere anywhere とはならず、555のようになります
558login:Penguin:2008/04/29(火) 03:34:54 ID:h6sUreK1
#!/bin/sh

## ルールの初期化
iptables -F
iptables -X

## 基本ルール設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

## サーバー自身からのパケットを許可する
iptables -A INPUT -i lo -j ACCEPT

## WEBサーバーを許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

## SSHサーバーを接続許可
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

## ping制限
iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -i ppp+ -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

## 確立セッションのアクセスは許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## 設定の保存
/etc/init.d/iptables save

## サービス再起動
/etc/init.d/iptables restart
559login:Penguin:2008/04/29(火) 15:36:13 ID:lchI1NQ1
SYNFLOOD対策は?
560544:2008/05/05(月) 14:26:52 ID:XEf57B8a
>>548
レスサンクスです。
おっしゃる通りルートは2つです。
どこがネックになってるかはようわからんです。
iptablesでのset-markは常にしているので、2ルート使うときのみ遅くなるということは
iprouteでルート切り替えるときですかね?
561login:Penguin:2008/05/07(水) 15:10:54 ID:RbvyPsKi
iptables -P INPUT DROP
のログを出力したいのですが,どうすればいいですか?

お願いいたします。
562login:Penguin:2008/05/07(水) 16:17:07 ID:cA4OeNQ4
>>561
INPUT Chainの最後でULOGを使う
563login:Penguin:2008/05/09(金) 04:20:19 ID:060mTVYu
--tcp-flagsについてお聞きしたいのですが
iptables -A INPUT -p TCP -m state --state NEW --tcp-flags ! SYN SYN -j LOG
って「コネクションがNEWのtcp接続パケットでSYNじゃない場合はログとる」
でいいんですか? "!"の反転で一つしかない場合の挙動がよく分からないのです
564login:Penguin:2008/05/16(金) 04:48:44 ID:YqgGCCxy
iptablesってarpフレームは制御できないのか
565login:Penguin:2008/05/16(金) 22:08:12 ID:7B77qxJ7
>>564
そりゃ "ip" tables だし。
ARPはIPと密接な関わりがあるプロトコルだがIPとは別のプロトコル。
566login:Penguin:2008/05/24(土) 23:13:01 ID:pr+441iJ
nat変換する前と後のパケットを対応付けることってiptableでできるもんですかね?
567login:Penguin:2008/05/25(日) 01:41:55 ID:XvecGNu/
できる。ip_conntrackでぐぐるがよい。
568login:Penguin:2008/06/16(月) 21:56:07 ID:Sp389m79
>>565
ほぅ。
んじゃTCP/UDP/ICMPも扱えないのか?

>>564
L2からL4までがiptabelsの守備範囲だが、
今んとこL2で扱えるのはソースアドレスのみ。
そのうちもっとよくなるよって誰かが書いてたな。
569login:Penguin:2008/06/17(火) 00:45:22 ID:chC02xgx
>>568
TCP,UDPは使えるだろ。

ICMPは一部変なのが混ざっていた様な気がする。
(RFCおさらいしてみるわ)
570login:Penguin:2008/06/19(木) 23:08:34 ID:++GPZYJb
ICMPも結局IPヘッダの中ではTCP/UDPと同じレベルで扱われてるからなぁ
571login:Penguin:2008/06/25(水) 15:32:08 ID:xzwraCds
デスクトップ向けのiptalbes設定例ってないかな?
572login:Penguin:2008/06/28(土) 00:48:27 ID:+GJNGlhf
>>571
LAN内だとそもそも不要じゃないか?
WANに直結してるならサーバ向けの設定と同じだし。
573login:Penguin:2008/06/28(土) 02:26:36 ID:6HILxgYo
>>572
やっぱりそう?
何かあった時の為にルーターのパケットフィルタと
クライアントのiptablesで二重にしようかと思ったのだけど

やるなら >>173 のようなPFW的なルールかなあ
574login:Penguin:2008/07/01(火) 10:33:09 ID:5kCyiBxo
今こんなネットワークを組んでるんですが、
このままだとWAN1側から鯖にアクセスができないんですが、
これってiptablesで経路制御したりすると見えるようになるんでしょうか。
ルーターは市販のBBルーターで、当然TCP80へのアクセスはアドレス変換かけてます。
WAN2を切断すれば問題なく見えます。

  WAN1    WAN2
┌─┴─┐   ┌┴┐
│ROUTER├(LAN)┤鯖│
└───┘   └─┘
575login:Penguin:2008/07/01(火) 22:03:51 ID:BcVQ+4QT
>>574
"advanced routing"
576574:2008/07/02(水) 12:32:27 ID:MvQGQFPV
>>575
yum updateしたらNICがうごかなくなって試せてないですが、
なんとかできそうです。
ありがとうございます。
577login:Penguin:2008/07/13(日) 06:14:03 ID:hmSEn1ns
iptables -A INPUT -j LOG で獲ったログの内容で、

MAC=XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX

という部分があります。
16進数で14バイトのデータを表しているようですが、
イーサーネットのMACアドレスを表しているようで、そうでないようで、
よくわかりません。
イーサーネットのMACアドレスは通常6バイトです。

この意味をご存知の方がおられましたら教えてください。

ちなみに、使用している iptables は ver.1.2.7a です。

578login:Penguin:2008/07/13(日) 16:32:09 ID:KrnMSNSr
>>577
これがでんじゃね? 6+6+2 で14バイト
struct ether_header
{
u_int8_t ether_dhost[ETH_ALEN]; /* destination eth addr */
u_int8_t ether_shost[ETH_ALEN]; /* source ether addr */
u_int16_t ether_type; /* packet type ID field */
} __attribute__ ((__packed__));
579login:Penguin:2008/07/13(日) 21:50:16 ID:hmSEn1ns
>>578
ありがとうございます。大変参考になりました。

580下っ端10年:2008/07/15(火) 00:58:58 ID:ws2H6nIo
フラグメントの処理、自信のある方いますか?
iptables -A OUTPUT -f -d 192.168.1.1 -j DROP
こんな霊があったんですけど理解不足で
必要なのはFORWARD、INPUT、じゃないかと思いますが、
とりあえずこれ入れとけ。間違いない!とか
ここ見て出直して恋とか♪お願いします
581login:Penguin:2008/07/15(火) 01:18:46 ID:L/KarHmr
>>580
マニュアルくらい読め。 それと、そのマシンのIP設定くらい書け。

意味:
 「断片化されたパケットの宛先が192.168.1.1ならば破棄する」
 通常のパターンだと、192.168.1.1はルータだな。

要するに、外部に送信される妖しいパケットを叩き落とす設定。
582下っ端15年:2008/07/15(火) 14:37:00 ID:ws2H6nIo
ありがとうございます。
心配事なんですがセッションが盗まれてその中に攻撃パケットを流して
ブラウザーの脆弱性が攻撃されたりすることってありますか
盗まれなくてもIPが判っていたら紛れ込ますとか
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
上記の設定を加える?以外に安心策とかあればお願いします。
iptables -P INPUT DROP
それともこれだけで十分なのですか
583login:Penguin:2008/07/15(火) 16:26:44 ID:0LMTpKxH
>>582
あるかどうかという点でいえば「ある」。
ただそれを心配するのならインターネットに接続せず切り離しておけば良かろう。
584login:Penguin:2008/07/15(火) 22:54:06 ID:Gfj6ql9u
>>582
セキュリティに「これだけで十分」はないよ。
-j ACCEPTなルールは(単独で見れば)許可の追加なんだから安心材料にはならない。
闇雲に心配するより先にマニュアル嫁。
585見習い18年:2008/07/16(水) 03:38:44 ID:jnmMI8rz
こんなの作ってみました。クライアント専用です。
メールの問い合わせはWEBの見てから作ろうと思います。
皆さんでこれを育ててください。
僕が育てると3ヶ月かかりそうなんです。
#/bin/sh
# ルールの初期化
/sbin/iptables -F
/sbin/iptables -t nat -F

# すべてのパケットを拒否
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP

# ループバックアドレスに関してはすべて許可
/sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
/sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

#LOG# Internetからの送信元IPアドレスがプライベートアドレスのパケットを入り込む前に破棄
/sbin/iptables -A INPUT -i eth0 -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -i eth0 -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j DROP

586見習い卒業:2008/07/16(水) 03:44:43 ID:jnmMI8rz

#LOG# Internetからの送信先IPアドレスがプライベートアドレスのパケットを出て行く前に破棄
/sbin/iptables -A OUTPUT -i eth0 -d 10.0.0.0/8 -j DROP
/sbin/iptables -A OUTPUT -i eth0 -d 172.16.0.0/12 -j DROP
/sbin/iptables -A OUTPUT -i eth0 -d 192.168.0.0/16 -j DROP
#LOG#Internetからの宛先IPアドレスがプライベートアドレスのパケットを破棄
(NetBIOS関連のパケットは、Internetに出さない)
/sbin/iptables -A INPUT -i eth0 -d 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -i eth0 -d 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -i eth0 -d 192.168.0.0/16 -j DROP
#LOG#フラグメント化(怪しい)されたパッケトは破棄 (このルール自体が怪しい)
/sbin/iptables -A OUTPUT -f -d 192.168.1.1 -j DROP
/sbin/iptables -A OUTPUT -f -d 192.168.1.1 -j DROP
#ブラウザーWEB閲覧用 (このルールも怪しい)
/sbin/iptables -A OUTPUT -i eth0 -o tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#(DHCP問い合わせ用)
/sbin/iptables -A OUTPUT -i eth0 -p tcp -d (ルーター) --dport 67 -j ACCEPT
/sbin/iptables -A OUTPUT -i eth0 -p tcp -d (ルーター)--dport 68 -j ACCEPT
#(DNS)問い合わせ用)
/sbin/iptables -A OUTPUT -i eth0 -p tcp -d (ルーター) --dport 53 -j ACCEPT
# その(1)確立セッションのアクセスは許可
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT)
# その(2)接続戻りパケットを許可する
/sbin/iptables -A INPUT -i eth0 -m state --state ESTABLISHED -j ACCEPT
/sbin/ipchains-save
LOGの部分はlim...意味が難しくてではよろしくです。
ダメダメなのは判っています。
587login:Penguin:2008/07/16(水) 10:29:06 ID:AB1ESdB4
ダメダメです。
何がしたいのかさっぱりです。
グローバルIPを持ったインターネット直結のクライアントPCなのか、プライベートIPを持った
LAN内クライアントPCなのかすら不明。
前者ならプライベートアドレス絡みの設定は不要だし、後者ならLAN内の他のクライアントと
通信不能です。
それから、確立済みセッションのアクセスを許可する設定をいれるなら、その他の個別の外向き
の穴あけは一切不要です。
588一から出直し:2008/07/16(水) 18:38:36 ID:jnmMI8rz
 はい。おっしゃるとおりです。
想定としては、ルーターにぶら下げるクライアントPCを考えていますが
その上でVitualBoxにWindowsを乗せてたりして走らせたいのです。
ゆくゆくは、ルーターとして使いまわしの利く雛形が作りたい出のです。
 最後のアドバイスですが
ーA OUTPUT DROP
とどうしてもしたいのですがクライアントに必要なルールをアドバイスしてください。
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -A OUTPUT -i eth0 -o tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
DHCPクライアントようだとかもいまいちどうすればいいのかぴんと来ないです
Mail関係はWEBのをいじれば何とかなると思っています。
 PS.皆さんはNetBios?だけ防いでるみたいなんですけど通常はそれで大丈夫なんでしょうか?
589login:Penguin:2008/07/16(水) 20:00:05 ID:eQpwIRIV
>>588
何をしたいのかはっきりすれ。
590login:Penguin:2008/07/16(水) 20:05:36 ID:kFZg22Oc
OUTPUTは基本ACCEPTだと何か困ります?まぁ、人それぞれですが。
ルールですが、俺はなるべくシンプルに書くようにしてます。

>PS.皆さんはNetBios?だけ防いでるみたいなんですけど通常はそれで大丈夫なんでしょうか?

とりあえずこいつらがゴミパケだな。
135
137-139
445
1900
5353
591login:Penguin:2008/07/16(水) 20:30:48 ID:UBWifgR3
クライアントならこれで充分
iptables -P INPUT DROP
iptables -A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
iptables -A INPUT -s 192.168.1.2/32 -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

サーバーなら使うポートを開けていけばいい
592login:Penguin:2008/07/16(水) 21:52:12 ID:5/9UA2S9
うほっ、いい流れ
俺もクライアント用のルールを勉強させてくれ
593一から出直し:2008/07/17(木) 00:11:34 ID:nfCUoiJG
590さんありがとございます
591さんありがとございます
592さん一緒ににがんばりましょう
どうしてOUTPUT DORPじゃなければダメなのかと言いますと
もれてはイケナイ情報を入れておきたいからなんです
NoScriptを動かしていても何かの拍子で悪い事をする物が
入ってしまうことがあると思うのです
鍵を閉めずに泥棒に入られても諦めがつかない
閉めておけば自分で自分を慰めれる、、、
そんなところでしょうか。
594login:Penguin:2008/07/17(木) 00:16:19 ID:f01xAF4u
ふつーのtcp/ipアプリは1024以上の任意のポート(OSやIPスタックにも依存するが)を使って通信を始める
どのポートをACCEPTするかいつ誰が決めるの?
595login:Penguin:2008/07/17(木) 00:16:24 ID:rdjy5BJ1
>>593
じゃあ、真っ先にHTTPを閉じるべき。
596login:Penguin:2008/07/17(木) 01:06:04 ID:pkHmyVt0
>>593
|もれてはイケナイ情報を入れておきたい
ネットワークに接続されたマシンに、安全は無い。
そのマシンからLANカードを抜け。 物理的に遮断するのが最も安全。

 究極は「紙に手書きする」。 この紙を銀行の貸金庫に保管しろ。(自宅なら耐火金庫。これで火事に遭っても情報は守られる。)

 次点がスタンドアロンマシンに記録する方法。 ノート機に入力し、鍵のかかる机にでも入れるといい。
597一から出直し:2008/07/17(木) 01:34:32 ID:nfCUoiJG
595さん
596さん
お約束にお約束を重ねていただいてありがとうございました
僕は知っているこれを乗り越えて初めて答えがもらえることを。
594さんへ
port80へ向かうパケットを許すみたいな記述が出来ると思っています。
何しろ取り組みだしてまだ3日ぐらいなので自信はありませんが
じっくり取り組めるのは今週限り、何とかそれまでにその辺の答えに
たどり着きたいと思っています
598login:Penguin:2008/07/17(木) 05:37:30 ID:WKroJssy
面倒だからiptables使ってない。
何でも来い。
599login:Penguin:2008/07/17(木) 06:14:15 ID:RsBioRyn
zombieになってなきゃいいが
600login:Penguin:2008/07/17(木) 07:55:29 ID:w9Uw0jKl
>>594
それはaccept(listen)する側ではなくてconnectする側だと思うが。
一般的でないアプリケーションとしてaccept(listen)する場合は、
あらかじめ取り決めをしておくだけ。
601一から出直し:2008/07/17(木) 09:15:29 ID:nfCUoiJG
598
どこまで男前なんだ
600
わかる人にはわかるんでしょうけど僕にはわかりません
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -A OUTPUT -i eth0 -o tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
結局これではだめなのでしょうか?
602login:Penguin:2008/07/17(木) 10:10:43 ID:EloNkrJv
Ubuntu ならそれでもいいけど、Debian ではきびしい
603login:Penguin:2008/07/17(木) 10:56:20 ID:rdjy5BJ1
>>601
どうしてもOUTPUTを潰したいならそうしても構わないけれど、いくら窓や裏口を
戸締りしたところで、良く見える正面玄関(TCP80番ポート)を開けっ放しにしてたら
台無しだよ。
で、80番での出口も閉じるのが現実的なコンピュータならそれでもいいだろうけれど、
そういう特殊用途なのかい?
604login:Penguin:2008/07/17(木) 13:09:29 ID:RsBioRyn
webだけ許可するなら

iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT

でいんじゃないの。あと-iとか追加で。
605login:Penguin:2008/07/17(木) 13:14:40 ID:3QYpKb1i
>>601
ESTABLISHEDはACKが立ってるいわゆる戻りパケットだからOUTで使わなくていい。
OUTの穴あけはSYNの要求だから
-A OUTPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --dport 119 -j ACCEPT
とかかな。

FTPのパッシブの場合は逆にACKフラグが立ってる1024-65535を開けなきゃ通信出来ないから
-A OUTPUT -p tcp ! --syn --dport 1024:65535 -j ACCEPT
になるのか・・・したこと無いのでよく分からんがw
606login:Penguin:2008/07/17(木) 19:52:59 ID:V9y8Yy3u
>>602
ubuntuもdebianも一緒でしょ
デフォはiatables空だし
607login:Penguin:2008/07/17(木) 20:01:22 ID:btY7UUii
クライアント用途なら >>173 のようなパーソナルファイアウォール的な
--cmd-owner でやるのが適しているんじゃないの?
608login:Penguin:2008/07/17(木) 22:02:01 ID:nfCUoiJG
602
すいません。厳しいの意味がわかりません。
603
現在このマシンでサーバーを立てる予定はありません。
そうゆう意味でいいですか?
つまり想定しているのはクライアント専用です。
そこからLinuxの世界に入れてもらおうと思っています。
609login:Penguin:2008/07/17(木) 22:45:05 ID:aqSb7+WT
>>601
このへんから始めたら。

modprobe ip_conntrack_ftp
iptables -P INPUT DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P OUTPUT DROP
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m limit --limit 1/s --limit-burst 5 -j LOG --log-level warning --log-prefix "bad OUTPUT packet: "
iptables -P FORWARD DROP

で、最初は大量にbad OUTPUTなログが出るから、ログを見ながら必要なものを
OUTPUTのログ指定の前に足していけばいい。必要そうなものは例えば

iptables -A OUTPUT -p udp -m udp --sport bootpc -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport domain -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport http -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT

てな具合。インタフェース指定やポートの細かい限定などは、
意味があるとき以外はしないでいいっしょ。管理するの面倒だし。
あと、把握できてないルールはつけない。
610一から出直し:2008/07/17(木) 23:10:07 ID:nfCUoiJG
607
そうなんですよ。そこもチェックしてたんですけど
効果的な使い道が浮かばなくて、、とほほです。
609
ありがとうございます。
勉強の雛形にさせてもらいます
611login:Penguin:2008/07/23(水) 01:53:42 ID:1UUyJ2NP
knoppix firewallの一番簡単な設定を選んで、iptables -Lしたのが
以下のやつ。
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
FROMINTERNET 0 -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
FWDINTERNET 0 -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
TOINTERNET 0 -- anywhere anywhere
Chain FROMINTERNET (3 references)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
DROP 0 -- anywhere anywhere
Chain FWDINTERNET (3 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
Chain TOINTERNET (3 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
きっと突っ込みどころ満載だろうけど、これを参考に自分は
がんばってみる。
612login:Penguin:2008/07/24(木) 01:01:09 ID:ht7CyEPW
>>611
せっかくだからiptables -L -vしたら
613login:Penguin:2008/07/24(木) 01:06:59 ID:FHo+/IiI
ウチの環境(日本のみ許可、携帯のみ許可、etc...)で
そんなことしたら表示が恐ろしいことに・・・
-n を付けようぜ!
614611:2008/07/25(金) 02:20:35 ID:LOINhS18
>>612
突っ込みサンクス。INPUTが筒抜けになってるのね。改善をはかって
下のような感じにしてみた。クライアント用途ならこんな感じで
良いのかな。
Chain INPUT (policy ACCEPT)
target___prot___opt___source___destination
frominternet___0___--___anywhere___anywhere
Chain FORWARD (policy ACCEPT)
target___prot___opt___source___destination
fwdinternet___0___--___anywhere___anywhere
Chain OUTPUT (policy ACCEPT)
target___prot___opt___source___destination
tointernet___0___--___anywhere___anywhere
Chain frominternet (1 references)
target___prot___opt___source___destination
ACCEPT___icmp___--___anywhere___anywhere
ACCEPT___0___--___anywhere___anywhere___state RELATED,ESTABLISHED
DROP___0___--___anywhere___anywhere
Chain fwdinternet (1 references)
target___prot___opt___source___destination
ACCEPT___0___--___anywhere___anywhere___state RELATED,ESTABLISHED
DROP___0___--___anywhere___anywhere
Chain tointernet (1 references)
target___prot___opt___source___destination
ACCEPT___0___--___anywhere___anywhere
615login:Penguin:2008/07/31(木) 17:36:39 ID:XyjnsPYp
Debianでどのように設定していますか
if-pre-upのどこにリンク張っていますか
pre-upに置いたらまずいですか
616login:Penguin:2008/07/31(木) 21:30:17 ID:zdX0l+Wk
/etc/network/if-pre-up.d/にスクリプト
なんの話だ
別に
617login:Penguin:2008/08/05(火) 21:25:25 ID:Z3eVziP2
forwardチェインでログとってもMACアドレス記録されるようにしてほすぃ
618login:Penguin:2008/08/11(月) 23:54:22 ID:TGzzuzuv
OSはCentOS5です
ルータでは特定のIPからのポートスキャンをはじけないので、
IPテーブルの設定ではじきたいのですが、具体的なコマンドを教えてください

ちなみに、まちBBSからのポートスキャンをはじかないと書き込みができないので、
まちBBSからのポートスキャンのみはじきたいです
619login:Penguin:2008/08/12(火) 00:50:06 ID:Bc57GTps
サーバ管理してるなら、それくらいは自力で頑張ってみよう
620login:Penguin:2008/08/14(木) 22:25:32 ID:84iyOxyD
>>23
>>24
24氏のアドバイスで、ppp0の全てのパケットは、192.168.0.10へ
DNAT(Destination NAT)されるようになったけど、それでよかった
んだよね。

>>31
で、31氏が書いているのは、iptablesが動いているマシンに
httpdや、smtp,pop3, DNSなどのサービスが動いてたら、
それらを除外せにゃならんよねという、話だと理解しました。

で、最後にDNATがチェインの最後で実行されればいいんですよね
621login:Penguin:2008/08/15(金) 03:07:08 ID:AyoNWC/X
↑2年半前にレスってどうよ?w
622login:Penguin:2008/08/15(金) 07:47:13 ID:g1wlhWWM
専ブラ使っているんでね、このスレ見つけて
最初から読んで、resってみたんだが、ダメかね。

というか、このスレ立ってから、そんなに経つのか
よく落ちないな。
623login:Penguin:2008/08/15(金) 07:53:05 ID:3444HIb9
UNIX板のipfilterのスレなんて5年半で200レスくらい……
624login:Penguin:2008/08/31(日) 23:21:06 ID:n+n8JTmC
国内プロキシ経由の海外からのアクセスは防ぎようはないのかな
625login:Penguin:2008/09/01(月) 00:27:34 ID:fjO0v2rO
国内プロキシを弾くしかないね。
逆に、ホワイトリストを作成し、登録したIP以外を全部弾いた方が楽だと思う。
626login:Penguin:2008/09/02(火) 03:53:13 ID:U/dhSPhZ
うん。それもアリなんだね
だけどサーバー目的じゃないんだ
攻撃者特定の為に国内限定にしようと思ったんだけど
踏み台からの攻撃もあるから努力のしようがないことに気がついた
627login:Penguin:2008/09/02(火) 04:05:58 ID:CyZGqQKe
webサーバの保護の話でないなら別に放っておけばいんでないの
628login:Penguin:2008/09/13(土) 13:23:36 ID:W75dUOM6
サーバをPCルータ化して、クライアントPCでネットをしようと思い、
以下のような、サーバ用のスクリプトを作成したのですが、
Windows, Linuxのどちらからも、外に出られません。

eth1(192.168.0.1)が内向きで、ppp0 が PPPoE 接続した際にできたもので、
クライアントPCのアドレスは、DHCPで割り振っています。

添削をよろしくお願いいたします。
# 長いので、二つに分けます。

client_ip='192.168.0.0/24'
server_ip='192.168.0.1'

echo 1 > /proc/sys/net/ipv4/ip_forward

# テーブルの初期化
iptables -F
iptables -t nat -F
iptables -X

# テーブルの設定(INPUT)

iptables -P INPUT DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -s $client_ip -d $server_ip -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
629628:2008/09/13(土) 13:24:55 ID:W75dUOM6
# テーブルの設定(OUTPUT)

iptables -P OUTPUT ACCEPT

# インターネットに向けたローカルアドレスは全て破棄
iptables -A OUTPUT -o ppp0 -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -o ppp0 -d 176.16.0.0/12 -j DROP
iptables -A OUTPUT -o ppp0 -d 192.168.0.0/16 -j DROP
iptables -A OUTPUT -o ppp0 -d 127.0.0.0/8 -j DROP

# テーブルの設定(FORWARD)

iptables -P FORWARD DROP

# ファイル共有
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 137:139 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 137:139 -j DROP
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 445 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 445 -j DROP

# RPC
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 111 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 111 -j DROP

iptables -A FORWARD -i eth1 -o ppp0 -s $client_ip -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


# IPマスカレードを設定
iptables -t nat -A POSTROUTING -o ppp0 -s $client_ip -j MASQUERADE
630login:Penguin:2008/09/13(土) 13:43:36 ID:12jhi4RP
なんか一見合ってそうに見えるけどな……
カーネルはデフォルトのもの?エラーとか出ないで
スクリプト実行できてるよね。
631login:Penguin:2008/09/13(土) 15:13:23 ID:XkB/m5n5
>>629
まずはチェインがどの順序で解釈されるものなのか知っておいたほうがいい。
POSTROUTINGはFORWARDやOUTPUTよりも後で実行されるので、
そこでMASQUERADEするのであればクライアントIPなどの判断はその後で
やらなきゃダメ。
632628:2008/09/13(土) 15:27:44 ID:W75dUOM6
レス、ありがとうございます。

>>630
カーネルは、Ubuntu 8.04 サーバー版で、特に手を加えていません。USBメモリに入れているくらいです。
スクリプトもエラーは出ていません。

>>631
なるほど、解釈される順番には気がつきませんでした。
早速試してみます!
633login:Penguin:2008/09/13(土) 15:33:01 ID:oHtnNr1m
クライアントから外部に向かうパケットがinput段階で叩き落とされないか?
634login:Penguin:2008/09/13(土) 18:26:06 ID:12jhi4RP
ホントだ。-d が余計だな。
635628:2008/09/13(土) 21:32:24 ID:XplBrS+o
返信遅れて申し訳ありません。
iptableと格闘していましたが、一向につながる気配がありません。

レスを頂いた件を、すべて試してみたり、
> Linuxで作るファイアウォール[NAT設定編]
> ttp://www.atmarkit.co.jp/flinux/rensai/security04/security04a.html
に、乗っているサンプルを改造したりしていましたが
成果はさっぱりです。
636login:Penguin:2008/09/14(日) 02:13:23 ID:ko4Rvcco
>> iptables -A FORWARD -i eth1 -o ppp0 -s $client_ip -j ACCEPT
FORWARDチェインなんでエラーは出ないんだが、
-i と-o はどちらか一方でないと成立しないような気がする
637login:Penguin:2008/09/14(日) 02:14:57 ID:uvFDe4SI
>>635
iptables -nvL と iptables -nvL -t nat、各種ログはチェックした?
638login:Penguin:2008/09/14(日) 09:28:28 ID:FG5fpXZJ
-s -d とか -i -o あたりが自分の使ってるルールに比べると
ちと厳密だね。その辺外して後から変えていったら。
639login:Penguin:2008/09/14(日) 11:34:18 ID:aDiVPCKf
http://fedorasrv.com/iptables.shtml
のやり方で海外からのアクセスを弾いてるのですが
読めば読むほどよくわからなくなってきたので
質問させていただきます。
cidr.txt ・・・ cidr.txt.1 ・・・ cidr.txt.100 ・・・ cidr.txt.1056
と同じようなファイルがどんどん増えていきます(汗
消しても消しても増えるのですが新規にファイルを作成するのではなく
cidr.txt に上書きするようにすることはできないのでしょうか??
あと、(2)IPアドレスリスト更新チェック に
毎日自動でIPアドレスリストの更新有無をチェック
と書いてますが何時に更新するか設定はできないのでしょうか?
640login:Penguin:2008/09/14(日) 11:42:51 ID:WXeKp2xK
>>639
上書き
wgetを-Oで保存ファイル名指定

更新時刻
crontabで設定
641628:2008/09/14(日) 16:53:01 ID:1R1R/rhZ
>>636,638
オプションを付けたり外したり、
全部の組み合わせを同時に宣言して見ましたが、うまくいきません…

>>637
設定は、スクリプトに書いたとおりでした
ただ、ログがまったくでません。(時折外からくる、変なIPを弾くのを除く)
eth1にくるのを拒否すると、ちゃんとログに残るので
何がなんだかさっぱりです。

ログの設定は、以下です。
iptables -N LOGGING
iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
iptables -A LOGGING -j DROP
iptables -A INPUT -j LOGGING
iptables -A FORWARD -j LOGGING
iptables -A OUTPUT -j LOGGING
642login:Penguin:2008/09/14(日) 17:40:13 ID:kd4iGQPt
全部ACCEPTにしてもつながらないとかないのかね
643login:Penguin:2008/09/14(日) 17:57:54 ID:RVgh8DFt
>>642
いや、さすがに、それは無いでしょ?
先にルーティングできることを確認しなかったら何が悪いか判らないじゃない?
644628:2008/09/14(日) 19:51:28 ID:TY7yI4CN
>>643
そうですね。何がわからないのか分からない状態です。

>>642
このような感じのもので、試してみましたが
クライアントPCでは、何もできませんでした。

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -X

iptables -P INPUT ACCEPT
iptables -A INPUT -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -P FORWARD ACCEPT
iptables -A FORWARD -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -s $client_ip -j MASQUERADE

ところで、-t nat -nvL で出てくる、POSTROUTING の pkts が
幾ら操作しても、0のままなのですが、これが正常なのでしょうか?
645login:Penguin:2008/09/14(日) 20:27:29 ID:RVgh8DFt
>>644
> >>643
> そうですね。何がわからないのか分からない状態です。

まず、iptableを切って、クライアントから外界が見れることを確認してください。
その状態から、徐々に絞っていく方が楽でしょう。(なお、クライアントの防備は厚めに。)
646628:2008/09/15(月) 22:06:16 ID:mFiXr7+/
>>645
原因が分かりました。
すごく、くだらない原因で、DNSの設定を自動で取得してくる状態のままでした(Windowsルータ時代はこれで良かった)
手動で、指定したところ、問題なく接続できました。

皆様、ご迷惑をおかけいたしました。

# ちら裏
結果的に修正した部分は、
>>628
iptables -A INPUT -i eth1 -s $client_ip -d $server_ip -j ACCEPT を
iptables -A INPUT -i eth1 -s $client_ip -j ACCEPT
に、したくらいです。
# ちら裏終わり
647login:Penguin:2008/09/15(月) 23:01:45 ID:NBhfMiPw
>>646
お疲れさん(笑
648login:Penguin:2008/09/26(金) 20:02:35 ID:rMTLXZXd
2分置きに↓のログが残るんだけど何だろう?
[iptables SPOOFING] IN=eth0 OUT= MAC=01:00:5e:00:00:01:00:14:f1:65:a4:6a:08:00 SRC=172.20.1.1 DST=224.0.0.1 LEN=28 TOS=0x00 PREC=0xC0 TTL=1 ID=60045 PROTO=2
649login:Penguin:2008/09/26(金) 21:47:23 ID:G3dQVRC8
ISPからくるIGMPのマルチキャストのパケットらしい。
中身まで見ると、何かわかるかも。
ttp://www.dslreports.com/forum/r20675819-My-ISPs-router-sends-me-over-1000-IGMP-hits-per-day
650login:Penguin:2008/09/30(火) 09:25:20 ID:6LAw1Ent
kernel2.4系で使っていたルールをkernel2.6系に使ったら
svnのコミット出来なくなったり、一部2.4の時と動作が違うのですがどの辺が変わってるんでしょうか?
651login:Penguin:2008/10/02(木) 15:52:16 ID:Cu06Z5f2
WebページのCGIからソケット開いて〜 ってやったものの応答をうけとるには
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ではダメなようなのですが どうしたら受け取れますかね?
652login:Penguin:2008/10/02(木) 20:50:38 ID:3mmtWAQL
>>650
と言われても何とも言えん。ルールを出せ。

>>651
そのWebページとやらはどこにあるんだよ。
構成を出せ。
653login:Penguin:2008/10/05(日) 11:41:14 ID:Fghhu9nw
おまえら、netstat-natの出力みたことありますか。
なかなか楽しいが、見た内容を人にしゃべっちゃだめだぞ。
654login:Penguin:2008/10/05(日) 21:15:29 ID:1+nQfTzw
NATを使わない単なるルーターだが、port制限行うタイプの設定が
まったくわかりません。

(LAN1) -eth0[Linux Box]eth1- (LAN2)
・LAN1からLAN2へのpingは許可
・LAN2からLAN1への pingも許可
・LAN1からLAN2へのsshは許可
・上記以外の接続は全て不可

ぐぐるとNATばかりでてきます。NATもpppoeも関係なのです。
あーん、誰か助けてくらはい。
655login:Penguin:2008/10/05(日) 21:17:03 ID:1+nQfTzw
>>654
誤)ぐぐるとNATばかりでてきます。NATもpppoeも関係なのです。
正)ぐぐるとNATばかりでてきます。NATもpppoeも関係ないのです。

間違えちゃったorz
656login:Penguin:2008/10/05(日) 21:28:53 ID:1+nQfTzw
>>654
間違え&連投すいません。
ルーターとして[Linux Box]は動いています。ずぼずぼ通信できてしまいます。
制限ができないのです。
連投すいません。
657login:Penguin:2008/10/05(日) 22:26:42 ID:j+q2VtR8
>>654
普通にFORWARDチェインに対してACCEPTとDROPのルールを作ればいい。
-t natとかは不要。
658login:Penguin:2008/10/05(日) 22:38:39 ID:1+nQfTzw
LAN1 から LAN2は全部OK
LAN2 から LAN1はDROPとした場合

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -P FORWARD -s LAN1 -d LAN2 -j ACCEPT
iptables -P FORWARD -s LAN2 -d LAN1 -j DROP

だめですー(x x)
659login:Penguin:2008/10/06(月) 00:04:41 ID:Q2gv2CnD
iptables -L -v

iptables -t nat -L -v
を晒せ
660login:Penguin:2008/10/06(月) 00:20:27 ID:E4Yiq6p1
ICMPなpingは行き帰り両方をきちんと定義しないと駄目じゃないか?
661login:Penguin:2008/10/06(月) 07:52:15 ID:kHXndwyF
>>658
TCPだってping (ICMP echo)だって行き帰りのパケットがあるだろうに。
ネットワークの基礎を勉強し直せ。
662login:Penguin:2008/10/07(火) 00:18:45 ID:L0iIKOv8
TCPはステート情報を使うようにすれば、片方向の定義だけでいいけどね。
(FTPとか特殊なプロトコルをのぞく)
663login:Penguin:2008/10/07(火) 07:21:32 ID:4sfRDV6t
RELATED,ESTABLISHEDは超重要
664login:Penguin:2008/10/08(水) 19:26:44 ID:Hntgc9sn
>>652
2.4と同じじゃなかった(汗

$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 8080
これでコミット出来なかった・・・
iptablesじゃなくて串の設定かorz
665login:Penguin:2008/11/02(日) 15:09:02 ID:fqVxYuim
>>658
確立したコネクション塞いだら通信できなるだろうが
それになぜポリシーにルール設定してんだよw

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -A FORWARD -s LAN1 -d LAN2 -j ACCEPT
iptables -A FORWARD -s LAN2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s LAN2 -d LAN1 -j DROP
666login:Penguin:2008/11/02(日) 15:14:37 ID:fqVxYuim
>>664
-i $INTIF 取ってみな
667login:Penguin:2008/11/02(日) 15:51:43 ID:fqVxYuim
>>658
あと追記だけど、LAN1/LAN2側双方へのマスカレードの設定があと必要だとおもうよ。
このくらい自分でしらべてくれよん
668login:Penguin:2008/11/07(金) 15:57:30 ID:TIV9E6l7
ルーター(192.168.0.1)

eth0┐(192.168.0.2)
   │←pc0
   │
eth1┘(192.168.1.1)

pc1


iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE


pc1にインターネット共有をさせたくて上記のように設定してみましたが
だめでした
これだとpc0のWAN側がインターネットでないとダメなのかなとか
ひょっとしてできないのかなでもWindowsだとチェックボックスひとつで
共有できるしなあとか思ってはみるものの具体策がわかりません
おしえてください

669login:Penguin:2008/11/07(金) 16:39:12 ID:CnNNPz2n
pc1 は ip_forward してますか?
670login:Penguin:2008/11/07(金) 16:39:43 ID:CnNNPz2n
ごめん、pc0 は ip_forward してますか?
671login:Penguin:2008/11/07(金) 20:21:24 ID:TIV9E6l7
>>670
/proc/sys/net/ipv4/ip_forward
に1とあり大丈夫なようです
672login:Penguin:2008/11/07(金) 21:48:58 ID:lFnUHJKa
>>668
というか「ルータ」に192.168.1.0/24のスタティックルートを設定できないのか?
673login:Penguin:2008/11/08(土) 00:50:25 ID:hssA2L52
前提としてルーター(192.168.0.1)には、もう一個ポートがあって、インターネット(ISP)に繋がっている。
ということでOK?
で、そのルーターは当然のごとくにIP Masquarade(NAT)している、ということでOK?
で、やりたいことは、ローカルネットワークにNATルーター(pc0)を設置してpc1は二重にNATしたい、ということでOK?

pc1をインターネットに繋がるようにしたいだけなら 192.168.0.0/24 のアドレスにしてpc0のeth0と同じ側に繋ぐか、
672 の言うとおり pc0 を(NATしない)普通のルーターとして働かせれば、いいはずだが、それを敢えて二重に
NATしたい、と。

他に -j DROP なルールなどががあったりしなければ、668の設定で基本的にはいいはずだけど、
その前にpc0からはインターネットにルーター(192.168.0.1)経由で繋がるのか?
674login:Penguin:2008/11/08(土) 01:41:09 ID:MJgV0EtY
restartしてないだけというエスパー予想。
675667:2008/11/08(土) 20:06:18 ID:0iWj6iOE
>>668

#WAN側のアドレスとか差っぴいちゃうからアドレスの指定とかやらないほうがいい
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
#↓WAN出力側は、マスカレードを無条件に許可する
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#↓LAN側から入ってきたソースだけをpc1への戻りアドレス書き換えるマスカレード
#ローカルサーバーが必要ないなら、こいつは別に要らないかな?
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE

で、逝けそうな気がするけど。

それから、/etc/network/options に次の記述があるか確認してみ
ip_forward=yes
676667:2008/11/08(土) 20:09:41 ID:0iWj6iOE
訂正: >>668 の図見ると、eth0 eth1 逆じゃん?

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE

てところか
677667:2008/11/08(土) 20:14:24 ID:0iWj6iOE
WAN側からの接続をシャットアウトしたいんだっけ?
勘違いしてた。

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#↓この行だけ違った
iptables -A FORWARD -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE
678667:2008/11/08(土) 20:27:54 ID:0iWj6iOE
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE
なんか、このほうがスッキリするけど…。
679667:2008/11/08(土) 20:34:22 ID:0iWj6iOE
>>668 をまとめるとこんな感じだな
よくわからないか、まとめてみた。

1) WANへの接続は許す
2) WANからの接続は潰す
3) ただし、LANからWANへ接続済みにしたパケットのWAN側からの転送は許す

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE
680667:2008/11/08(土) 20:38:58 ID:0iWj6iOE

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#↓ FORWARD に -o 張れないから やっぱこれでいいはず…
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE
681login:Penguin:2008/11/08(土) 23:10:35 ID:iMsDtzmC
>>680
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
これは余計じゃないかな。

>>668
それとip_conntrack モジュールはロードしている
682667:2008/11/09(日) 07:45:30 ID:cyMfQhQp
>>681
余計かなぁ…?
ルーターとPC1が別のアドレス空間になっているから
PC0用のアドレスに書き換えてやらないとパケット戻ってこない気がするけど
683login:Penguin:2008/11/09(日) 13:35:21 ID:uYzy9N5y
668のやりたいことが>>673の問いかけ通り(最初の4行通り)なら、
673の指摘通り668の記述であっている(NATも以下の一つでいい)。
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

実際、最初の4行に書かれている通りのことを今やっている。
違いはeth0を固定IPにしているので、MASQUERADEでなくSNATを使ってることぐらい。
うまくいかない原因は、668に記載された3行以外にあると思うのだが?
684667:2008/11/09(日) 14:02:18 ID:MyRkucom
なーるー

原因不明だな

全部のiptablesオプションに --modprobe=/sbin/modprobe 付け足して
呼んでみるとかやってみるべきかもね

それでもダメなら pc0 に pc1 から ping して応答が帰ってくるかどうか
ぐらいのレベルから検証してみたほうがよさそうだね。
685login:Penguin:2008/11/10(月) 22:31:41 ID:vjcGauLJ
eth0を物理1つのエイリアス2に区切りました。
eth0 192.168.0.10
eth0:0 192.168.0.11
eth0:1 192.168.0.12

.0.10にだけtelnetが繋がるようにするには
どうすればいいのでしょうか?
686login:Penguin:2008/11/11(火) 02:07:43 ID:lioaoJiT
IPエイリアスの場合、全部eth0に変わりないので

-A INPUT -i eth0 -d 192.168.0.10 --dport 23 -j ACCEPT
-A INPUT -i eth0 --dport 23 -j REJECT

こんな感じじゃない
687login:Penguin:2008/11/13(木) 19:57:50 ID:zJ0w7PDt
telnetにListenIP設定すれば?
絞るなら大本から絞れ
688login:Penguin:2008/11/14(金) 17:28:14 ID:FovMWI9O
>>687
こういうのって(iptablesとデーモンの)両方やらないか?
689login:Penguin:2008/11/14(金) 20:11:16 ID:4rtpLX5i
ポートを開けないようにアプリ(telnet)側でやり、
さらにうっかり開かないようにiptablesで縛るね。

片方だけだと「うっかり」が結構出るけど、両方とも独立に
設定するならオペミスで開いてしまう事故は非常に起こりにくくなる。
690login:Penguin:2008/11/15(土) 01:42:42 ID:Zo/JTpVo
ssh+鍵暗号 でいいやん
telnet 殺しちゃいなよ
691login:Penguin:2008/11/15(土) 02:14:20 ID:26XJ0s7F
ここでの telnet はあくまで例なんじゃないの?
692login:Penguin:2008/11/15(土) 08:53:49 ID:OWM1nEoc
それやるとミスもあるんだよな。wrapperではじいてるから
後でFW設定しようとか思ってたら一台だけ設定してなかった、とか。
693login:Penguin:2008/11/15(土) 09:18:53 ID:4Owtonid
後でやろうと思ったとか、ちゃんと手順にそってやったことを確認しながらやらないのは問題外
ヒューマンエラーを防止するために手順メモとチェックリストは個人的にでも作ったほうがいい。

まあ、より強固で確かな方から設定していった方が漏れがあった時被害が少ないかもな…。
694login:Penguin:2008/11/15(土) 13:00:17 ID:OWM1nEoc
実際はもうちょっと複雑な過程ではまるんだが、ちと面倒だったんで……
あとはAの方ではじいてると思ってそっちのルール更新してたらBだった、とか。
695login:Penguin:2008/11/18(火) 00:18:36 ID:ruHhaDcu
ubuntuのufwで出力されるiptablesのルールって誰か分かりますか?
あれってデスクトップ用に最適化されているんですかね?
696login:Penguin:2008/11/18(火) 00:24:59 ID:jDfQIBNa
2.4 系だと MANGLE に TCPMSS 張れないから
FORWARD と OUTPUT に張っているけど
MANGLE に張る場合となにが違うのかよくわからん
697login:Penguin:2008/11/18(火) 04:32:57 ID:d3c/lwkM
>>695

設定してシェルから
iptables -L -v
してみれば良いのでは?
ていうかして、参考にしたいから。
自分はknoppix firewallと同じルールにしているけど、ubuntuのやつも
見てみたい。
698login:Penguin:2008/11/18(火) 10:14:23 ID:MRSXpnk2
>>697
いや、自分も手元にubuntu環境ないから見てみたいのですよ
699login:Penguin:2008/11/18(火) 10:17:31 ID:MRSXpnk2
あ、ubuntuライブCDが手元にあったわ
ufw enable して iptables -L -v 見てみる
700544:2008/11/24(月) 21:48:01 ID:qB2Gxz8P
NIC二枚刺して、一方はLANを通ってLAN内のルーターから外に
もう一方はグローバルIP持ってて直接外に
   |-eth0(192.168.0.102)-ルーター-インターネット
PC-|
   |-eth1(211.4.228.10)-インターネット
こんな構成になってるんだけど
eth0からインターネットに送信するときにeth1のIPアドレスがソースアドレスになっちゃいます。
eth0からLAN内にはちゃんと192.168.0.102がソースアドレスになります。

とりあえずiptables -A POSTROUTING -t nat -o eth0 -j SNAT --to-source 192.168.0.102
として、ソースアドレス設定してるですけど
tcpdumpで見てみるとDNSとかeth1のアドレスで尋ねにいってタイムアウトしてます。

そもそも、ifconfig見るとちゃんとeth0にIPアドレス設定されてるのに、なんでSNATが必要になるんでしょうか?
SNATしなくても済む方法ありますか?
701700:2008/11/24(月) 21:56:04 ID:qB2Gxz8P
追加です。
ping 66.249.89.99 -I eth0
とかすると、ソースアドレスはeth0のアドレスになってて問題なくpingは通ります。
702login:Penguin:2008/11/25(火) 01:17:36 ID:zZh6AovX
・IPv4
・マルチホームホスト
・デフォルトゲートウェイ2つ
・ポリシールーティングなし
が条件かな?

この場合、
・ルーティングエントリは、送出先インターフェースに関連づけられる。
・IPアドレスは、インターフェースに関連づけられる(が、他のインターフェース経由で送出されても良い)
・IPアドレスとルーティングエントリを直接関連づける機構がない。
・2つのデフォルトゲートウェイのうちどちらが使われるかは、メトリックによって決まる。値が同じなら平等。
みたいなかんじ。

IPアドレスと同じサブネットにいるゲートウェイが必ず使われるという保証はない、と言う状況になると思う。

解決策は、今のようにSNATをかけるか、ポリシールーティングで厳密にルーティングを指定するか、だと思うが。
703700=544:2008/11/25(火) 18:33:11 ID:+bzr+l5D
>>702
レスサンクスです
ポリシールーティングなのかわからないんだけど
>>544にあるように、UIDによってルーティングテーブルを分けてます。
mainテーブルはeth1がデフォルトになってて、
一部のユーザーはテーブル2を見て、eth0に振られます。
>>700の現象が起きるのはそのユーザーのみです。後出しですいません。
tcpdump見てると、domainのみeth1のアドレスでまず送って、その後eth0のアドレスで送ってます。
>>544で言ってた遅さの原因は最初のDNS問い合わせがタイムアウトしてるからのようです。

>・IPアドレスは、インターフェースに関連づけられる(が、他のインターフェース経由で送出されても良い)
ここを厳密にインターフェースに関連付けられればいいんですけど、SNATしかないんでしょうか?
704700=544:2008/11/25(火) 18:34:16 ID:+bzr+l5D
ipコマンドの結果とiptablesの一部載せます
# ip rule list
0: from all lookup 255
100: from 192.168.0.102 lookup 2
101: from all fwmark 0xb lookup 2
32766: from all lookup main
32767: from all lookup default

# ip route show table 2
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.102
default via 192.168.0.1 dev eth0 src 192.168.0.102

# ip route show table main
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.102
211.4.228.0/24 dev eth1 proto kernel scope link src 211.4.228.10
default via 211.4.228.1 dev eth1

# iptables -L -t mangle
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MARK all -- anywhere anywhere MARK set 0xa
MARK all -- anywhere anywhere OWNER UID match serv1 MARK set 0xb
705700:2008/11/25(火) 19:15:43 ID:+bzr+l5D
自分でも混乱してきたのでまとめ

table2を見てる特別ユーザーの場合
>>704の状態
ソースアドレスがeth1のアドレスになってしまって通信不可

>>704に加えてSNAT
基本的にソースアドレスはSNATで指定したアドレスになり通信できるが
DNSのみeth1のアドレスで問い合わせ後、SNAT指定のアドレスで問い合わせるので遅くなる。
706login:Penguin:2008/12/25(木) 14:38:37 ID:W3gIymfl
>>666
亀ですんません
-i $INTIF取ってもダメでした
結局、-s ! $OREIPで凌いでます
707login:Penguin:2008/12/26(金) 00:11:11 ID:VXirjz6Y
今さっき、単純なポリシールーティング(fwmark未使用)なら動いたけど・・・・
なんか、自分のよりずいぶんややこしいことやってるな
708700:2008/12/26(金) 18:06:08 ID:ltPqHwfd
やりたいことは単純で、ユーザー毎に使うネットワークを分けたいだけなんですけどね。
宛先のみでは分けれないので静的なルーティングでは実現できず、fwmark使うしか思いつかなかったんです。
709login:Penguin:2008/12/27(土) 00:08:55 ID:opgamkt1
既に理解しているようならスルーしてくれ。

まず、linuxのポリシールーティングがどういうものかというと、
「ルーティングテーブルを複数持って、条件によって使うテーブルを切り替える」
機構になってる。

これは、普段使うmainテーブルを複数持つような物だと思えばいい。
つまり、切り替えたテーブルにおいて、ネットワークの定義等が無いと、そのネットワーク等は使えない。

通常、mainテーブルが
$network1 dev $if1  scope link  src $ip1
$network2 dev $if2  scope link  src $ip2
127.0.0.0/8 dev lo  scope link
default via $gw1 dev $if1
のようになり、
これとほぼ同じものを、切り替え用のテーブルとして用意する
(127.0.0.0/8 も、テーブルごとに用意した方がいい)

また、アプリケーション側でソケットを作成する際に、
local側をbindして、bindしたアドレスと別のネットワークに飛ばそうとすると
当然の如く、ネットワークを跨ぐことができず、ルーティングに失敗する。
(ip_forward=1にすれば超えれるのかな?)

bindをanyにした場合は、送信先に対応するネットワークをルーティングテーブルから選択して、
そのテーブルに書かれているIPアドレスorデバイスをlocalのbindとする。


どうやって調べるかという話はあるにしろ、どこが問題なのかはっきりさせた方がいい気がする。

#完全にiptablesの話じゃないな
710700:2008/12/27(土) 00:58:36 ID:jUvzXagD
自分でsocketから書けばbindでIPアドレス指定することで
ルーティングで小細工しなくてもNICを使い分けれるんですね。知らなかった。

でもwgetとか普通のクライアントアプリならbindとか呼ばず、いきなりconnectじゃないですか?
そういう場合ってどうやってソースアドレス決定するんでしょう?
ルーティングテーブルでローカルネットワーク使うように設定しても(>>704のtable2)
ソースアドレスがグローバルIPになっちゃうんですよね。

##完全にiptablesの話じゃないな
#たしかに。板違いかも。
711login:Penguin:2008/12/27(土) 07:35:52 ID:opgamkt1
いや、ポリシールーティングの設定はいる。
けど、fwmark使わずに、ソースアドレスでテーブルを振り分ける。

echo "127 net1" >> /etc/iproute2/rt_tables
echo "126 net2" >> /etc/iproute2/rt_tables

ip route add $network1 dev $if1  scope link  src $ip1 table net1
ip route add $network2 dev $if2  scope link  table net1
ip route 127.0.0.0/8 dev lo  scope link table net1
ip route default via $gw1 dev $if1 table net1

ip route $network2 dev $if2  scope link  src $ip2 table net2
ip route $network1 dev $if1  scope link  table net2
ip route 127.0.0.0/8 dev lo  scope link table net2
ip route default via $gw2 dev $if2 table net2

ip rule add from $ip1 table net1 prio 14998
ip rule add from $ip2 table net2 prio 14999

いわゆる、参考文献でよく見る基本形
・localのbindによって、gw1とgw2を振り分ける。
・localのbindがanyの場合は、mainテーブルのdefault gatewayによってlocalのbindが確定する
・listenしているソケットがanyの場合は、acceptしてlocal側のbindが確定した段階で、
 出力先のネットワークが確定する。つまり、受け取ったif側のgwが使用される
・wgetにはbindaddress指定があるので、
 wget --bind-address=${ip1} http://hogehoge ではgw1
 wget --bind-address=${ip2} http://hogehoge ではgw2
 wget http://hogehoge ではmainテーブルで指定したgw
 に向かってパケットが投げられる
712login:Penguin:2008/12/27(土) 07:44:29 ID:opgamkt1
IP通信の基本として、パケットには自分のIPアドレスが含まれる。(無いと通信できない)
srcIPとdstIPが別のnetworkになる場合、ルーティングを行う必要がある。
つまり、localのbindが${ip1}の状態で、$gw2に投げようとする時点で、ルーティングが必要になる。

localのbindが確定した段階で、別のgwに投げようとしても、localでroutingしない限り届かない。

>>700 の場合
アプリケーションが起動して、localのbindをanyでsocket作成
通信先を決定時に、local側IPアドレスをmainテーブルを元に生成(eth1のIPアドレス)
ルーティングテーブル選択ルールで、table 2を選択して、パケットを送出(211.4.228.0/24のネットワークの定義が無いので投げられない)
という動作になっているんじゃないかなー

多分、anyのbindがmainテーブル参照でsrcIP決定になるというのが、想定外の動作なのではないかと。
(なので、条件によって使用される他のテーブルにも、mainテーブル相当の内容を入れておくことが推奨される)
713login:Penguin:2008/12/27(土) 12:23:31 ID:itSOO7pC
スレ違いになるけどIP配布するときにゲートウェイをMACアドレスの
グループごとに変えるとかじゃ、だめなのかな。セキュリティの問題で
分けてるんだとすると、だめだが……
714700:2008/12/27(土) 19:04:19 ID:jUvzXagD
>>711
wgetにはbindの設定がありましたか。さすがwgetですね。wgetは例として悪かったです。
実際使いたいのはperlのLWP::UserAgentなんですけど、bindアドレスの設定はなさそうです。

>>712
パケットを生成するためにはsrcIPが必要で、ルート決定にはパケットが必要なんですね?
今自分がやろうとしてる、ルートによってsrcIP決定するという考え方が間違ってるんですね。
>>700ではsrcIPをmainから仮決定しているのでSNATで修正する必要があるのは当然だと。
ちなみに>>704の場合、一応パケットは送出されてます。でもsrcIPが間違ってるのでルーターに遮断されてると思われます。

>(なので、条件によって使用される他のテーブルにも、mainテーブル相当の内容を入れておくことが推奨される)
そうすると、srcIPが間違ってる限り、どのテーブル使ってもmainと同じルーティングになってしまいませんか?
715login:Penguin:2008/12/28(日) 11:07:42 ID:em+fhSry
スルー推奨
716login:Penguin:2009/01/16(金) 16:01:57 ID:okJnBqgJ
2008年12月 攻撃元国別ランキング
《1位》韓国(78.1%)
《2位》アメリカ(5.4%)
《3位》中国(2.5%)
《4位》サウジアラビア(2.1%)
《5位》台湾(中華民国)(1.5%)

http://www.security.ocn.ne.jp/information/news/nf20090108_01.html
717login:Penguin:2009/01/16(金) 16:06:20 ID:u7wlazQY
>>716
これは 韓国ネチズンvs 2ちゃんねらー のせいじゃないかな。でないと偏りが大きすぎるw
718login:Penguin:2009/01/16(金) 16:46:44 ID:+DlK6TCr
迷惑な話だ(笑 vipper専用の回線でも引いてそこでやってほしい
719login:Penguin:2009/01/16(金) 22:24:37 ID:Qy3jFgAJ
DebianでfirestarterのGUIを最小化自動起動させている方いらっしゃいませんか?

http://www.fs-security.com/docs/faq.php#trayicon
上記サイトに書いてあるようにしたのですが、ログイン後通知パネルに自動起動しません
/etc/sudoersに

username ALL= NOPASSWD: /usr/bin/firestarter

Note: Debian users should replace /usr/bin/firestarter with /usr/sbin/firestarter in the above line.
↑のように追記したのですがやっぱりダメです
セッションの自動起動するプログラムにも書いてある通り追加しました
どなたか成功している方いらっしゃいませんか?
firestarterのバージョンは1.0.3-1.3です
よろしくお願いしますm(_*_)m
720login:Penguin:2009/01/16(金) 22:29:09 ID:VaS+Z9mp
>>719
usernameのところをちゃんと自分のユーザー名にした?
firestarterの場所はちゃんと合ってる?
端末でsudoとかsuとかせずにfirestarterと打って起動出来る?
721719:2009/01/17(土) 16:22:18 ID:98qqdXhI
>>720
usernameは自分のユーザー名にしました
firestarterの場所は/usr/sbin/firestarterにしました
sudoとかsuせずに起動できません
722login:Penguin:2009/01/17(土) 18:08:23 ID:lpCkIAcT
>>721
ごめん間違った。
sudo firestarterでパスワード要求されずに起動できる?
セッションにはsudo firestarterで登録ね。
723719:2009/01/17(土) 18:36:18 ID:98qqdXhI
>>722
セッションへの登録の仕方が間違ってました
自動起動時の最小化はできませんでしたが、通常モードで起動することはできました
本当にありがとう
724719:2009/01/17(土) 19:05:29 ID:98qqdXhI
>>722
--start-hidden
↑を付加して最小化もできました…orz
725login:Penguin:2009/01/23(金) 08:14:33 ID:GeOEI94J
こんなのみつけた
コメントもついてて、大元になるスクリプトをジェネレートしてくれるみたい
これを少しづつ買えていけばいいじゃないかな。パスとかルールとか
http://easyfwgen.morizot.net/gen/
726login:Penguin:2009/01/30(金) 16:53:34 ID:037qY2Hb
最近namedに
72.20.3.82#35022: query: . IN NS +
のような連続攻撃がバンバン来る。
そこで同一IPアドレスから一定数以上の53/UDPパケットが来たらiptablesで叩き落としたい。
ところが… recentモジュールはTCP専用だったのね。知らなかった。orz
UDPでrecentモジュールと同様のことをするにはどうすれば良いのでしょう?
727726:2009/01/30(金) 17:02:36 ID:037qY2Hb
因にUDPでrecentモジュールを実験してみたら、見事に誤作動。
一つのIPアドレスがhitcountに達したら、全部のIPアドレスがDROPされてしまいました。orz

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -m recent --set --name domain --rsource
-A INPUT -p udp -m udp --dport 53 -m recent --name domain --rcheck --seconds 300 --hitcount 50 --rsource -j LOG
-A INPUT -p udp -m udp --dport 53 -m recent --name domain --rcheck --seconds 300 --hitcount 50 --rsource -j DROP
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
728login:Penguin:2009/01/30(金) 18:17:17 ID:Pcr9wMdL
適当なこというけど hashlimit は?
729login:Penguin:2009/01/30(金) 21:25:17 ID:YBChhxZr
>>726
というかbindのACLで不正な問い合わせには応答しなきゃいいじゃないか。
仮にiptablesでやったとしてもパケットがやってきてしまうことは
どうしても防げないわけだし。
730login:Penguin:2009/01/31(土) 02:54:59 ID:asn696XI
bindのDDoSはどんどんひどくなってるみたいね。
とりあえずはbindのほうをいじったほうが、確かに早いかも分からん。
スレ的にはiptableで簡潔ないい記述ができればいんだが。
731726:2009/01/31(土) 16:55:12 ID:CmZY/+bL
BINDは対策済なんだけど、これだけでは偽装された発信元IPアドレスに(短い)パケットを返してしまう。
iptablesで叩き落とせばこのバックスキャッタリングを防げる。
上手い方法ないかなあ。
732login:Penguin:2009/01/31(土) 17:01:03 ID:asn696XI
blackholeとかメンテナンスするのいやだからなぁ。
ルールベースで切りたいな確かに。
733login:Penguin:2009/01/31(土) 22:58:57 ID:asn696XI
しかしひどいね。blasterが流行ったときみたいだな。
734login:Penguin:2009/02/01(日) 06:17:02 ID:EdoXH2sU
BINDは設計がおかしいから、もうどうにもならん
735login:Penguin:2009/02/01(日) 10:27:09 ID:pLJq1zgT
だれか海外サイトから設定をかっぱらって来るんだ
736login:Penguin:2009/02/02(月) 09:48:50 ID:+Az43133
https://lists.dns-oarc.net/pipermail/dns-operations/2009-January/003488.html

DNSオペレータのMLに出ていたラインで、通技板に転載がありました。
737login:Penguin:2009/02/02(月) 11:30:57 ID:4AWynPNf
u32モジュールってなんだ!?
こんなの初めて見た
738login:Penguin:2009/02/02(月) 12:04:46 ID:+Az43133
俺も初めて使った。最近のkernel/iptablesじゃないとダメみたいね。
あと at ってなってるところは@に置換ね。
739login:Penguin:2009/02/02(月) 12:07:52 ID:+Az43133
ただこれ、すごい単純なマッチングだからアタックの問い合わせにいろんなのが
出てきたら、ダメだな。よく見てるとランダムな文字列のDDoSもあるから、そういうのには
上の人みたいに時系列で追うルールじゃないと対応できない、たぶん。
740login:Penguin:2009/02/02(月) 13:24:16 ID:pp7sQ9oB
うちには「.」だけじゃなく「se」の攻撃も来てる。
741login:Penguin:2009/02/02(月) 17:41:07 ID:pp7sQ9oB
>>728
hashlimitはudpで使えるの?
742login:Penguin:2009/02/04(水) 17:19:46 ID:DRq4jnVW
recentの場合は一度hitcountに達すれば攻撃が続く限り全部DROPできる。
これに対してhashlimitの場合は攻撃が続いている間、攻撃の一部を受け入れてしまう。
という理解で正しい?
743login:Penguin:2009/02/05(木) 07:35:29 ID:zryjGLFD
UDPの場合はipアドレス偽装しても困らないんだから
hashlimitは全く役に立たないと思うんだが。
744login:Penguin:2009/02/05(木) 09:10:03 ID:k3yyhcPH
>>743
TCPもSYNに限ってはアドレスを偽装できるので、
アドレス偽装対策としての確実性を求めるべきではない罠。
745login:Penguin:2009/02/05(木) 12:05:09 ID:HWvjHGlG
namedのログを見ると、実際には同じ発信元IPアドレスが繰り返し使われている。
何故かというと、namedは攻撃の踏台に使われているだけだから。
本当の攻撃対象のIPアドレスを発信元に偽装して、世界中のnamedに問い合わせをバラまく。
namedの応答を悪用することで攻撃のトラヒックを何倍にも増幅することができるから。
746login:Penguin:2009/02/05(木) 18:54:59 ID:8g5FEuSC
結局あれをやってる連中の意図はそういうことなのかな。
となるとやっぱり律儀に返事を返すのは、どうしても
連中の思ったとおりのことをやってしまうことになるね。

あまり本来の設計にない動作はさせたくないが、しょうがないなこれは。
747login:Penguin:2009/02/05(木) 23:35:52 ID:zryjGLFD
DRDoSを調べようとしてもDR-DOSばかりヒットするのは困ったものだな・・
748login:Penguin:2009/02/05(木) 23:39:35 ID:dEMHjHJ3
>>747
DRDoS -DR-DOS でググる
749login:Penguin:2009/02/06(金) 09:58:40 ID:EQF4KdkV
直接iptablesというわけではないのですが質問です。

ある特定のISPユーザにしかサービスを許可したくない場合等
ドメイン名で制限を書けたい場合にはどのようにするのが一般的でしょうか?
(IPアドレス帯域を公開していたりTCP Wrappersが対応していればカンタンなのですが)
750login:Penguin:2009/02/06(金) 12:32:44 ID:KaLnvoCv
安易な対策としてzone "."にallow-query { 127.0.0.1; };を書き加えてみたけど、拒否されますた。orz

Feb 6 12:25:21 ***** named[26734]: loading configuration from '/etc/named.conf'
Feb 6 12:25:21 ***** named[26734]: /etc/named.conf:23: option 'allow-query' is not allowed in 'hint' zone '.'
Feb 6 12:25:21 ***** named[26734]: loading configuration: failure
Feb 6 12:25:21 ***** named[26734]: exiting (due to fatal error)
751login:Penguin:2009/02/06(金) 21:14:56 ID:xQ6autwt
optionsに127.0.0.1とローカルのIPだけ許可する設定を書けばいいよ。
公開してるゾーンだけanyに許可。
752login:Penguin:2009/02/06(金) 22:03:16 ID:JpTPB05X
>>749
DNSでアドレスから名前を逆引きして判別 (さらにsecureにしたい場合は、
確認できたホスト名をアドレスに再変換してチェック) とか。
753login:Penguin:2009/02/13(金) 16:23:01 ID:e2K4rCg5
BIND 9.4からnamed.confの仕様が変更になっていたのね。
allow-queryが効かなくてハマった…。
754login:Penguin:2009/02/13(金) 23:59:00 ID:owjgCdcY
省略せずに、ちゃんと明記すればいいんだっけか
google様でわからなかったら苦労しそうなパターンだよなぁ
755login:Penguin:2009/02/17(火) 13:00:46 ID:WbA+0bN2
MythwebでwebからTVの録画や視聴をしようと思い、念のため外からの接続はSSL経由で
クライアント認証にしてみました。
そしたら、

1、Mythwebから録画設定等の画面は開ける(httpsでリンクやsubmitできている)
2、Mythwebから録画した映像を見ようとするとサーバに接続できない(リンク先のプロトコルがhttpになっている)

と言う結果になりました。
iptablesで

httpsで接続できているマシンから、httpで要求があった場合はhttpを通す。
ただし、httpsで接続していないマシンからhttpの要求があった場合はブロックする。

と言ったような都合のいいブロック方法って何かありますか?
ちなみにMythwebはLAN内ではhttpで普通に使えています。
756login:Penguin:2009/02/20(金) 21:35:13 ID:iLve4iTI
>>755
iptablesで必要なポートを開けるためのスクリプト(setuidフラグ付き)を作り、
それを呼び出すためのcgiを作ってhttpsからアクセスさせればいいのでは。

もちろんセキュリティホールにならないようきちんとチェックする必要があるが。
757login:Penguin:2009/02/21(土) 16:56:16 ID:5ViP3mcA
>>756
あ〜、なるほど。
そういう手もありますか。

でもftp何かでもコマンド用のポートとデータ用のポートが違っても大丈夫な様に、
httpでも同じような仕組みができないかと思ったんですが、難しいんですかね〜?
758login:Penguin:2009/02/22(日) 03:08:54 ID:kRWcVgWK
ftpは追跡用の専用モジュールあるでしょ(ip_conntrack_ftp)
http対応させるならhttp用のモジュールが無いと無理。
そもそもL7だからiptablesの仕事じゃないと思うが。
一応l7-filterってのもあるけど、それでうまくいくかどうかは知らない。
759login:Penguin:2009/02/22(日) 03:11:52 ID:kRWcVgWK
あー、内部のftp鯖用だとip_nat_ftpだっけ、まあどっちでもいいや・・・
760login:Penguin:2009/02/22(日) 20:47:12 ID:GfbPUEsr
あまりニーズがなさそうだからねぇ。ftpのようなトリックは自分でやらんと。
そういうことをやる汎用のルールはないか、という意味の質問なんだろうけども。
761login:Penguin:2009/02/22(日) 22:15:21 ID:7d9guBVj
>>758
>>759
>>760

レスありがとうございます。
言われてみればftpは専用モジュールがありましたね・・・。

実際にはやはり、sslでログインなどの認証かまして、そのIPに対してhttpを開放するルールを
作るのが正解っぽいですね。

あるいは、リバースプロクシか何かで強制的にポートを入れ替えてしまうとかですかね?

ありがとうございました!
762login:Penguin:2009/02/22(日) 23:27:39 ID:+kmxZRYl
>>761
今更だが、sshでトンネルを掘る(簡易VPN)っちゃダメなのか?
公開鍵認証のみ受け付ける設定にすれば安全性はクライアント認証と変わらない。
(つ〜か、下手にスクリプト組むとセキュリティの確認が面倒)
763login:Penguin:2009/03/15(日) 15:17:31 ID:vnCvBK0D
ポート80には、韓国・中国・香港・台湾(.tw)などの国を拒否しつつ
ポート8080では、日本からのIPのみを許可する方法教えてください。
いろんなサイト見てると意味不明になってきましたorz
764login:Penguin:2009/03/15(日) 17:59:00 ID:uk1z+jYj
方法っつーか地道にリスト作るしかないでしょ。
そんな需要あまりないから自分で。
765login:Penguin:2009/03/15(日) 18:13:08 ID:umYumNQy
>>764
あるんだな

>>763
web上探せばスクリプトも公開されてるよ
2chでスレッドが立ったこともある
外部公開したいくらいなら自分で探してみ
766login:Penguin:2009/03/15(日) 18:21:32 ID:D7dwhpji
5つくらいのリストファイルDLしてgrepするだけでいけるはず。
767764:2009/03/16(月) 04:12:07 ID:IPdPlwrs
APNICかなんかの情報でそれできるかね?
最近は再割り当て頻繁だから、古い情報をもとにやると
本来はじくべきでない人をはじいたりしそうだなー。

メンテナンス自動化しないと、やはりその問題が起きるから
かなり手間かかると思うが、それをやるスクリプトってことかね?

クラッカーは迂回路から入ろうとしたりするわけだから、あまり
意味がないと思うけど……
768login:Penguin:2009/03/16(月) 07:28:48 ID:vC3uuih8
>>767
金魚みたいに口パクパク開けてねえで調べろって
769764:2009/03/16(月) 09:16:14 ID:IPdPlwrs
俺に言うなよ(笑 ちゃんとレス番見れ。
770login:Penguin:2009/03/17(火) 01:03:18 ID:tZV7ufHu
じゃあ俺はちゃんとレス番を見てお前に言っちゃおうかな?
>>764
金魚みたいに口パクパク開けてねえで調べろって

ちょっとググったらその手のスクリプトの内容も分かるぞ。
DLしてgrepが基本だからそんなに手間もかからないし面倒くさくもないけどな。
ちなみにBOTを弾くのにも有効な手段。ポートを変えてても総当たりで試そうとするタイプもいるから困る。
771764:2009/03/17(火) 01:08:26 ID:OQn5xYfP
いや俺は質問者じゃないって。スクリプトがあるとかないとか、関心なし。
つか質問者どこいった?(笑
772764:2009/03/17(火) 01:14:57 ID:OQn5xYfP
あと、BOTをそんなIPベースでちまちま羅列する方法ではじけてる、
なんてのはDDoSの意味が分かってないとしか。

アドレスブロックなんていまてんでバラバラにクラスレスであっちこっちに
再割り当てしまくってる上に、BOTなんて二重三重に国を経由して来る。

自分でやってることと現実が一致してないのに悦に入ってるだけ、の
可能性もあるかと。
773login:Penguin:2009/03/17(火) 05:04:49 ID:ze3UVfmX
調べて自分の目で確かめるのが一番だと思うよ
逆に興味がないなら調べる必要ないし
774login:Penguin:2009/03/17(火) 07:33:45 ID:mDYSR57N
てんでバラバラにクラスレスにあっちこっちを塞ぐスクリプトなんだよな。
国別iptables。
なんか美しくないし自分とこでは必要なさそうなので使ってないけど。
775login:Penguin:2009/03/17(火) 11:44:05 ID:WpLV1Gl4
攻撃元IPアドレスの分析とかやってないんだろうな

攻撃元のうち、日本以外の物が9割以上
日本が発信元のうち、某激安ホスティングプロパイダと学校系で約5割
これらを拒否するだけで95%以上は対策できる。

あと、固定IPと動的IPで、攻撃される量がかなり違う。
進入成功して踏み台にするにも、IPアドレス変わったら使い物にならないし
42億近いIPを全スキャンすると途方もない時間がかかる。
結局、効率的にやる必要があるので、固定IPだとわかっているブロックが狙われやすい。

hosts.allow/denyに.jpと書く方法もあるけど、DNSの逆引きに時間がかかるため、
結果として自分でDoSを起こしてしまう可能性が出てくる。
apnic/jpnicのデータベースからスクリプトで変換してiptablesで入れておく方が現実的かと。
776login:Penguin:2009/03/17(火) 13:58:18 ID:/w9gjZ7Q
こうしてインターネットは国ごとに分割され使いにくいものとなったのであった
777764:2009/03/17(火) 16:43:59 ID:OQn5xYfP
俺もadhocな感じがするし完全にはできないから、まして人が作った
スクリプトで自分の管理するマシンに到達不可能なIPをじゃんじゃか
機械的に生産するとか、とてもやろうとは思わないわ。

それこそ趣味でやってんなら別だが、他人にサービスする用途だったら
知識ある人ならやらんでしょ。需要ないって書いたのはそういう意味で。

ちなみにBOT感染してるPCの数は日本はそれなりに多かった気がする。
どこだったかで統計みたけど。自宅の通信環境が良いので自宅でサーバを
動かしてる人が多いからじゃないか、とか分析してたな。
778login:Penguin:2009/03/17(火) 17:13:29 ID:FZ96Xb7j
apnic/jpnicのデータっても即時更新されるわけじゃないからね。
779login:Penguin:2009/03/17(火) 20:14:20 ID:DpJX+Z4E
>>775
>攻撃元のうち、日本以外の物が9割以上
かなり有効な対策なんだな

>apnic/jpnicのデータベースからスクリプトで変換してiptablesで入れておく方が現実的かと。
そういうツールの話だろ?
780764:2009/03/17(火) 22:51:02 ID:OQn5xYfP
それはさぁ、インターネット全体を把握することが誰でも簡単にできますよ、という
あまり現実的じゃない話かと。

>>779がむしろそういうことができると言うことで何かメリットのあることを
やってて、そのレベルで、できる、かといえばできる、わな。

つかその攻撃元がうんぬんってのも分散攻撃とは何か、が分かってない
統計かと。実際iptablesのログ見てても最近のDNS DDoSなんか
まぁよくこんないろんな国から来るな、という感じでしょ。
781login:Penguin:2009/03/18(水) 01:39:41 ID:NihXUljR
そういう方法しか思いつかない人がいるなら、
より良い方法があると思うならアドバイスをしてやれば良かろうに。
と思った。

俺?対策はしてないな。興味はあるけど。

>iptablesを使って素敵なファイアウォールとか、
>快速ルータを作ったりするために、
>情報を出し合うスレ
782764:2009/03/18(水) 01:42:02 ID:jphinfD+
というかないよ。むしろAPNICがそのプログラムくれって感じだろ(笑
783login:Penguin:2009/03/18(水) 23:37:52 ID:NihXUljR
無いなら黙ってればいいんじゃね?
JP以外弾きたいと言う人がいて、(若干非効率ながらも)弾く方法があるというのに
それを需要が無いだの、メリットがどうだのこうだの。

>764に他人のサーバ環境を心配される必要も筋合いもないんだぜ?
セキュアのセの時も知らない奴ならともかく。
784login:Penguin:2009/03/18(水) 23:50:52 ID:1fzt16E1
APNICのリストみたって、日本のIPの全部は分からないんじゃないの?
一部の大学や海外系ISPとか、あとネットワーク系企業とか、
結構重要なのが漏れてる気がするんだけど。
785login:Penguin:2009/03/18(水) 23:55:52 ID:U7+c+vxW
5年くらい前に調べたときは中国・韓国からのアタックが90%以上占めてた。
アドレスレンジのリスト作ってiptablesで弾くだけでかなり効果あった。

最近は東欧や南米からのアタックが増えている希ガス。(ちゃんと統計とってないけど)
786login:Penguin:2009/03/19(木) 00:42:09 ID:A46BG9io
>>784
どっちにしろ100%は無理なのは分かってるけど
その辺りのIPアドレスはどこかにリスト化されてないのかな?
787login:Penguin:2009/03/19(木) 01:42:48 ID:VEb9NHr7
788764:2009/03/19(木) 04:18:08 ID:LfNCeRW7
>>783
非効率というか、DBはたしかにAPNICが公開しているが、それを
じゃあcronか何かで毎回持ってきてgrepしてリスト作るの?
それみんながやり始めたら単なる迷惑行為かと。

しかも現状とは完全には一致してないから、 JP以外は排除なんて
ことは本当にちゃんとやろうと思ったら不可能。むしろJPなのに
アクセスできない人が出てくる。

一応趣味だろうがなんだろうが、サーバ管理者でネットのオペレータの
端くれなんだから、はじくべきでないものをはじいいてしまうルールというのが
いかにダメか、って分かると思うんだけどね。
789login:Penguin:2009/03/19(木) 07:00:41 ID:THCrkLGw
>はじくべきでないものをはじいいてしまうルールというのが
>いかにダメか、って分かると思うんだけどね。

最所っから
>そんな需要あまりないから自分で。

と言ってる人にはそうなんだろうな

>それみんながやり始めたら単なる迷惑行為かと。
なんのために情報公開してるんだか
2chにアクセスするの止めたら?
790764:2009/03/19(木) 07:28:16 ID:LfNCeRW7
iptablesのラインというか、地理情報をIPと完全にマッピングする方法は
あるのかないのか?って話になるよね。それはやろうとしても不完全になる。

ちなみにJPNICの活動理念から引用するけど、

JPNICはインターネットの円滑な運用のために各種の活動を通じてその基盤を支え、
豊かで安定したインターネット社会の実現を目指します。

できもしないことのために彼らのDBに四六時中アクセスするってのは、
俺にはできんなぁ。

スパム排除ならもっと他にいいフィルタ方法が沢山あるし、DDoSは
論理やパターンではじかなきゃ、BOTNETを利用してる連中はふせげないよ。
需要、ないでしょ?

ちなみにできることであれば俺はいくつかラインはここに書いた。
できないのに、できるよバーカ、みたいなことを言うのがいたけど、
それは自分でやるのは勝手だが、ここの住人の見解ではないというだけ。
791login:Penguin:2009/03/19(木) 10:41:45 ID:JUp7sKbL
自分の見解がスレの見解だとも?

フィルタリングされて困る人
1 apnic等に登録されていないアドレス帯を使ってる人
2 クラッキング等が困難になる、ヒット率が下がる、BOTNET使ってる人
3 高額なハードを売りつけれなくなる人

SPIに言及してるから3かな
792login:Penguin:2009/03/19(木) 10:52:09 ID:t7bAZDSH
IPアドレスで弾くのは本質的な対策になってないよな
ちゃんとサーバのセキュリティ対策をやっておけばそんなことする必要ない

海外に行ったら見られなくなったりするコンテンツとか正直ありえんよ
俺は出張でよく海外行くからねえ
793login:Penguin:2009/03/19(木) 11:55:28 ID:VEb9NHr7
ここはiptablesのスレだから、IPアドレスで判断するのは基本。
それはしょうがない。
794login:Penguin:2009/03/19(木) 12:02:35 ID:DAtP4B6B
ここはなんでもかんでもiptablesでやろうとするスレです。
アプリケーション層でやれとかいう人はお引き取りください。
795login:Penguin:2009/03/20(金) 01:06:19 ID:Wj9gyTsE
>>792
それは論外じゃね?
796764:2009/03/20(金) 02:20:35 ID:fkbrMgVo
>>791
では俺が書いてることで技術的に間違ってる点をあげてみてくれ。

困るとか困らないとかじゃなくて。ちなみに一ユーザですよ。

簡単にできるからgoogleで調べろ、ってのがじゃあこのスレの意見って
ことでいいの?(笑 どこぞのアングラサイトのハッカー気取りの
個人掲示板ならそれでいいだろうが。

>>793
んなこたーない。最近DDoS対策で一番助かったのはパターン
ベースのラインだし。プライベートIPがソースでグローバルから
入ってくるとか、そういう不正パケットは確かにIPベースではじいてるが、
これはプライベートIPの定義がはっきり決まってるからできることだわな。
797login:Penguin:2009/03/20(金) 10:14:28 ID:ya3lNzB4
>>792
ここlinux板だろ?
どうして、自宅経由でアクセスするとか考えないんだ?
32022とか、一時使用のポートに見せかけてsshd開いておいて
XForwardをsshの中通すようにでもすればいいだろ

そもそも、海外ってのが中国だったら、普通の方法じゃ見れないとも思うが
798764:2009/03/20(金) 13:16:17 ID:4kmKdqy9
国別での対策なんてされたら俺の同胞が困るだろ
799764:2009/03/20(金) 17:02:44 ID:fkbrMgVo
>>798みたいないう嫌○厨みたいのがここ見てわけわかんないけど好都合だからっつって
APNICにガンガンアクセスするスクリプトを繰り返し動かすとか、迷惑行為だなぁ、やっぱり。

この話題はもうiptablesのライン出てくることないから、まだ続けるなら、通技板にでも持っていこう。
800764:2009/03/20(金) 17:12:40 ID:Wj9gyTsE
自演かもしれないけどな
トリップを付けていないから本人の判別なんて出来ないからなあ
801764:2009/03/20(金) 17:20:35 ID:fkbrMgVo
といいながらハンドルマネすんのやめてくれ(笑 レス番付けるのは
読むほうの利便性を考えてやってることなんだからさ……
802login:Penguin:2009/03/20(金) 18:52:16 ID:kQ12QUs2
>>797
誰でも自宅サーバ持ってると思うなよ
803764:2009/03/21(土) 02:53:34 ID:+9fyatks
特定の国からアクセスされたくないというのなら
その対策を取るのは情報を発信する側の自由だろう

そういうニーズの存在を否定することはできないし
対策する手段があるということは喜ばしいことでもある
804login:Penguin:2009/03/21(土) 03:02:23 ID:Zgt+v0rx
iptables側はそのニーズを汲み取ってはいないけどね。
805764:2009/03/25(水) 17:04:48 ID:FXSCQYzx
ググれカスもいいけど、アドレスぐらいケチケチせずに貼っちゃえよ
ttp://www.42ch.net/~shutoff/

俺はこんな感じのスクリプトでやってる
#!/bin/sh
DROPCOUNTRY="KR,CN,KP,HK,ID,IN,MX,RU,TW,PL,TH,AU,PH,UA,PE,IT,CA,CZ,NL,TR,BR"

wget -O delegated-apnic-latest ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest
wget -O delegated-ripencc-latest ftp://ftp.apnic.net/pub/stats/ripe-ncc/delegated-ripencc-latest
wget -O delegated-afrinic-latest ftp://ftp.apnic.net/pub/stats/afrinic/delegated-afrinic-latest
wget -O delegated-arin-latest ftp://ftp.apnic.net/pub/stats/arin/delegated-arin-latest
wget -O delegated-lacnic-latest ftp://ftp.apnic.net/pub/stats/lacnic/delegated-lacnic-latest

perl countryfilter.pl iptables $DROPCOUNTRY < delegated-apnic-latest > filter-apnic.sh
perl countryfilter.pl iptables $DROPCOUNTRY < delegated-ripencc-latest > filter-ripencc.sh
perl countryfilter.pl iptables $DROPCOUNTRY < delegated-afrinic-latest > filter-afrinic.sh
perl countryfilter.pl iptables $DROPCOUNTRY < delegated-arin-latest > filter-arin.sh
perl countryfilter.pl iptables $DROPCOUNTRY < delegated-lacnic-latest > filter-lacnic.sh

sh iptable.sh

sh filter-apnic.sh
sh filter-ripencc.sh
sh filter-afrinic.sh
sh filter-arin.sh
sh filter-lacnic.sh
/etc/rc.d/init.d/iptables save
806login:Penguin:2009/03/26(木) 04:31:26 ID:OsjUvcPw
意味が分からないで使うやつがでてくるから貼るなとはいわんが
解説くらい付けたら。ローカルだけの処理じゃないんだし。
807764:2009/03/26(木) 11:30:02 ID:P+axV9ZV
>>804
痛い奴だな
808764:2009/03/26(木) 14:30:18 ID:9PJCe/57
>>806
素直にわからないから教えてくださいって言えば?
意味もわからず2chに貼られたスクリプト実行するって・・・
809764:2009/03/26(木) 23:31:41 ID:qS6lSxTJ
>>806
解説はURL参照。つーか、説明しなきゃならんほど複雑なスクリプトか?
810login:Penguin:2009/03/26(木) 23:53:14 ID:WCnoFcd/
これ見てわからん奴は使わなくていいんじゃ
811login:Penguin:2009/03/27(金) 00:08:16 ID:2rBgswvf
わからないものは使わないまともな人間ばっかならいいんだけど。
812764:2009/03/27(金) 07:02:52 ID:BIb02kCF
またニセモノが(笑 人様を罵倒してる764は全部ニセモノだから。

>>811
そういうことですね。
クラックやら不正アクセスやらを防ぐためにAPNICに迷惑かける
なんて本末転倒だね。互助精神とかないのかな……
813764:2009/03/27(金) 16:00:52 ID:w8VvGftF
>>812
> クラックやら不正アクセスやらを防ぐためにAPNICに迷惑かける
805のスクリプトだけじゃ糞の役にも立たないよ
APNICに迷惑かけるってどのあたりが迷惑かけるになるの?
cronで毎秒廻したりするの?

> 互助精神とかないのかな……
こゆこと抜かす奴に限って何もしないよな
そー思うならお前が解説書けばいいじゃん
814login:Penguin:2009/03/27(金) 16:49:36 ID:vWe7WV5n
>>813
>cronで毎秒廻したりするの?

わからないまま使ったらそういうやつもいるかもな。
815login:Penguin:2009/03/27(金) 16:51:26 ID:MZOEprNK
ここは背中がむずかゆくなるスレですね
816764:2009/03/27(金) 20:05:39 ID:7FYXgDlE
サーバに迷惑かけるから2ちゃんにアクセスしない方かいい
817login:Penguin:2009/03/27(金) 20:12:13 ID:2rBgswvf
アクセスしないとサーバの費用がでないから、もっとサーバに迷惑かけるわけだが。
818764:2009/03/27(金) 20:24:01 ID:qj7O0Z/e
>>813
そいつは文句たれるだけで何もできない
聞いても無駄
819764:2009/03/27(金) 22:14:34 ID:ZxCHJ1ME
iptable.shの中身さらしたら添削してくれる人居る?
なんだかんだ言いながら俺も全ては理解してないんだよね

また解説付けろとか言われちゃう?
820764:2009/03/28(土) 05:03:47 ID:DxUAu1AT
>>814
そのうえ、これ実行するようになってから日本のプロバイダを使ってる
知人がアクセスできなくなったんですけど?とか質問するとか……

>>815
1000行くまでこんなかもなー。 ちなみに私はIP基本的に変えませんので
一日にころころID変えてる764はニセモノですね。
821login:Penguin:2009/03/28(土) 09:11:10 ID:00q0+vDx
これはひどい
822login:Penguin:2009/03/28(土) 09:26:33 ID:16YRM6Pk
こいつ面白すぎる
823764:2009/03/28(土) 09:27:10 ID:/RF47Jyw
764の人気に嫉妬

>> 820
> 知人がアクセスできなくなったんですけど?
805のスクリプトでどうやるとアクセス出来なくなるんだよ

> 一日にころころID変えてる764はニセモノですね。
俺は固定IPだから変えようがない訳だが何か
トリぐらい付けりゃいいじゃん
824764:2009/03/28(土) 10:14:55 ID:DxUAu1AT
トリップなんてつけてもこういう子は別のトリつけて
俺の方がホンモノとか言い出すだけだから意味ないよ。
適当に察してください。

あとはもう全部ハンドル764にするか?(笑
825764:2009/03/28(土) 12:07:00 ID:KJQ281R1
>>813-814

cronでどうやって毎秒の設定をするんだよ。
826764:2009/03/28(土) 12:40:04 ID:jEiFNbB8
>>825
APNICに迷惑かけるとか言い出す奴がいるから
ものの例えででてきたんだろ
827login:Penguin:2009/03/28(土) 12:40:43 ID:mCbW62Vu
>>825
sleepすりゃいいだろ?お前も↓の口だなw

>>cronで毎秒廻したりするの?
>
>わからないまま使ったらそういうやつもいるかもな。
828764:2009/03/28(土) 19:54:28 ID:KJQ281R1
わからないままだったらそんな手の込んだことしないだろう。

どーでもいいけどな。
829764:2009/03/29(日) 04:55:48 ID:8+6d9q3n
普通はNICの一覧をwgetしまくるってところで引くと思うんだが、
そうでない人は頻繁にやらないと情報が古くなるぜー、という話だけ聞いて
まじでちょこっとsleepするだけでまわすとかやりかねんよ。

ちなみにftp.apnic.netのワーニングに

NOTE: All transactions with this server are logged.
If you do not like this, disconnect now!

とあるな。
830764:2009/03/29(日) 05:36:47 ID:HI0WBZq3
ログ取られて困らない人にはどうでもいい話しだ
831764:2009/03/29(日) 05:51:37 ID:8+6d9q3n
たぶん同じIPから頻繁に同じファイルをwgetし続けたら
DoS候補者リスト入りすることになると思うけど(笑
832764:2009/03/29(日) 06:20:59 ID:FAWRu8u/
latestを数個(しかも一日に一回)ダウンロードさたらDoSw
833764:2009/03/29(日) 06:42:51 ID:8+6d9q3n
一日一回にしろ、とは誰も書いてないなー。

あとはAPNICは各国からオペレータ手弁当で出して運用してるわけで
個人サーバから毎日wgetしてDROPさせるなんて目的のために
情報提供してるわけじゃないな。

別に誰がどうなろうと、関係ないから自由だけど、俺はSPAMや
アタック対策でそんなことはようやらん。
人が聞いてきたらお勧めしない。
834764:2009/03/29(日) 08:09:47 ID:HyR7zle7
お前がやらなきゃいだけ
いちいちケチつけんなよ
835764:2009/03/29(日) 08:15:46 ID:8+6d9q3n
だから最初から、やりたい人は自分で勝手にやれば?と言っているわけだ。
836login:Penguin:2009/03/29(日) 11:45:33 ID:kZeZ5y3T
だから最初から、やりたい人は自分で勝手にやれば?と言っているわけだ。
キリッ

>>788
837764:2009/03/29(日) 15:19:27 ID:6W86XuY3
ループさせたいなら、どうぞ?
>>789-1000
838login:Penguin:2009/03/29(日) 19:35:28 ID:nBI9gdnY
なんでこいつ1000まで予約してんだかw
839764:2009/03/30(月) 00:33:50 ID:SqiVwqBX
情弱ばっかりだな
apnic.netだけじゃなくすりゃいいじゃねぇか

wget -O delegated-apnic-latest ftp://ftp.apnic.net/pub/apnic/stats/apnic/delegated-apnic-latest
wget -O delegated-apnic-latest ftp://ftp.apnic.net/pub/stats/ripe-ncc/delegated-ripencc-latest
wget -O delegated-apnic-latest ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
wget -O delegated-apnic-latest ftp://ftp.arin.net/pub/stats/arin/delegated-arin-latest
wget -O delegated-apnic-latest ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest

こんなリスト最短でも週1で更新すりゃ十分過ぎだろ
俺は1ヵ月ぐらいで手動更新してるけど困ったことない

つーかこんなの管理者のポリシー次第だろ
押しつけるもんでもないしリストにないアドレスがアクセス出来なくて困るなら使わなきゃいいだけ
805のスクリプトならiptable.shの書き方次第で、全部dropするのか80番だけ許可とか
どーとでも出来るんだから好きなようにすればいい
そもそもIPベースのパターンだけでフィルタしてる奴なんていないだろ
840764:2009/03/30(月) 00:37:07 ID:SqiVwqBX
一個抜けた
wget -O delegated-apnic-latest ftp://ftp.ripe.net/ripe/stats/delegated-ripencc-latest
841login:Penguin:2009/03/30(月) 00:38:06 ID:I6h+b+4n
>apnic.netだけじゃなくすりゃいいじゃねぇか

五倍の更新頻度にしたら意味ないよ。
842764:2009/03/30(月) 21:11:08 ID:F6k1EnFr
>>841
してねえし
843login:Penguin:2009/04/11(土) 23:31:10 ID:nujj3Mk+
eth0, eth1, eth2の3つを付けてるサーバを持ってて,

WAN - Router - eth0 - eth1 - client
- eth2 - client

という構成で,eth1,2をスイッチングHUBと同じように動作させることは
iptablesだけではできないのでしょうか?
bridgeモジュール必須?
844login:Penguin:2009/04/11(土) 23:33:42 ID:nujj3Mk+
eth2の位置がおかしくなった…eth0,1,2は1台のサーバに積んでます
845login:Penguin:2009/04/12(日) 01:20:19 ID:mmPT03fb
>>843
iptabelsはMACアドレスによって許可、拒否をする以外はL3-4に作用する。
スイッチングHUBは、ポート間をブリッジしたネットワーク機器を指す。
846login:Penguin:2009/04/12(日) 07:16:06 ID:MhuHLV2i BE:2426199089-2BP(0)
>>843
IPv4ならProxyARPすればOK。
847login:Penguin:2009/04/18(土) 01:08:34 ID:kxgGUyXt
>>843 マスカレードして eth1 と eth2 の間のクライアントアドレスに置き換えて
ROUTER からパケットが戻ってくるようにはできるけど、eth2 端のクライアント
アドレスを ROUTER に認識させるのは無理があるんじゃないのか?
848login:Penguin:2009/04/20(月) 18:50:39 ID:7XcEIOi0
自宅鯖初心者です。
簡単に設定したい場合、ttp://centossrv.com/iptables.shtmlのとおりにやっておいたらたいていはOKですか
849login:Penguin:2009/04/20(月) 19:08:24 ID:6sJgHYDY
>>848
OKだけど、それ簡単じゃないだろ。
無駄に複雑。
850login:Penguin:2009/04/20(月) 19:27:35 ID:7XcEIOi0
>>849
どもです。
[root@centos ~]# vi iptables.sh ← ファイアウォール設定スクリプト作成
以下コピー&ペーストでOKですよね?

で、空けたいポート出てきたら↓に追記してくという感じで。
#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#

テンプレのサイト見たんですが、どれもマニュアルなので自分にはまだ早いというかとりあえず公開しなければな状況で一番楽かなと思ってます。
849さんは全部手作りですか?
851login:Penguin:2009/04/20(月) 19:42:00 ID:aA8ySH2e
centosだったら、lokkitで設定して何か不足があれば
手で書くって感じでいんじゃないの、そんなに複雑なことしないなら。
852login:Penguin:2009/04/21(火) 08:34:29 ID:msaqcRoI
下図のようなネットワーク構成のイメージで、

ttp://www.atmarkit.co.jp/aig/02security/dmz2.gif

グローバルIPとリクエストのポート番号によって以下の様に振り分けたいのですが可能でしょうか。

aaa.bbb.ccc.ddd:80だったら、公開web1サーバー(192.168.0.1)へ
www.xxx.yyy.zzz:25だったら、メール中継サーバー(192.168.0.2)へ
aaa.bbb.ccc.ddd:8080だったら、公開web2サーバー(192.168.0.3)へ


また、以下のような事にグローバルIPをスルーさせたりローカルにNATしたりする運用も可能なのでしょうか ?

aaa.bbb.ccc.ddd:80だったら、公開web1サーバー(aaa.bbb.ccc.ddd)へ
www.xxx.yyy.zzz:25だったら、メール中継サーバー(www.xxx.yyy.zzz)へ
aaa.bbb.ccc.ddd:8080だったら、公開web2サーバー(192.168.0.3)へ

識者の皆さんのお知恵をお貸しください
853login:Penguin:2009/04/21(火) 09:48:52 ID:tIIIG34B
どうとでも可能。
iptablesの説明読め。
854login:Penguin:2009/04/21(火) 10:13:24 ID:9gnxX0Eo
>>852
一応聞いておくが
aaa.bbb.ccc.ddd
www.xxx.yyy.zzz
aaa.bbb.ccc.ddd
の3つはIPアドレスが違うんだよな?
iptablesは当然ながらドメイン名レベルでの振り分けなんてできないからな。
855login:Penguin:2009/04/21(火) 10:14:35 ID:9gnxX0Eo
3つじゃなくて2つか失礼
856login:Penguin:2009/04/21(火) 11:10:57 ID:tIIIG34B
ドメイン名レベルの振り分けがしたいなら、apacheかnginxでバーチャルドメイン+リバースプロキシ。
857login:Penguin:2009/04/21(火) 15:54:51 ID:msaqcRoI
皆さんありがとうございます

>> 854-855

グローバルなIPは2つで
ちょとわかり辛かったかもですが、ドメイン名レベルの振り分けではなく、ポート番号での振り分けです。

>> 856

mod_proxyも検討したのですが、他にも同居するサービスがあってhttpのリクエストだけって訳じゃないのでFWを検討しました。

ちょっと掲題が複雑になってしまったので、整理させていただきますと

グローバルIPが10.0.0.1でポート番号が80のリクエストは、公開WEB1サーバーである10.0.0.1の80へ(つまり何もしない)
グローバルIPが10.0.0.1でポート番号が8080のリクエストは、公開WEB2サーバーである192.168.0.1へ(NATする)

て事をしたいのですが、
わからなかったのはIPアドレスが競合してしまうので、ファイヤウォールにグローバルIP10.0.0.1を付けられませんよね?

違うIPのリクエストをファイヤウォールに応答させるには、どういった設定になるのだろうって思いました。
参考になるURLでも結構ですので、お教えいただけると幸いです。
858login:Penguin:2009/04/21(火) 17:22:17 ID:R/W1DTFk
>>851
助言さんくす。
lokkitすげーありがたや。初めて知りました。
859login:Penguin:2009/04/26(日) 20:03:23 ID:s8aH0S98
iptablesの設定がうまくいかないので教えてください。

今Ubuntuのサーバと、クライアントのWindowsマシンが同一NW内にいます。
Ubuntuのiptablesの設定は書きアドレスを参考に設定するとクライアントから
SSHの通信ができなくなります。
(厳密には、下記のものを少し変えて OUTPUTはACCEPTにしてします。
 trusthost, myhostも変更済み)

ttp://www.atmarkit.co.jp/flinux/rensai/iptables01/iptables01b.html

いろいろやってみたところ、43行目の

iptables -A LOGGING -j DROP

をコメントアウトすると接続できます。
これは42行目でwarning以上の警告がでてるものをログにだして、43行目でパケット廃棄
という設定ではないのでしょうか?

860login:Penguin:2009/04/26(日) 20:49:46 ID:oBcUGT9t
>>859
iptables -nLの出力は?
861859:2009/04/26(日) 20:52:57 ID:xldeLDJD
>>860
ちょっと長くなりますがすいません・・・
11.5がUbuntuのサーバです。

Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 192.168.11.0/24 192.168.11.5 icmp type 8
ACCEPT icmp -- 192.168.11.0/24 192.168.11.5 icmp type 0
ACCEPT tcp -- 192.168.11.0/24 192.168.11.5 tcp dpt:22
ACCEPT udp -- 192.168.11.0/24 192.168.11.5 udp dpt:137
ACCEPT udp -- 192.168.11.0/24 192.168.11.5 udp dpt:138
ACCEPT tcp -- 192.168.11.0/24 192.168.11.5 tcp dpt:139
ACCEPT tcp -- 192.168.11.0/24 192.168.11.5 tcp dpt:445
ACCEPT tcp -- 192.168.11.0/24 192.168.11.5 tcp dpt:901
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:60000:60030
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
LOGGING all -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
LOGGING all -- 0.0.0.0/0 0.0.0.0/0

Chain LOGGING (2 references)
target prot opt source destination
LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 3/hour burst 5 LOG flags 0 level 4 prefix `DROP:'
862859:2009/04/26(日) 20:55:07 ID:xldeLDJD
>>861
あ、すいません、これは

iptables -A LOGGING -j DROP

をコメントアウトして実行している結果です。
これをコメントアウトしないとつながらなくなってしまうので・・・
863login:Penguin:2009/04/27(月) 17:59:52 ID:zz2k82H5
>>862

自分も詳しくはないので自信がないけど、inputとoutputでのルールを
通過できたパケットがloggingに飛んでいる。
そこでlogとして記録された後、dropで叩き落とされているからでないか?
だから、iptables -A LOGGING -j DROPをコメントアウトするとつながると
言うことになるのではないかと思う。
対策はinput、outputにパケットを戻すとかコメントアウトしたままに
しておくとか?
あと、outputの基本ポリシーがacceptになっているので、再度全部の
パケットを通すよう記述しなくても大丈夫だと思う。
864login:Penguin:2009/04/27(月) 18:38:20 ID:nVVtjvBv
GUIツールとか
ブラウザーでポチポチできるツールないすか???
865login:Penguin:2009/04/27(月) 20:54:19 ID:1SIJoVBN
866login:Penguin:2009/04/28(火) 16:59:40 ID:C5YEOswO
>>864
ggrks
867login:Penguin:2009/04/28(火) 22:33:24 ID:hMwQl8r6
なに得意げになってんだ、この馬鹿は?
868login:Penguin:2009/05/16(土) 22:48:16 ID:FSfcJ3kw
>>865 これすげぇぇぇぇぇぇーーーー!!!

dクス!
869login:Penguin:2009/05/18(月) 18:03:26 ID:SWr1GNBW
あれ?apnicのipデータおかしくね???
870login:Penguin:2009/06/20(土) 20:18:38 ID:89R5Ykmq
http://fedorasrv.com/iptables.shtml
ここを参考に、外国からのアクセスを弾くように、iptables を設定しました、iptables -L で確認すると
確かに、設定は有効なようなのですが
limit: avg 1/sec burst 5 LOG level warning prefix `[IPTABLES DENY_COUNTRY] : '
とログに関するwarningが出ます、これはどういう意味で、このwarningを出さないようにする方法は無いでしょうか?
871login:Penguin:2009/06/20(土) 23:45:02 ID:Vlg2NZW4
自分で設定してるのに判らないのか?

iptables -A DROP_COUNTRY -s $addr -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '

ほれ、
ttp://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO-7.html
872login:Penguin:2009/06/21(日) 00:54:42 ID:Qtj8Rk97
>>871
これでいいのか?
iptables -A DROP_COUNTRY -s $addr -m limit --limit 5/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '
873login:Penguin:2009/06/21(日) 01:46:46 ID:iIWpXsH7
>>872
 質問者(>870 )が「参考にした」というページの、シェルスクリプトの該当部分。
 生成された定義ファイルも示さずに質問するような奴には、この程度の返事で十分だろ。
874login:Penguin:2009/06/22(月) 22:46:16 ID:40Jkq2lG
まあ、自分で書いたスクリプトの内容も理解できていないだろうしね。
875login:Penguin:2009/06/23(火) 21:58:33 ID:teaeZx2y
http://fedorasrv.com/iptables.shtml
ここを参考に、外国からのアクセスを弾くように、iptables を設定しました、iptables -L で確認すると
確かに、設定は有効なようなのですが
limit: avg 1/sec burst 5 LOG level warning prefix `[IPTABLES DENY_COUNTRY] : '
とログに関するwarningが出ます、これはどういう意味で、このwarningを出さないようにする方法は無いでしょうか?
876login:Penguin:2009/06/23(火) 22:26:59 ID:BG1NZ07B
877login:Penguin:2009/06/24(水) 08:24:33 ID:RA7k77y1
乱暴なことやってるわけだから、warningのひとつやふたつ気にしてもしょうがないと思うが……
878login:Penguin:2009/07/29(水) 18:56:55 ID:y6yAzbn1
チェイン1 国外からのアクセスを禁止して、国内からのみアクセスさせるチェイン
チェイン2 tcpへのBruteForceアタックを禁止するチェイン(synフラグをチェックする)
があるとします。

iptables -A INPUT -p tcp いろいろ -j チェイン1
iptables -A INPUT -p tcp いろいろ -j チェイン2
というような順番でチェックさせたいのですが、チェイン2はsynフラグをチェックしているため、
チェイン1よりチェイン2の方を先に記述しないといけませんが、
基本的には国外の方がBruteForceアタックをしかけてくるので、チェイン1を処理として上位に上げたいと考えています。
上記の問題を、チェイン1の内部でチェイン2を呼ぶ以外で、うまく解決する方法のヒントなりいただけないでしょうか?
879login:Penguin:2009/08/04(火) 23:11:01 ID:NK5rtxpW
iptablesって、ホスト名をワイルドカード指定することは出来ないのでしょうか?
.2ch.netだとhost/network `.2ch.net' not foundと言われてしまいます
www.2ch.netならOKなのですが・・
880login:Penguin:2009/08/05(水) 07:29:31 ID:LpOzCERh
>>879
iptablesはその名の通りIPアドレスをもとにしたルールなので無理。
その手のルールを作りたければアプリケーション側でやれ。
881login:Penguin:2009/08/06(木) 23:48:10 ID:YngZz57l
IPアドレスを元にしたルール、というのも一つの理由だけど、
ワイルドカードを認めるとフロー毎に逆引きが必要になるので、
遅くてまともに動かせない、という根本的な問題もある。

アプリケーション側で通信制御している例として
httpd の .htaccess なんかがあるけど、
トラフィックが多い大規模サイトの場合、
遅くなるからドメイン指定するなというのが共通の認識。
882login:Penguin:2009/08/06(木) 23:53:27 ID:rMxEfHr2
逆引きすると逆引きで発生した通信も iptables で処理する必要があるわけで
いろいろめんどうなことになる。
そもそも *.2ch.net の IP アドレスは逆引きしても *.2ch.net にならない。
883login:Penguin:2009/08/07(金) 13:53:45 ID:/SWptZHv
できるだけロジックベースで組むのが賢いよ。
リストでどうこうするのは、どうしてもしょうがないときの対応方法で。
884login:Penguin:2009/08/18(火) 23:09:30 ID:bKJeADOs
1行のルールでソースIPアドレスを複数指定って出来ないんですかね?
-s ipアドレス -s ipアドレス
って構文はエラーになりました
885login:Penguin:2009/08/18(火) 23:15:14 ID:TwsxYtCW
>>884
-m multiport --sports ip1,ip2,…
詳しくはiptablesのmanに載ってる
886login:Penguin:2009/08/18(火) 23:18:15 ID:bKJeADOs
それってポート番号だけじゃないんですかね?
887login:Penguin:2009/08/21(金) 22:47:03 ID:o86DtO2X
>>884
ない。独自チェインを作るとかすればアクションの記述を一度きりにすることはできるだろうけど。
888login:Penguin:2009/08/29(土) 19:46:01 ID:oooya0MX
>>884

セグメントにまとめてセグメント指定するとか。
889login:Penguin:2009/09/01(火) 18:08:59 ID:Ih0mSOLH
>>884

range指定ならパッチがある。
890login:Penguin:2009/09/08(火) 09:27:16 ID:lHCQThDB
INPUTとOUTPUTのポリシーをACCEPTにして
それぞれに「192.168.10.176/28」をrejectで登録した場合
IPが「192.168.10.180」、サブネットマスクが「255.255.255.0」の端末からの通信は
rejectされずに通ると考えてるのですが、間違ってないですよね?
891login:Penguin:2009/09/10(木) 14:19:59 ID:XP3RXlmC
外にサーバ置く場合、lookitで設定した以外に必要な処理ってなにあるの?
IPやホスト名でのアクセス制限は各アプリでも行うとして。
892login:Penguin:2009/09/10(木) 18:25:04 ID:fbGmNe96
893login:Penguin:2009/09/10(木) 19:35:12 ID:7Nx/8iVn
>891
お前の組織が持っている、セキュリティポリシーに沿って必要な処理を入れろよ。
894login:Penguin:2009/09/10(木) 20:45:24 ID:XP3RXlmC
TCP SYN Flood攻撃対策とか色々あると思うのだが知らんの?
895login:Penguin:2009/09/11(金) 02:09:19 ID:DP9dwLjw
iptablesのテンプレなんかいくらでも転がってるんだから、
おまえが「lookitで設定した以外に必要な処理」と思うものを入れればいいだけ。
896login:Penguin:2009/09/11(金) 09:01:34 ID:T4UnJmKW
使えねぇスレだな。だったらいらねーじゃんこんなとこ。
897login:Penguin:2009/09/11(金) 09:28:08 ID:dliPbJiy
使えねえスレだから全然伸びてないんだよ
>>1見て察しろよw
898login:Penguin:2009/09/11(金) 11:22:54 ID:DP9dwLjw
たとえばGoogleMapのような平行してTCPセッションを大量に張らせる
サービスを提供しているような場合、SYN Flooding対策は入れられない。

お前が何が必要で何が不要と判断できないなら外部コンサルにでも頼め。
899login:Penguin:2009/09/12(土) 00:43:37 ID:Kl6zQ4aS
>>898
なんかかんだ教えてくれてるよな。
お前いい奴だなw
900login:Penguin:2009/09/12(土) 13:10:54 ID:f2aNE58b
>>890
IPアドレスマッチでは、相手が設定しているサブネットマスクは結果に影響しない。
901login:Penguin:2009/09/13(日) 15:52:22 ID:OyZ0irJZ
VRRPで振られたIPを送信元にして内→外に通信がしたいのだけど、tcpdumpで見ると、正しく相手サーバからNATまではパケットが返ってきているのだけど、そのあと、ローカルマシンにパケットがこないのです。

以下の設定だけではなにかたりないでしょうか?

VIP 内: 10.0.0.12
VIP 外: a.b.c.9
# iptables -t nat -A POSTROUTING -s 10.0.0.0/21 -o eth1 -j SNAT --to a.b.c.9

VRRPはaliasで以下のように振られています。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1c:c0:e2:89:1f brd ff:ff:ff:ff:ff:ff
inet 10.0.0.10/21 brd 10.0.7.255 scope global eth0
inet 10.0.0.12/21 scope global secondary eth0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1b:21:3d:ea:3f brd ff:ff:ff:ff:ff:ff
inet a.b.c.7/28 brd 202.218.205.239 scope global eth1
inet a.b.c.9/28 scope global secondary eth1

ローカルマシンのデフォルトゲートウェイは、10.0.0.12に設定されています。
902login:Penguin:2009/09/22(火) 09:58:15 ID:XpoSjZZ8
192.168.0.1/255.255.0.0
って言うのは192.168.0.1からどこまでの範囲を示しているのでしょうか?
わかりやすく計算してくれるサイトとかご存知ないでしょうか?
903login:Penguin:2009/09/22(火) 15:23:08 ID:X6XprDCX
>>902
$ ipcalc -b -n 192.168.0.1 255.255.0.0
BROADCAST=192.168.255.255
NETWORK=192.168.0.0
904login:Penguin:2009/09/22(火) 15:50:24 ID:1JxEmFqh
>>903

この人はコマンドではなくてサイトが知りたいらしいよ。
905login:Penguin:2009/09/22(火) 16:29:01 ID:p3pvCXC/
>>902>>903見ても意味がわからない。
906login:Penguin:2009/09/22(火) 21:23:53 ID:KrDyJmFb
907login:Penguin:2009/09/23(水) 00:07:39 ID:iNBzDH6j
仕事ならサブネットの計算はできるようになっといたほうがいいな
908login:Penguin:2009/09/23(水) 21:03:13 ID:JCk+MhNl
255.255.0.0って別に難しくも無くそのまんまのような気がするが
909login:Penguin:2009/09/25(金) 16:45:19 ID:7/BCzuXv
910Cent:2009/09/25(金) 16:59:25 ID:7+qs416V
指使って計算すればw
指が生えてくるころにはわかるようになっているだろぅ。
911login:Penguin:2009/09/27(日) 18:35:10 ID:Ys5x4zp4
>>908
そのままだわな。

というか192.168.0.1/255.255.0.0 ってネットワークの記述じゃないよね……
何が分からないかも分からないってのはよくある話ではあるが。
912login:Penguin:2009/09/27(日) 21:51:05 ID:SkS8q88K
>>911
|というか192.168.0.1/255.255.0.0 ってネットワークの記述じゃないよね……

192.168.0.0/16 と 192.168.0.1/255.255.0.0 、ヤマハのルータだと、どっちも通るよ。
(RTX2000,RTX1500,RTX1100,RTX1000,RT300i,RT250iあたり)

何が分からないかも分からないって点は同意。
913login:Penguin:2009/09/28(月) 10:41:48 ID:pYDpszbZ
それはマスクすれば一緒だからね。> どっちも通る
ネットワークのアドレスを人に説明する場合とは違うよ。
914login:Penguin:2009/09/28(月) 16:55:57 ID:byv0y6+J
nftablesがやってくるぞ〜
915login:Penguin:2009/10/15(木) 22:51:40 ID:CkEaq810
まだまだ先の話かと
916login:Penguin:2009/10/16(金) 12:51:43 ID:saIanxFk
ipchainsからiptablesに移行するのが面倒くさかったなあ。
また面倒な移行をしなくちゃいけないのか。
917login:Penguin:2009/10/17(土) 03:59:13 ID:Jim0USHi
918login:Penguin:2009/10/20(火) 08:08:50 ID:u0Q6xCZo
>>916
たしかに。IPをただ並べてるだけの人ならいんだろうが...
919login:Penguin:2009/10/25(日) 12:53:13 ID:DbVIvmqd
iptablesを、パーソナルFW(?)として稼働させてます。
tcp:8080で稼働させているサービスを tcp:80 でも待ち受けたくて
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports:8080
としたんだけど、何故か「大きなパケット」だけポート変換してくれないのです。
誰かエロイ人、原因やより良い設定を教えて下さいませ。

補足情報
・パケットの流れをiptablesのログで追っかけたところ、
 (1) rawテーブルのPREROUTINGでログを採ると、宛先ポートは80となっている
 (2) filterテーブルのINPUTの先頭でログを採ると、
  小さいパケットだと宛先ポートが8080に変換されているのに対して
  大きなパケットだと宛先ポートが80のまま流れてきている
・正確なしきい値は調査できてないけど、
 「小さいパケット」として確認できたのは、LENが1500以下
 「大きなパケット」として確認できたのは、LENが1600以上

920login:Penguin:2009/10/25(日) 14:42:00 ID:34XcNlgd
レスアンカーってどうやって
使うの?
921login:Penguin:2009/10/25(日) 15:00:06 ID:OxZ5OWgV
>>920
JDとかV2Cとかの2ch専用ブラウザを使えば分かる。
ageてる人が目立つとか。
922login:Penguin:2009/10/26(月) 07:28:56 ID:fgCPQFWN
>>919
IP fragmentが起こってるんではないかな。
どういう環境なのか知らんが、途中経路でICMPを落としてるのなら
通すように設定してみれ。
923login:Penguin:2009/10/29(木) 22:58:11 ID:ot02vIQl
linuxigd 0.92を使ってUPnPをPCルータに実装したのですが
接続が切れて復活がたまにあります。

みなさんはどう対処しているのでしょうか?
924login:Penguin:2009/10/29(木) 23:04:54 ID:DXI6bBsK
対処も何もそんな事象は起きてない
925login:Penguin:2009/11/01(日) 07:38:17 ID:nehkp2HL
質問
LAN内の特定のPC
例えば
192.168.1.3は基本外へのアクセスは拒否
しかし特定の時間は
例えば
16:00〜19:00は許可する

こんなルール作れる?
926login:Penguin:2009/11/01(日) 08:25:28 ID:BR7AD8C3
>>925
crontabでルールを切り替えるとか。
927login:Penguin:2009/11/01(日) 13:02:32 ID:yi5HdUU0
>>925
仕事でやるなら、ちゃんと金払ってやってもらえよw
928login:Penguin:2009/11/01(日) 14:21:25 ID:YN+9cK6B BE:185372227-2BP(1234)
>>926
なるほど。その手もありですね。

>>927

いや、息子が最近ネットばかりやってるようだから、制限かけようかと。
929login:Penguin:2009/11/01(日) 15:37:08 ID:qI862WQ5
>>928
完全に切ると別の手段を探し始めるから、切断じゃなくてtcで通信速度を
落としたりMAC詐称とかで通信妨害して内容がたまに壊れるようにするのが
おすすめ。
930login:Penguin:2009/11/01(日) 17:47:09 ID:YN+9cK6B BE:105926742-2BP(1234)
>>929
tc使うとネットワーク全体が影響受けない?
931login:Penguin:2009/11/01(日) 23:39:45 ID:/FSlt3QY
>>929
なんて底意地の悪いw
932login:Penguin:2009/12/08(火) 11:18:21 ID:GLXLMMcg
スタティックなパケットフィルタリング
http://www.atmarkit.co.jp/flinux/rensai/iptables201/iptables201a.html
933login:Penguin:2010/02/06(土) 21:57:40 ID:GJM2qsxm
iptables -L で見る設定内容と
iptables-save > ./iptables.txt で保存した内容を比較すると
チェインが変わっていて、設定が違うのですが、そんな事ってありえますか?
934login:Penguin:2010/02/07(日) 04:27:49 ID:QG82CZZa
iptables -L -vとかしてみるとどう?
935login:Penguin:2010/02/07(日) 08:36:33 ID:nk/vgJgC
>>933さん、ありがとう
手元に環境が無いので月曜日に確認します。
936login:Penguin:2010/02/27(土) 22:20:06 ID:JTl7hMJR
>>4のShorewallをインスコしてみたけどいきなりZoneの概念が分からない(^q^)

> Shorewall views the network as a set of zones

とあるから、ネットワークを区切ってそれぞれにゾーン名を割り当てて
便利なゾーン名を使ってルールを記述できるのかと思ったら、マニュアルは
WANや各セグメントはNIC別になってるのが前提みたいな感じ

NICが別ならそもそもZoneなんて別名にすぎないし、単一IFで複数の
セグメントとやりとりするからこそZoneが必要になるんじゃなかろうか

そういう場合に、Zoneで切り分けようとすると意味的におかしなにネスト(loc:netのごとく)をしたり
hostsに「net eth0:!10.0.0.0/8、loc eth0:10.0.0.0/8」みたいな美しくない記述が出来てしまうように思う
そもそもなぜhostsというファイル名なのかピンとこない

Shorewallは各ホストではなく、ホスト間に介在するものだから複数NICで切り分けろ
というのはわからなくはないけど、そうだとしてもIFに関係なくネットワークごとにZoneという
ラベルを貼ってルールを振り分けることの重要性は変わらないんじゃなかろうか

だとするとZoneって何なの^^
これは技術的な制約なのか、俺の考え方がおかしいのか
937login:Penguin:2010/02/27(土) 23:55:14 ID:/PSdNqWp
つかったことないけど、zoneっていうからScreenOSみたいな感じかな?
938936:2010/02/28(日) 00:30:23 ID:RfHmv2Uk
落ち着いて考えたら連鎖ルールを書かなきゃセグメントを排他的に設定する必要はなかった
今はZoneをまんせーしている
939login:Penguin:2010/03/02(火) 22:47:57 ID:jrsdvNXJ
復活?
940login:Penguin:2010/03/10(水) 10:18:23 ID:fnEr8Khr
/etc/hosts.deny で sshd へのアタックを防ごうとしているのですが、
iptables では drop することができますが、hosts.deny でも drop
することはできるのでしょうか?

かつ、refused または droped のログを記録したいのですが。
941login:Penguin:2010/03/10(水) 10:23:09 ID:rvbZnmFs
>>940
くだらねえ質問はここに書き込め! Part 182
http://pc11.2ch.net/test/read.cgi/linux/1268087835/
942login:Penguin:2010/03/10(水) 15:15:11 ID:3KsXiLVa
>>940
hosts.deny でも refused の記録残るよ
943login:Penguin:2010/03/22(月) 21:44:59 ID:5C62ztgm
iptables -A INPUT -f -j LOG --log-prefix '[IPTABLES FRAGMENT] : '
iptables -A INPUT -f -j DROP

を設定したが、

winからping xxx.xxx.xxx.xxx -l 2000
しても通過するようです。

フラグメントしているのになんででしょう?
944login:Penguin:2010/03/22(月) 22:26:42 ID:KV+fPrnI
誰がパケットをフラグメントさせてるの?
945login:Penguin:2010/03/24(水) 01:16:25 ID:ith/27+z
winからのicmp送信時には、既にフラグメントされているものかと・・・。
946login:Penguin:2010/03/24(水) 02:39:35 ID:wr8xCSGu
windowsのpingのオプションを見るべきだね
947login:Penguin:2010/03/24(水) 11:28:49 ID:ith/27+z
2000byteを送信しているけど、etherの1パケットの最大サイズは1500byte
だからフラグメントされて送信されているとしか思えない。
-fをつけて実行すると、断片化が必要だけどDFが設定されて送信できないと
いわれるし。

ttp://www.atmarkit.co.jp/fwin2k/win2ktips/652pingmtu/pingmtu.html
948login:Penguin:2010/03/25(木) 11:10:30 ID:uPoZPcFs
--fragment -f match second or further fragments only
949login:Penguin:2010/04/11(日) 09:00:44 ID:1kNWp1DC
centos5.4 のデフォルトのiptables の設定ファイルって何処にあるのでしょうか
教えてくださいエロイ人
950login:Penguin:2010/04/11(日) 09:12:40 ID:ElhZ+/cX
んなことはCentOSスレで聞け
951login:Penguin:2010/04/11(日) 11:31:03 ID:6XeLMfss
>>949

/etc/sysconfig/iptables でよいのでは?

これも参考になるかもね…
http://tech.hitsug.net/?CentOS%2Fiptables
952login:Penguin:2010/04/11(日) 11:56:16 ID:aG9njYbL
>>951
ありがd
953login:Penguin:2010/04/17(土) 06:48:48 ID:EW7ln4Fl
複数の非連続なipを指定する事できますか?
-s 192.198.0.3,192.168.0.12
これは通りませんよね。
良い方法あったら教えてください。
954953:2010/04/17(土) 07:39:15 ID:EW7ln4Fl
上の方で同じ話題が出てましたね。
すみませんでした。
955login:Penguin:2010/04/22(木) 19:20:43 ID:UHMin1n7
初歩的な質問で申し訳ありません
特定のIPアドレスからのアクセスを防ぐには
iptables -A INPUT -s 221.xxx.xxx.188 -j DROP
という記述ではだめなのでしょうか?
956login:Penguin:2010/04/22(木) 19:25:34 ID:xleRLv9G
それ以前に適用されているルールによる
957login:Penguin:2010/04/22(木) 19:30:19 ID:UHMin1n7
こんな感じです
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
中略
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 587 -j REDIRECT --to-ports 25

iptables -A INPUT -s 221.242.207.188 -j DROP

iptables-save > /etc/sysconfig/iptables
958login:Penguin:2010/04/22(木) 19:31:55 ID:UHMin1n7
追記です。
拒否したいのは特定IPからのスパムメールです。
iptables -A INPUT -p tcp --dport smtp -j ACCEPT
の記述があるからそちらが先に適用されているのでしょうか?
959login:Penguin:2010/04/22(木) 19:32:47 ID:UHMin1n7
3連投申し訳ありません

中略のところに上の記述があります。
960login:Penguin:2010/04/22(木) 19:45:00 ID:xleRLv9G
何で肝心なところを省略するんだw
ルールは上から順に評価されてマッチしたところで終了。
(語弊があるが面倒だからそう言っておく)
君の想像通りのミスかと。
961login:Penguin:2010/04/22(木) 19:45:52 ID:UHMin1n7
>>960
ありがとうございました!
962login:Penguin:2010/04/23(金) 00:25:09 ID:AOTwgmlN
eth0 : 192.168.1.1
eth1 : dhcp(インターネット)

上記のような場合に、192.168.1.1:8080 にアクセスがあったら、例えばyahoo.co.jp:80 に
パケットを飛ばすというようなことはiptablesで可能でしょうか?

とりあえず、今はsshでlocalhostに繋いでポートフォワーディングするくらいしか思いつか
ないのですが、iptablesでも可能でしょうか?
963login:Penguin:2010/04/23(金) 11:38:23 ID:RkjYEa9w
それって、キャッシュとかプロキシーじゃないのか?
964login:Penguin:2010/04/23(金) 13:05:19 ID:U5MEjxTq
iptablesとsquidを使ってそんなのを紹介してたのはあったなー

特定のところへつなぐならstoneでもよさげでは?
965login:Penguin:2010/04/23(金) 13:25:16 ID:oV/8RUlx
単に Squid 立てるだけでいいような。
966login:Penguin:2010/04/23(金) 22:30:13 ID:SQUZIXzk
ねえジャイアン ドラえもんに頼んで
【鉄壁】iptablesの使い方 3【ファイアウォール】 の前スッドレ探してもらったよ

おい、iptablesの使い方を(ry その2
ttp://mimizun.com/log/2ch/linux/pc8.2ch.net/linux/kako/1079/10792/1079277604.html
967login:Penguin:2010/04/23(金) 23:21:43 ID:AOTwgmlN
>>963-965
ありがとうございます。squidは数年前に使ったきりなんですが、
今はポート飛ばす事も出来るんですね。

でも、squidは入れてないのでiptablesでは出来ないでしょうか?
968login:Penguin:2010/04/24(土) 00:18:37 ID:Nx4Gzk0L
>>967
変な使い方をしたければ自力でどうぞ。

# 自機を守るためのフィルタでルーティングを行おうとする変態は、たぶん貴方しかいません。
969login:Penguin:2010/04/24(土) 00:36:09 ID:C9H+JAC2
透過プロキシたてればどうとでも出来るよ。
970login:Penguin:2010/04/24(土) 10:20:15 ID:yFIW0uBv
今iptablesを勉強してて難しいなぁと思ってたんだけど、このスレの議論最初から読んで「皆凄いなぁ」と思った

Linuxサーバーのセキュリティとか、こまごまと色んな設定とか多すぎてマジきついですね
ファイアウォールだけでなく、コンテンツフィルタリング、SELinuxのboolean等など・・・
ただ起動させるだけなら誰でもできるけど、各種設定となると・・・髪の毛が大量に抜け落ちそうです・・・
971login:Penguin:2010/04/24(土) 11:58:57 ID:Nx4Gzk0L
>>970
マシンの動作を細かく指定して隅々まで自分の管理下に置きたい人にとっては、設定項目が多いのは喜ぶべき事なのです。
その観点からすると、linuxやsolarisは簡単です。逆にWindowsやMacOSXの方が面倒に思えます。

linuxやsolarisは、全てのポートが閉じた状態から、必要なポートだけ順次開けていけるけど、
WindowsやMacOSXで同じ事をやるのは非常に面倒。
(そもそも、必要なポートのみを開く事が困難:パネルを開いただけで勝手にポートが開くという論外なのまである)

# 得体の知れない『ウィルス対策ソフト』に"お任せ"すれば簡単だけど、iptablesを使う人種が易きに流れる訳も無し
972login:Penguin:2010/04/24(土) 11:59:04 ID:+e5mvkvE
>>967
出来ない。>>968 も言ってるように、iptable は filter であって router じゃないから。
973login:Penguin:2010/04/24(土) 12:11:20 ID:yFIW0uBv
>マシンの動作を細かく指定して隅々まで自分の管理下に置きたい人にとっては、設定項目が多いのは喜ぶべき事なのです

あぁ、確かに
Windowsでウィルス対策ソフトやファイアウォールソフトに頼りまくってた自分からするとめんどくさいですが、自分の好きなようには設定できますね
ただ、セキュリティ全体で考えると極めてめんどくさくないですか?

ファイアウォールだけでなく、不要なデーモン、cron停止とかポートごとの設定とかその他色々
膨大な知識が必要になったり、設定箇所も間違えないプレッシャーがあったりと自分には荷が重い気がしますw
974login:Penguin:2010/04/24(土) 12:47:30 ID:UFkyMgPh
>>973
linuxにだってセキュリティアプリはあるんだぜ。
鯖用だけどね。
975login:Penguin:2010/04/24(土) 12:57:18 ID:hoXR5wgU
>>973
全て丸呑みしようとしてるから難しいんじゃね?
>>971でも書いてるとおり必要なポートだけを順次開けるだけなんだから
ちっとも難しくないと思うけどな
ましてや、最近はmakeとかせずにyumでなんとでもなっちゃうのが多いやん
不要なデーモンってのも、Windowsマシンでいったいどれほどの不要なサービスが起動してるかわかってるのか?
動作がとろくなるブラックボックスのウィルスソフトやファイアーウォール使う方がよっぽど不安だらけだよ
976login:Penguin:2010/04/24(土) 16:04:23 ID:7fhmbqGv
>>968,972

そうですか。iptablesではポートのリダイレクトは出来ないんですね・・。
977login:Penguin:2010/04/24(土) 17:23:48 ID:R5Q7IIRJ
ちゃんと読んでないから誤解してるんだろうけど
単純な port forwarding ではないの?
それなら普通に iptables でできるけど
978login:Penguin:2010/04/24(土) 17:55:50 ID:7fhmbqGv
>>977
sshのようなポートフォワーディングが出来ればなと思っています。

観念してSquid調べてますけど、今でもhttp(s),ftpくらいしか出来ないように
見えるんですけどどうなんでしょうか・・。

>>962 で「例えば yahoo.co.jp:80」って書いちゃったのが誤解の元でしたね。
80に限らないんです。すみません。
979login:Penguin:2010/04/24(土) 18:09:27 ID:R5Q7IIRJ
「sshみたいな」というのがわかってないけど

iptables -A PREROUTING -t nat -i eth0 -p tcp -d 192.168.1.1 \
--dport 8080 -j DNAT --to 123.456.789.10:80

とかではダメなわけね?
980login:Penguin:2010/04/24(土) 19:53:50 ID:7fhmbqGv
ありがとうございます。
natにしてDNATしてさらにFORWARD,OUTPUTをそこだけ空けて出来ました!
助かりました。ありがとうございます。
981login:Penguin:2010/04/24(土) 20:43:45 ID:pxKRsPHW
port80を例にしたのが失敗だな・・・・
982 ◆vYKXdptvm/In :2010/04/25(日) 04:22:10 ID:DLpUlRpE
test
983 ◆Tgsy6z/jky1t :2010/04/25(日) 04:22:57 ID:DLpUlRpE
test
984 ◆dCnEqEic7Gly :2010/04/25(日) 04:23:41 ID:DLpUlRpE
test
985login:Penguin:2010/04/26(月) 02:00:39 ID:wVqrfhz+
loopytable
986login:Penguin:2010/04/27(火) 02:02:18 ID:vAJzpIdB
hoppytable
987login:Penguin:2010/04/27(火) 03:35:13 ID:IH5CKSKl
わざと誤読して屁理屈こねてるのがいて糞ワロタw
988login:Penguin:2010/04/28(水) 04:59:57 ID:u3+pIFCp
ほう
989login:Penguin:2010/04/29(木) 04:09:43 ID:ndI/B+gW
けい
990login:Penguin:2010/04/29(木) 20:17:01 ID:XtvwNUrp
ちん
991login:Penguin:2010/04/30(金) 12:54:41 ID:Ogm+cmjv
992login:Penguin:2010/05/01(土) 13:08:04 ID:zjiYT5fH
師弟繁多
993login:Penguin:2010/05/02(日) 14:06:10 ID:iCDR6Q3P
ファイアソール
994login:Penguin:2010/05/03(月) 14:27:04 ID:sk8Cxnv1
バード
995login:Penguin
ボンバー!