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


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

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



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

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


534 名前:login:Penguin mailto:sage [2008/03/14(金) 22:49:59 ID:8R7ipwG4]
もうちょっと書くと、
iptables -L -n|grep -e "^Chain" |cut -d " " -f 2
かな?

535 名前:login: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です。
どうぞよろしくお願いします。


536 名前:login:Penguin [2008/03/16(日) 01:42:43 ID:XWkiOM0n]
>>535

自己解決しました。



537 名前:login:Penguin mailto:sage [2008/03/18(火) 00:41:45 ID:xG7RTwPf]
535=536
落書きウザ

538 名前:login:Penguin mailto:sage [2008/03/28(金) 20:20:16 ID:RgSeR1VL]
ガガガ・・・ニコニコ生放送が見れなくてorzしてたら・・・してたら・・・
iptablesのせいですた

539 名前:login:Penguin mailto:sage [2008/04/07(月) 11:40:37 ID:MoCBASYC]
iptablesを使いこなせないおまえのせい、の間違い。

540 名前:login:Penguin mailto:sage [2008/04/07(月) 15:29:33 ID:kB83g4pV]
そうっすねそうっすね
カメラに向かってごめんなさいしてきます

541 名前:login: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
どうか、よろしくお願いします。

542 名前:login:Penguin mailto:sage [2008/04/21(月) 19:50:13 ID:maU7qj53]
>>541?そもそもそれらのビットがどういう意味を持っているものなのか知ってから設定すれ。?それらはいずれもRFC3168で規定されたもので、CWR (輻輳ウインドウ減少) と?ECE (ECN-Echo) だ。



543 名前:login:Penguin mailto:sage [2008/04/21(月) 20:40:22 ID:I4EnTsVG]
>>542
まさか、こんなに早いレスがあるとは。
まだ、ほとんど読んでませんが、最後の60ページあたりが重要なのかな?
どうも、ありがとうございます。

544 名前:login:Penguin mailto:sage [2008/04/21(月) 20:58:20 ID:8JxepitL]
質問です。
iptablesで--uid-ownerを見て--set-markして
iprouteのほうでユーザー毎にルーティングテーブル用意して切り替えてるんですけど
複数のユーザーが同時に別のルートを使うとすごく遅くなります。
解決方法ありますか?

もしくは、この方法以外にユーザー毎にルートを別にする(or NICを別にする)方法ってありますか?
dest addressやdest portで切り分けることはできません。
Cent OS使ってます。

545 名前:541 mailto:sage [2008/04/21(月) 22:21:41 ID:I4EnTsVG]
ECN(CWRとECE)はこれまでReservedだったフィールドを使っている。
ECNに対応したホストは10か01をセットして送信する。
それを弾いていると。

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

大雑把だけど、こんな感じでしょうか。
自作ルータへの道のりは何だか遠そう。

546 名前:login:Penguin mailto:sage [2008/04/21(月) 23:19:02 ID:maU7qj53]
>>545
dropするのはどうかと思うのであれば、mangleターゲットを利用して
ecnのビットのみリセットしてあげるといい。

あとはそこを通らなければならないクライアントまわりだが、
俺が知る限り今時のOSでデフォルトでECNが有効になっているものは
なかったように思う(少し前のLinuxカーネルは有効だったような気がしたが)。

547 名前:login:Penguin mailto:sage [2008/04/21(月) 23:50:09 ID:I4EnTsVG]
>>546
レスありがとうございます。
当面はDROPで問題なさそうですね。
通す必要が出てきたら、レスを参考に対応してみます。

548 名前:login:Penguin mailto:sage [2008/04/26(土) 14:04:11 ID:3GK4bazF]
>>544
解決方法じゃないけど

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

そもそもどこがネックになってるんだろうね

