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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
497: 2008/01/05(土) 21:56:07 ID:TOhgYRiE(2/2)調 AA×

498: 2008/01/10(木) 15:11:06 ID:upM3OZCX(1)調 AAS
iptablesって最大何個チェインを作成できるの?
499: 2008/01/12(土) 02:24:05 ID:FBfOnT6z(1)調 AAS
iptablesじゃなくてshoewall使ってる人いる?
shoewall便利だよ
500: 2008/01/12(土) 14:42:33 ID:elZa4LnA(1)調 AAS
shorewallは知ってるけどshoewallは知らないな

>iptablesじゃなくてshoewall
日本語でおk
shorewallもiptablesだろうが
501: 2008/01/12(土) 18:12:16 ID:RLFhqBrs(1)調 AAS
shorewallはiptablesラップして設定吐き出すだけだしね。
まずはiptablesを理解した上で使うにはいいだろうけど。
502
(1): 2008/01/14(月) 01:50:31 ID:AUJ7vIQN(1/3)調 AAS
質問です。
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五回までというカウンタはユーザー
毎に保持される)
503
(1): 2008/01/14(月) 03:55:07 ID:+I2svrJp(1)調 AAS
>>502
>この1秒に5回許されるというのはAとBの合計ですか?
yes

ほしいのはたぶんhashlimitだと思う。↓この辺でも見て。
外部リンク[html]:dsas.blog.klab.org

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

krfilter
外部リンク:www.hakusan.tsg.ne.jp
を手順通りに行ったのですが、dmesg に出力されてません。

iptalbes -L をみると、しっかりフィルタリングはされております。
507: 2008/01/18(金) 17:12:12 ID:lOIomrR1(1/2)調 AAS
一般的解答
・弾いたログをsyslogなどに記録しないとみれません。

簡単に調べる方法
iptables -L INPUT -v -n --line-numbers -x
で破棄されたパケット数、バイト数をルールごとに確認できる。
508: 506 2008/01/18(金) 17:30:39 ID:yM/22QF2(1/2)調 AAS
ご回答ありがとうございます。
早速教えていただいたオプションを入れて閲覧してみましたが、やはり破棄されたものは 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 '
509: 2008/01/18(金) 19:11:40 ID:lOIomrR1(2/2)調 AAS
フィルタのリストにあがっていてもすでに通過するルールに従って通過して
いることはないでしょうか。この場合、限界までフィルタリストに追加して
もまったく意味を成しません。

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

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

丁寧に教えてくださりありがとうございました!
511
(1): 2008/01/19(土) 06:56:27 ID:V/B+zaIL(1)調 AAS
私が小学生の頃、
日本中でノストラダムスの予言が大流行していた。
「1999年の7月に人類は滅亡する!」
という例のお騒がせ終末予言である。

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

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

外部リンク[cgi]:www5.diary.ne.jp
512: 2008/01/19(土) 23:19:42 ID:poPr5669(1)調 AAS
>>511
こちらへどうぞ
2chスレ:linux
513
(2): 2008/01/20(日) 00:20:37 ID:Stwf61MT(1/3)調 AAS
ubuntu7.10を入れたPCにsshで繋いで、nmapをやったら↓の様に出ます。

$ nmap localhost
Starting Nmap 4.20 ( 外部リンク: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での繋ぎ元のブラウザから 外部リンク:192.168.1.13:3000 で繋がらないようで
ブラウザには「192.168.1.13:3000 のサーバへの接続を確立できませんでした。」とでます。
ポートは空けているつもりなのですが、どこが間違っているのでしょうか?
自分なりに調べているのですが、手詰まりのような状態で
どこに手をつければよいのか分かりません。
ご助言をお願いします。
514: 2008/01/20(日) 00:23:54 ID:GjWIMeOh(1/3)調 AAS
httpdはあがってんの?
ubuntu7.10マシンからはそのページ見えるの?
515: 513 2008/01/20(日) 00:29:00 ID:Stwf61MT(2/3)調 AAS
レスありがとうございます。

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

C:\Program Files\nmap-4.53>nmap 192.168.1.13
Starting Nmap 4.53 ( 外部リンク: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>
518: 2008/01/20(日) 01:00:03 ID:GjWIMeOh(3/3)調 AAS
うん、ダメね
続き頑張って〜
519: 2008/01/21(月) 01:09:20 ID:YfsBM33D(1)調 AAS
iptables の設定の数とネットワークパフォーマンスの落ちの関係をグラフにとってくれないか誰か
520: 2008/01/21(月) 06:07:39 ID:zS1pvPfR(1)調 AAS
卒論の季節か
521
(3): 2008/02/22(金) 00:41:35 ID:g90UI89f(1)調 AA×

522: 2008/02/22(金) 07:56:06 ID:ubCvY1Yz(1)調 AAS
>>521
鯖2の設定は?
IP=192.168.1.2
ケートウェイ=192.168.1.1
になってるか?
523: 2008/02/22(金) 09:27:43 ID:T46IPvJg(1)調 AAS
>>521
まさかと思うけど、2 は ping 返す設定になってるのね?
あと 2 の firewall は平気なのね?(つまり全て ACCEPT
でも問題は生じる)
524: 2008/02/22(金) 10:46:08 ID:Yb+hcSiH(1)調 AAS
ちょっと調べてたらこんなの見つけたのだが、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
525
(1): 2008/02/22(金) 13:39:49 ID:RBpx9Ma8(1/2)調 AAS
>>521です

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

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

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

自己解決しました。
537: 2008/03/18(火) 00:41:45 ID:xG7RTwPf(1)調 AAS
535=536
落書きウザ
538: 2008/03/28(金) 20:20:16 ID:RgSeR1VL(1)調 AAS
ガガガ・・・ニコニコ生放送が見れなくてorzしてたら・・・してたら・・・
iptablesのせいですた
539: 2008/04/07(月) 11:40:37 ID:MoCBASYC(1)調 AAS
iptablesを使いこなせないおまえのせい、の間違い。
540: 2008/04/07(月) 15:29:33 ID:kB83g4pV(1)調 AAS
そうっすねそうっすね
カメラに向かってごめんなさいしてきます
541
(2): 2008/04/21(月) 19:41:11 ID:I4EnTsVG(1/4)調 AAS
自作ルータを作ろうと、本やネット上の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
どうか、よろしくお願いします。
542
(1): 2008/04/21(月) 19:50:13 ID:maU7qj53(1/2)調 AAS
>>541?そもそもそれらのビットがどういう意味を持っているものなのか知ってから設定すれ。?それらはいずれもRFC3168で規定されたもので、CWR (輻輳ウインドウ減少) と?ECE (ECN-Echo) だ。
543: 2008/04/21(月) 20:40:22 ID:I4EnTsVG(2/4)調 AAS
>>542
まさか、こんなに早いレスがあるとは。
まだ、ほとんど読んでませんが、最後の60ページあたりが重要なのかな?
どうも、ありがとうございます。
544
(4): 2008/04/21(月) 20:58:20 ID:8JxepitL(1)調 AAS
質問です。
iptablesで--uid-ownerを見て--set-markして
iprouteのほうでユーザー毎にルーティングテーブル用意して切り替えてるんですけど
複数のユーザーが同時に別のルートを使うとすごく遅くなります。
解決方法ありますか?

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

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

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

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

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

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

設定内容とiptables -Lを貼ってもらえませんか?
設定内容は日本語で概要を箇条書きみたいなでもOKなんで、よろしくお願いします。
555: 2008/04/26(土) 21:37:09 ID:rRmzMjE4(1)調 AAS
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のまま)実験用マシン。
ヒント:ループバック
556: 2008/04/28(月) 01:55:46 ID:mRlZeDib(1)調 AAS
>>550
-L には -v も付けた方がいいよ。

そうすれば、
> INPUTのACCEPT all -- anywhere anywhereとだけ書かれた行が
> 全部ACCEPTしてそうで気になるんですが、大丈夫なんでしょうか?
こんな心配しなくて済む。
557: 2008/04/28(月) 19:12:31 ID:na2HqIN+(1)調 AAS
>>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のようになります
558: 2008/04/29(火) 03:34:54 ID:h6sUreK1(1)調 AAS
#!/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
559: 2008/04/29(火) 15:36:13 ID:lchI1NQ1(1)調 AAS
SYNFLOOD対策は?
560: 544 2008/05/05(月) 14:26:52 ID:XEf57B8a(1)調 AAS
>>548
レスサンクスです。
おっしゃる通りルートは2つです。
どこがネックになってるかはようわからんです。
iptablesでのset-markは常にしているので、2ルート使うときのみ遅くなるということは
iprouteでルート切り替えるときですかね?
561
(1): 2008/05/07(水) 15:10:54 ID:RbvyPsKi(1)調 AAS
iptables -P INPUT DROP
のログを出力したいのですが,どうすればいいですか?

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

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

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

やるなら >>173 のようなPFW的なルールかなあ
574
(2): 2008/07/01(火) 10:33:09 ID:5kCyiBxo(1)調 AA×

575
(1): 2008/07/01(火) 22:03:51 ID:BcVQ+4QT(1)調 AAS
>>574
"advanced routing"
576: 574 2008/07/02(水) 12:32:27 ID:MvQGQFPV(1)調 AAS
>>575
yum updateしたらNICがうごかなくなって試せてないですが、
なんとかできそうです。
ありがとうございます。
577
(1): 2008/07/13(日) 06:14:03 ID:hmSEn1ns(1/2)調 AAS
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 です。
578
(1): 2008/07/13(日) 16:32:09 ID:KrnMSNSr(1)調 AAS
>>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__));
579: 2008/07/13(日) 21:50:16 ID:hmSEn1ns(2/2)調 AAS
>>578
ありがとうございます。大変参考になりました。
580
(1): 下っ端10年 2008/07/15(火) 00:58:58 ID:ws2H6nIo(1/2)調 AAS
フラグメントの処理、自信のある方いますか?
iptables -A OUTPUT -f -d 192.168.1.1 -j DROP
こんな霊があったんですけど理解不足で
必要なのはFORWARD、INPUT、じゃないかと思いますが、
とりあえずこれ入れとけ。間違いない!とか
ここ見て出直して恋とか♪お願いします
581: 2008/07/15(火) 01:18:46 ID:L/KarHmr(1)調 AAS
>>580
マニュアルくらい読め。 それと、そのマシンのIP設定くらい書け。

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