549 名前:login:Penguin mailto:sage [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

550 名前:549 mailto:sage [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

551 名前:login:Penguin mailto:sage [2008/04/26(土) 19:02:52 ID:Zwo/OBI9]
INPUT の policy を2回記述するのは何故?

552 名前:549 mailto:sage [2008/04/26(土) 20:11:54 ID:rL6Isbwd]
どこかのHPに書いてあったのを自分用にゴニョゴニョしてみてるんだけど、
一回目のは、設定するとき用で、ここでDROPしちゃうと、設定中に
ループバックがDROPされちゃってXとか動かなくなるから、、、だったかな(?)
二回目のは、本番用で、先に許可したやつ以外を全部DROPするため。
(>>549のだと、192.168.1.3:80以外をDROPする)



553 名前:login:Penguin mailto:sage [2008/04/26(土) 20:19:56 ID:dggOwSe0]
そういう小細工をしないで済むよう、コンソールからログインするべき。
リモートから弄ると、面倒が増す。

554 名前:549 mailto:sage [2008/04/26(土) 20:39:01 ID:rL6Isbwd]
>>551,553
ポリシーの記述を一回だけにしました。
>>549の一回目のポリシーを決めるところでDROPにして、二回目はコメントアウトしました。
iptables -Lすると ACCEPT all -- anywhere anywhere があります。

設定内容とiptables -Lを貼ってもらえませんか?
設定内容は日本語で概要を箇条書きみたいなでもOKなんで、よろしくお願いします。

555 名前:login:Penguin mailto:sage [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のまま)実験用マシン。
ヒント:ループバック

556 名前:login:Penguin mailto:sage [2008/04/28(月) 01:55:46 ID:mRlZeDib]
>>550
-L には -v も付けた方がいいよ。

そうすれば、
> INPUTのACCEPT all -- anywhere anywhereとだけ書かれた行が
> 全部ACCEPTしてそうで気になるんですが、大丈夫なんでしょうか?
こんな心配しなくて済む。


557 名前:login:Penguin mailto:sage [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のようになります

558 名前:login:Penguin mailto:sage [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

559 名前:login:Penguin mailto:sage [2008/04/29(火) 15:36:13 ID:lchI1NQ1]
SYNFLOOD対策は?

560 名前:544 mailto:sage [2008/05/05(月) 14:26:52 ID:XEf57B8a]
>>548
レスサンクスです。
おっしゃる通りルートは2つです。
どこがネックになってるかはようわからんです。
iptablesでのset-markは常にしているので、2ルート使うときのみ遅くなるということは
iprouteでルート切り替えるときですかね?

561 名前:login:Penguin [2008/05/07(水) 15:10:54 ID:RbvyPsKi]
iptables -P INPUT DROP
のログを出力したいのですが,どうすればいいですか?

お願いいたします。

562 名前:login:Penguin mailto:sage [2008/05/07(水) 16:17:07 ID:cA4OeNQ4]
>>561
INPUT Chainの最後でULOGを使う



563 名前:login:Penguin mailto:sage [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じゃない場合はログとる」
でいいんですか? "!"の反転で一つしかない場合の挙動がよく分からないのです

564 名前:login:Penguin mailto:sage [2008/05/16(金) 04:48:44 ID:YqgGCCxy]
iptablesってarpフレームは制御できないのか

565 名前:login:Penguin mailto:sage [2008/05/16(金) 22:08:12 ID:7B77qxJ7]
>>564
そりゃ "ip" tables だし。
ARPはIPと密接な関わりがあるプロトコルだがIPとは別のプロトコル。

566 名前:login:Penguin mailto:sage [2008/05/24(土) 23:13:01 ID:pr+441iJ]
nat変換する前と後のパケットを対応付けることってiptableでできるもんですかね?

567 名前:login:Penguin mailto:sage [2008/05/25(日) 01:41:55 ID:XvecGNu/]
できる。ip_conntrackでぐぐるがよい。

568 名前:login:Penguin mailto:sage [2008/06/16(月) 21:56:07 ID:Sp389m79]
>>565
ほぅ。
んじゃTCP/UDP/ICMPも扱えないのか?

>>564
L2からL4までがiptabelsの守備範囲だが、
今んとこL2で扱えるのはソースアドレスのみ。
そのうちもっとよくなるよって誰かが書いてたな。

569 名前:login:Penguin mailto:sage [2008/06/17(火) 00:45:22 ID:chC02xgx]
>>568
TCP,UDPは使えるだろ。

ICMPは一部変なのが混ざっていた様な気がする。
(RFCおさらいしてみるわ)

570 名前:login:Penguin mailto:sage [2008/06/19(木) 23:08:34 ID:++GPZYJb]
ICMPも結局IPヘッダの中ではTCP/UDPと同じレベルで扱われてるからなぁ

571 名前:login:Penguin [2008/06/25(水) 15:32:08 ID:xzwraCds]
デスクトップ向けのiptalbes設定例ってないかな?

572 名前:login:Penguin mailto:sage [2008/06/28(土) 00:48:27 ID:+GJNGlhf]
>>571
LAN内だとそもそも不要じゃないか?
WANに直結してるならサーバ向けの設定と同じだし。



573 名前:login:Penguin mailto:sage [2008/06/28(土) 02:26:36 ID:6HILxgYo]
>>572
やっぱりそう?
何かあった時の為にルーターのパケットフィルタと
クライアントのiptablesで二重にしようかと思ったのだけど

やるなら >>173 のようなPFW的なルールかなあ

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

  WAN1    WAN2
┌─┴─┐   ┌┴┐
│ROUTER├(LAN)┤鯖│
└───┘   └─┘


575 名前:login:Penguin mailto:sage [2008/07/01(火) 22:03:51 ID:BcVQ+4QT]
>>574
"advanced routing"

576 名前:574 mailto:sage [2008/07/02(水) 12:32:27 ID:MvQGQFPV]
>>575
yum updateしたらNICがうごかなくなって試せてないですが、
なんとかできそうです。
ありがとうございます。

577 名前:login: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 です。



578 名前:login: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__));


579 名前:login: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、じゃないかと思いますが、
とりあえずこれ入れとけ。間違いない!とか
ここ見て出直して恋とか♪お願いします

581 名前:login:Penguin mailto:sage [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
それともこれだけで十分なのですか




583 名前:login:Penguin mailto:sage [2008/07/15(火) 16:26:44 ID:0LMTpKxH]
>>582
あるかどうかという点でいえば「ある」。
ただそれを心配するのならインターネットに接続せず切り離しておけば良かろう。

584 名前:login:Penguin mailto:sage [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...意味が難しくてではよろしくです。
ダメダメなのは判っています。

587 名前:login:Penguin mailto:sage [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?だけ防いでるみたいなんですけど通常はそれで大丈夫なんでしょうか?


589 名前:login:Penguin mailto:sage [2008/07/16(水) 20:00:05 ID:eQpwIRIV]
>>588
何をしたいのかはっきりすれ。

590 名前:login:Penguin mailto:sage [2008/07/16(水) 20:05:36 ID:kFZg22Oc]
OUTPUTは基本ACCEPTだと何か困ります?まぁ、人それぞれですが。
ルールですが、俺はなるべくシンプルに書くようにしてます。

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

とりあえずこいつらがゴミパケだな。
135
137-139
445
1900
5353


591 名前:login:Penguin mailto:sage [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

サーバーなら使うポートを開けていけばいい

592 名前:login:Penguin mailto:sage [2008/07/16(水) 21:52:12 ID:5/9UA2S9]
うほっ、いい流れ
俺もクライアント用のルールを勉強させてくれ



593 名前:一から出直し [2008/07/17(木) 00:11:34 ID:nfCUoiJG]
590さんありがとございます
591さんありがとございます
592さん一緒ににがんばりましょう
どうしてOUTPUT DORPじゃなければダメなのかと言いますと
もれてはイケナイ情報を入れておきたいからなんです
NoScriptを動かしていても何かの拍子で悪い事をする物が
入ってしまうことがあると思うのです
鍵を閉めずに泥棒に入られても諦めがつかない
閉めておけば自分で自分を慰めれる、、、
そんなところでしょうか。


594 名前:login:Penguin mailto:sage [2008/07/17(木) 00:16:19 ID:f01xAF4u]
ふつーのtcp/ipアプリは1024以上の任意のポート(OSやIPスタックにも依存するが)を使って通信を始める
どのポートをACCEPTするかいつ誰が決めるの?

595 名前:login:Penguin mailto:sage [2008/07/17(木) 00:16:24 ID:rdjy5BJ1]
>>593
じゃあ、真っ先にHTTPを閉じるべき。

596 名前:login:Penguin mailto:sage [2008/07/17(木) 01:06:04 ID:pkHmyVt0]
>>593
|もれてはイケナイ情報を入れておきたい
ネットワークに接続されたマシンに、安全は無い。
そのマシンからLANカードを抜け。 物理的に遮断するのが最も安全。

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

 次点がスタンドアロンマシンに記録する方法。 ノート機に入力し、鍵のかかる机にでも入れるといい。

597 名前:一から出直し [2008/07/17(木) 01:34:32 ID:nfCUoiJG]
595さん
596さん
お約束にお約束を重ねていただいてありがとうございました
僕は知っているこれを乗り越えて初めて答えがもらえることを。
594さんへ
port80へ向かうパケットを許すみたいな記述が出来ると思っています。
何しろ取り組みだしてまだ3日ぐらいなので自信はありませんが
じっくり取り組めるのは今週限り、何とかそれまでにその辺の答えに
たどり着きたいと思っています

598 名前:login:Penguin mailto:sage [2008/07/17(木) 05:37:30 ID:WKroJssy]
面倒だからiptables使ってない。
何でも来い。

599 名前:login:Penguin mailto:sage [2008/07/17(木) 06:14:15 ID:RsBioRyn]
zombieになってなきゃいいが

600 名前:login:Penguin mailto:sage [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
結局これではだめなのでしょうか?


602 名前:login:Penguin mailto:sage [2008/07/17(木) 10:10:43 ID:EloNkrJv]
Ubuntu ならそれでもいいけど、Debian ではきびしい



603 名前:login:Penguin mailto:sage [2008/07/17(木) 10:56:20 ID:rdjy5BJ1]
>>601
どうしてもOUTPUTを潰したいならそうしても構わないけれど、いくら窓や裏口を
戸締りしたところで、良く見える正面玄関(TCP80番ポート)を開けっ放しにしてたら
台無しだよ。
で、80番での出口も閉じるのが現実的なコンピュータならそれでもいいだろうけれど、
そういう特殊用途なのかい?

604 名前:login:Penguin mailto:sage [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とか追加で。

605 名前:login:Penguin mailto:sage [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


606 名前:login:Penguin mailto:sage [2008/07/17(木) 19:52:59 ID:V9y8Yy3u]
>>602
ubuntuもdebianも一緒でしょ
デフォはiatables空だし

607 名前:login:Penguin mailto:sage [2008/07/17(木) 20:01:22 ID:btY7UUii]
クライアント用途なら >>173 のようなパーソナルファイアウォール的な
--cmd-owner でやるのが適しているんじゃないの?

608 名前:login:Penguin [2008/07/17(木) 22:02:01 ID:nfCUoiJG]
602
すいません。厳しいの意味がわかりません。
603
現在このマシンでサーバーを立てる予定はありません。
そうゆう意味でいいですか?
つまり想定しているのはクライアント専用です。
そこからLinuxの世界に入れてもらおうと思っています。

609 名前:login:Penguin mailto:sage [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
ありがとうございます。
勉強の雛形にさせてもらいます


611 名前:login:Penguin mailto:sage [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
きっと突っ込みどころ満載だろうけど、これを参考に自分は
がんばってみる。


612 名前:login:Penguin mailto:sage [2008/07/24(木) 01:01:09 ID:ht7CyEPW]
>>611
せっかくだからiptables -L -vしたら



613 名前:login:Penguin mailto:sage [2008/07/24(木) 01:06:59 ID:FHo+/IiI]
ウチの環境(日本のみ許可、携帯のみ許可、etc...)で
そんなことしたら表示が恐ろしいことに・・・
-n を付けようぜ!

614 名前:611 mailto:sage [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

615 名前:login:Penguin [2008/07/31(木) 17:36:39 ID:XyjnsPYp]
Debianでどのように設定していますか
if-pre-upのどこにリンク張っていますか
pre-upに置いたらまずいですか


616 名前:login:Penguin mailto:sage [2008/07/31(木) 21:30:17 ID:zdX0l+Wk]
/etc/network/if-pre-up.d/にスクリプト
なんの話だ
別に

617 名前:login:Penguin mailto:sage [2008/08/05(火) 21:25:25 ID:Z3eVziP2]
forwardチェインでログとってもMACアドレス記録されるようにしてほすぃ

618 名前:login:Penguin [2008/08/11(月) 23:54:22 ID:TGzzuzuv]
OSはCentOS5です
ルータでは特定のIPからのポートスキャンをはじけないので、
IPテーブルの設定ではじきたいのですが、具体的なコマンドを教えてください

ちなみに、まちBBSからのポートスキャンをはじかないと書き込みができないので、
まちBBSからのポートスキャンのみはじきたいです

619 名前:login:Penguin mailto:sage [2008/08/12(火) 00:50:06 ID:Bc57GTps]
サーバ管理してるなら、それくらいは自力で頑張ってみよう

620 名前:login:Penguin mailto:sage [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がチェインの最後で実行されればいいんですよね

621 名前:login:Penguin mailto:sage [2008/08/15(金) 03:07:08 ID:AyoNWC/X]
↑2年半前にレスってどうよ?w

622 名前:login:Penguin mailto:sage [2008/08/15(金) 07:47:13 ID:g1wlhWWM]
専ブラ使っているんでね、このスレ見つけて
最初から読んで、resってみたんだが、ダメかね。

というか、このスレ立ってから、そんなに経つのか
よく落ちないな。



623 名前:login:Penguin mailto:sage [2008/08/15(金) 07:53:05 ID:3444HIb9]
UNIX板のipfilterのスレなんて5年半で200レスくらい……

624 名前:login:Penguin [2008/08/31(日) 23:21:06 ID:n+n8JTmC]
国内プロキシ経由の海外からのアクセスは防ぎようはないのかな

625 名前:login:Penguin mailto:sage [2008/09/01(月) 00:27:34 ID:fjO0v2rO]
国内プロキシを弾くしかないね。
逆に、ホワイトリストを作成し、登録したIP以外を全部弾いた方が楽だと思う。

626 名前:login:Penguin [2008/09/02(火) 03:53:13 ID:U/dhSPhZ]
うん。それもアリなんだね
だけどサーバー目的じゃないんだ
攻撃者特定の為に国内限定にしようと思ったんだけど
踏み台からの攻撃もあるから努力のしようがないことに気がついた


627 名前:login:Penguin mailto:sage [2008/09/02(火) 04:05:58 ID:CyZGqQKe]
webサーバの保護の話でないなら別に放っておけばいんでないの

628 名前:login:Penguin mailto:sage [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

629 名前:628 mailto:sage [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

630 名前:login:Penguin mailto:sage [2008/09/13(土) 13:43:36 ID:12jhi4RP]
なんか一見合ってそうに見えるけどな……
カーネルはデフォルトのもの?エラーとか出ないで
スクリプト実行できてるよね。

631 名前:login:Penguin mailto:sage [2008/09/13(土) 15:13:23 ID:XkB/m5n5]
>>629
まずはチェインがどの順序で解釈されるものなのか知っておいたほうがいい。
POSTROUTINGはFORWARDやOUTPUTよりも後で実行されるので、
そこでMASQUERADEするのであればクライアントIPなどの判断はその後で
やらなきゃダメ。

632 名前:628 mailto:sage [2008/09/13(土) 15:27:44 ID:W75dUOM6]
レス、ありがとうございます。

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

>>631
なるほど、解釈される順番には気がつきませんでした。
早速試してみます!



633 名前:login:Penguin mailto:sage [2008/09/13(土) 15:33:01 ID:oHtnNr1m]
クライアントから外部に向かうパケットがinput段階で叩き落とされないか?

634 名前:login:Penguin mailto:sage [2008/09/13(土) 18:26:06 ID:12jhi4RP]
ホントだ。-d が余計だな。






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

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

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