要するに、外部に送信される妖しいパケットを叩き落とす設定。
582
(2): 下っ端15年 2008/07/15(火) 14:37:00 ID:ws2H6nIo(2/2)調 AAS
ありがとうございます。
心配事なんですがセッションが盗まれてその中に攻撃パケットを流して
ブラウザーの脆弱性が攻撃されたりすることってありますか
盗まれなくてもIPが判っていたら紛れ込ますとか
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
上記の設定を加える?以外に安心策とかあればお願いします。
iptables -P INPUT DROP
それともこれだけで十分なのですか
583: 2008/07/15(火) 16:26:44 ID:0LMTpKxH(1)調 AAS
>>582
あるかどうかという点でいえば「ある」。
ただそれを心配するのならインターネットに接続せず切り離しておけば良かろう。
584: 2008/07/15(火) 22:54:06 ID:Gfj6ql9u(1)調 AAS
>>582
セキュリティに「これだけで十分」はないよ。
-j ACCEPTなルールは(単独で見れば)許可の追加なんだから安心材料にはならない。
闇雲に心配するより先にマニュアル嫁。
585: 見習い18年 2008/07/16(水) 03:38:44 ID:jnmMI8rz(1/3)調 AAS
こんなの作ってみました。クライアント専用です。
メールの問い合わせは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(2/3)調 AAS
#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...意味が難しくてではよろしくです。
ダメダメなのは判っています。
587: 2008/07/16(水) 10:29:06 ID:AB1ESdB4(1)調 AAS
ダメダメです。
何がしたいのかさっぱりです。
グローバルIPを持ったインターネット直結のクライアントPCなのか、プライベートIPを持った
LAN内クライアントPCなのかすら不明。
前者ならプライベートアドレス絡みの設定は不要だし、後者ならLAN内の他のクライアントと
通信不能です。
それから、確立済みセッションのアクセスを許可する設定をいれるなら、その他の個別の外向き
の穴あけは一切不要です。
588
(1): 一から出直し 2008/07/16(水) 18:38:36 ID:jnmMI8rz(3/3)調 AAS
 はい。おっしゃるとおりです。
想定としては、ルーターにぶら下げるクライアント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?だけ防いでるみたいなんですけど通常はそれで大丈夫なんでしょうか?
589: 2008/07/16(水) 20:00:05 ID:eQpwIRIV(1)調 AAS
>>588
何をしたいのかはっきりすれ。
590: 2008/07/16(水) 20:05:36 ID:kFZg22Oc(1)調 AAS
OUTPUTは基本ACCEPTだと何か困ります?まぁ、人それぞれですが。
ルールですが、俺はなるべくシンプルに書くようにしてます。

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

とりあえずこいつらがゴミパケだな。
135
137-139
445
1900
5353
591: 2008/07/16(水) 20:30:48 ID:UBWifgR3(1)調 AAS
クライアントならこれで充分
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

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

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

 次点がスタンドアロンマシンに記録する方法。 ノート機に入力し、鍵のかかる机にでも入れるといい。
597: 一から出直し 2008/07/17(木) 01:34:32 ID:nfCUoiJG(2/5)調 AAS
595さん
596さん
お約束にお約束を重ねていただいてありがとうございました
僕は知っているこれを乗り越えて初めて答えがもらえることを。
594さんへ
port80へ向かうパケットを許すみたいな記述が出来ると思っています。
何しろ取り組みだしてまだ3日ぐらいなので自信はありませんが
じっくり取り組めるのは今週限り、何とかそれまでにその辺の答えに
たどり着きたいと思っています
598: 2008/07/17(木) 05:37:30 ID:WKroJssy(1)調 AAS
面倒だからiptables使ってない。
何でも来い。
599: 2008/07/17(木) 06:14:15 ID:RsBioRyn(1/2)調 AAS
zombieになってなきゃいいが
600: 2008/07/17(木) 07:55:29 ID:w9Uw0jKl(1)調 AAS
>>594
それはaccept(listen)する側ではなくてconnectする側だと思うが。
一般的でないアプリケーションとしてaccept(listen)する場合は、
あらかじめ取り決めをしておくだけ。
601
(3): 一から出直し 2008/07/17(木) 09:15:29 ID:nfCUoiJG(3/5)調 AAS
598
どこまで男前なんだ
600
わかる人にはわかるんでしょうけど僕にはわかりません
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -A OUTPUT -i eth0 -o tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
結局これではだめなのでしょうか?
602
(1): 2008/07/17(木) 10:10:43 ID:EloNkrJv(1)調 AAS
Ubuntu ならそれでもいいけど、Debian ではきびしい
603: 2008/07/17(木) 10:56:20 ID:rdjy5BJ1(2/2)調 AAS
>>601
どうしてもOUTPUTを潰したいならそうしても構わないけれど、いくら窓や裏口を
戸締りしたところで、良く見える正面玄関(TCP80番ポート)を開けっ放しにしてたら
台無しだよ。
で、80番での出口も閉じるのが現実的なコンピュータならそれでもいいだろうけれど、
そういう特殊用途なのかい?
604: 2008/07/17(木) 13:09:29 ID:RsBioRyn(2/2)調 AAS
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とか追加で。
605: 2008/07/17(木) 13:14:40 ID:3QYpKb1i(1)調 AAS
>>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
606: 2008/07/17(木) 19:52:59 ID:V9y8Yy3u(1)調 AAS
>>602
ubuntuもdebianも一緒でしょ
デフォはiatables空だし
607: 2008/07/17(木) 20:01:22 ID:btY7UUii(1)調 AAS
クライアント用途なら >>173 のようなパーソナルファイアウォール的な
--cmd-owner でやるのが適しているんじゃないの?
608: 2008/07/17(木) 22:02:01 ID:nfCUoiJG(4/5)調 AAS
602
すいません。厳しいの意味がわかりません。
603
現在このマシンでサーバーを立てる予定はありません。
そうゆう意味でいいですか?
つまり想定しているのはクライアント専用です。
そこからLinuxの世界に入れてもらおうと思っています。
609: 2008/07/17(木) 22:45:05 ID:aqSb7+WT(1)調 AAS
>>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(5/5)調 AAS
607
そうなんですよ。そこもチェックしてたんですけど
効果的な使い道が浮かばなくて、、とほほです。
609
ありがとうございます。
勉強の雛形にさせてもらいます
611
(2): 2008/07/23(水) 01:53:42 ID:1UUyJ2NP(1)調 AAS
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
きっと突っ込みどころ満載だろうけど、これを参考に自分は
がんばってみる。
612
(1): 2008/07/24(木) 01:01:09 ID:ht7CyEPW(1)調 AAS
>>611
せっかくだからiptables -L -vしたら
613: 2008/07/24(木) 01:06:59 ID:FHo+/IiI(1)調 AAS
ウチの環境(日本のみ許可、携帯のみ許可、etc...)で
そんなことしたら表示が恐ろしいことに・・・
-n を付けようぜ!
614: 611 2008/07/25(金) 02:20:35 ID:LOINhS18(1)調 AAS
>>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
615: 2008/07/31(木) 17:36:39 ID:XyjnsPYp(1)調 AAS
Debianでどのように設定していますか
if-pre-upのどこにリンク張っていますか
pre-upに置いたらまずいですか
616: 2008/07/31(木) 21:30:17 ID:zdX0l+Wk(1)調 AAS
/etc/network/if-pre-up.d/にスクリプト
なんの話だ
別に
617: 2008/08/05(火) 21:25:25 ID:Z3eVziP2(1)調 AAS
forwardチェインでログとってもMACアドレス記録されるようにしてほすぃ
618: 2008/08/11(月) 23:54:22 ID:TGzzuzuv(1)調 AAS
OSはCentOS5です
ルータでは特定のIPからのポートスキャンをはじけないので、
IPテーブルの設定ではじきたいのですが、具体的なコマンドを教えてください

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

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

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

というか、このスレ立ってから、そんなに経つのか
よく落ちないな。
623: 2008/08/15(金) 07:53:05 ID:3444HIb9(1)調 AAS
UNIX板のipfilterのスレなんて5年半で200レスくらい……
1-
あと 372 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.060s