[表示 : 全て 最新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


672 名前:login:Penguin mailto:sage [2008/11/07(金) 21:48:58 ID:lFnUHJKa]
>>668
というか「ルータ」に192.168.1.0/24のスタティックルートを設定できないのか?

673 名前:login:Penguin mailto:sage [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)経由で繋がるのか?

674 名前:login:Penguin mailto:sage [2008/11/08(土) 01:41:09 ID:MJgV0EtY]
restartしてないだけというエスパー予想。

675 名前:667 mailto:sage [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


676 名前:667 mailto:sage [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

てところか


677 名前:667 mailto:sage [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


678 名前:667 mailto:sage [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
なんか、このほうがスッキリするけど…。

679 名前:667 mailto:sage [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


680 名前:667 mailto:sage [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




681 名前:login:Penguin mailto:sage [2008/11/08(土) 23:10:35 ID:iMsDtzmC]
>>680
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
これは余計じゃないかな。

>>668
それとip_conntrack モジュールはロードしている

682 名前:667 mailto:sage [2008/11/09(日) 07:45:30 ID:cyMfQhQp]
>>681
余計かなぁ…?
ルーターとPC1が別のアドレス空間になっているから
PC0用のアドレスに書き換えてやらないとパケット戻ってこない気がするけど

683 名前:login:Penguin mailto:sage [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行以外にあると思うのだが?

684 名前:667 mailto:sage [2008/11/09(日) 14:02:18 ID:MyRkucom]
なーるー

原因不明だな

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

それでもダメなら pc0 に pc1 から ping して応答が帰ってくるかどうか
ぐらいのレベルから検証してみたほうがよさそうだね。


685 名前:login:Penguin mailto:sage [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が繋がるようにするには
どうすればいいのでしょうか?

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

こんな感じじゃない

687 名前:login:Penguin [2008/11/13(木) 19:57:50 ID:zJ0w7PDt]
telnetにListenIP設定すれば?
絞るなら大本から絞れ

688 名前:login:Penguin mailto:sage [2008/11/14(金) 17:28:14 ID:FovMWI9O]
>>687
こういうのって(iptablesとデーモンの)両方やらないか?

689 名前:login:Penguin mailto:sage [2008/11/14(金) 20:11:16 ID:4rtpLX5i]
ポートを開けないようにアプリ(telnet)側でやり、
さらにうっかり開かないようにiptablesで縛るね。

片方だけだと「うっかり」が結構出るけど、両方とも独立に
設定するならオペミスで開いてしまう事故は非常に起こりにくくなる。

690 名前:login:Penguin [2008/11/15(土) 01:42:42 ID:Zo/JTpVo]
ssh+鍵暗号 でいいやん
telnet 殺しちゃいなよ



691 名前:login:Penguin mailto:sage [2008/11/15(土) 02:14:20 ID:26XJ0s7F]
ここでの telnet はあくまで例なんじゃないの?

692 名前:login:Penguin mailto:sage [2008/11/15(土) 08:53:49 ID:OWM1nEoc]
それやるとミスもあるんだよな。wrapperではじいてるから
後でFW設定しようとか思ってたら一台だけ設定してなかった、とか。

693 名前:login:Penguin mailto:sage [2008/11/15(土) 09:18:53 ID:4Owtonid]
後でやろうと思ったとか、ちゃんと手順にそってやったことを確認しながらやらないのは問題外
ヒューマンエラーを防止するために手順メモとチェックリストは個人的にでも作ったほうがいい。

まあ、より強固で確かな方から設定していった方が漏れがあった時被害が少ないかもな…。

694 名前:login:Penguin mailto:sage [2008/11/15(土) 13:00:17 ID:OWM1nEoc]
実際はもうちょっと複雑な過程ではまるんだが、ちと面倒だったんで……
あとはAの方ではじいてると思ってそっちのルール更新してたらBだった、とか。

695 名前:login:Penguin mailto:sage [2008/11/18(火) 00:18:36 ID:ruHhaDcu]
ubuntuのufwで出力されるiptablesのルールって誰か分かりますか?
あれってデスクトップ用に最適化されているんですかね?

696 名前:login:Penguin [2008/11/18(火) 00:24:59 ID:jDfQIBNa]
2.4 系だと MANGLE に TCPMSS 張れないから
FORWARD と OUTPUT に張っているけど
MANGLE に張る場合となにが違うのかよくわからん

697 名前:login:Penguin mailto:sage [2008/11/18(火) 04:32:57 ID:d3c/lwkM]
>>695

設定してシェルから
iptables -L -v
してみれば良いのでは?
ていうかして、参考にしたいから。
自分はknoppix firewallと同じルールにしているけど、ubuntuのやつも
見てみたい。


698 名前:login:Penguin mailto:sage [2008/11/18(火) 10:14:23 ID:MRSXpnk2]
>>697
いや、自分も手元にubuntu環境ないから見てみたいのですよ

699 名前:login:Penguin mailto:sage [2008/11/18(火) 10:17:31 ID:MRSXpnk2]
あ、ubuntuライブCDが手元にあったわ
ufw enable して iptables -L -v 見てみる

700 名前:544 mailto:sage [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しなくても済む方法ありますか?




701 名前:700 mailto:sage [2008/11/24(月) 21:56:04 ID:qB2Gxz8P]
追加です。
ping 66.249.89.99 -I eth0
とかすると、ソースアドレスはeth0のアドレスになってて問題なくpingは通ります。

702 名前:login:Penguin mailto:sage [2008/11/25(火) 01:17:36 ID:zZh6AovX]
・IPv4
・マルチホームホスト
・デフォルトゲートウェイ2つ
・ポリシールーティングなし
が条件かな?

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

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

解決策は、今のようにSNATをかけるか、ポリシールーティングで厳密にルーティングを指定するか、だと思うが。

703 名前:700=544 mailto:sage [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しかないんでしょうか?

704 名前:700=544 mailto:sage [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


705 名前:700 mailto:sage [2008/11/25(火) 19:15:43 ID:+bzr+l5D]
自分でも混乱してきたのでまとめ

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

>>704に加えてSNAT
基本的にソースアドレスはSNATで指定したアドレスになり通信できるが
DNSのみeth1のアドレスで問い合わせ後、SNAT指定のアドレスで問い合わせるので遅くなる。

706 名前:login:Penguin mailto:sage [2008/12/25(木) 14:38:37 ID:W3gIymfl]
>>666
亀ですんません
-i $INTIF取ってもダメでした
結局、-s ! $OREIPで凌いでます

707 名前:login:Penguin mailto:sage [2008/12/26(金) 00:11:11 ID:VXirjz6Y]
今さっき、単純なポリシールーティング(fwmark未使用)なら動いたけど・・・・
なんか、自分のよりずいぶんややこしいことやってるな


708 名前:700 mailto:sage [2008/12/26(金) 18:06:08 ID:ltPqHwfd]
やりたいことは単純で、ユーザー毎に使うネットワークを分けたいだけなんですけどね。
宛先のみでは分けれないので静的なルーティングでは実現できず、fwmark使うしか思いつかなかったんです。

709 名前:login:Penguin mailto:sage [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の話じゃないな


710 名前:700 mailto:sage [2008/12/27(土) 00:58:36 ID:jUvzXagD]
自分でsocketから書けばbindでIPアドレス指定することで
ルーティングで小細工しなくてもNICを使い分けれるんですね。知らなかった。

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

##完全にiptablesの話じゃないな
#たしかに。板違いかも。



711 名前:login:Penguin mailto:sage [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} hogehoge ではgw1
 wget --bind-address=${ip2} hogehoge ではgw2
 wget hogehoge ではmainテーブルで指定したgw
 に向かってパケットが投げられる


712 名前:login:Penguin mailto:sage [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テーブル相当の内容を入れておくことが推奨される)


713 名前:login:Penguin mailto:sage [2008/12/27(土) 12:23:31 ID:itSOO7pC]
スレ違いになるけどIP配布するときにゲートウェイをMACアドレスの
グループごとに変えるとかじゃ、だめなのかな。セキュリティの問題で
分けてるんだとすると、だめだが……

714 名前:700 mailto:sage [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と同じルーティングになってしまいませんか?

715 名前:login:Penguin mailto:sage [2008/12/28(日) 11:07:42 ID:em+fhSry]
スルー推奨

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

www.security.ocn.ne.jp/information/news/nf20090108_01.html

717 名前:login:Penguin mailto:sage [2009/01/16(金) 16:06:20 ID:u7wlazQY]
>>716
これは 韓国ネチズンvs 2ちゃんねらー のせいじゃないかな。でないと偏りが大きすぎるw

718 名前:login:Penguin mailto:sage [2009/01/16(金) 16:46:44 ID:+DlK6TCr]
迷惑な話だ(笑 vipper専用の回線でも引いてそこでやってほしい

719 名前:login:Penguin [2009/01/16(金) 22:24:37 ID:Qy3jFgAJ]
DebianでfirestarterのGUIを最小化自動起動させている方いらっしゃいませんか?

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

720 名前:login:Penguin mailto:sage [2009/01/16(金) 22:29:09 ID:VaS+Z9mp]
>>719
usernameのところをちゃんと自分のユーザー名にした?
firestarterの場所はちゃんと合ってる?
端末でsudoとかsuとかせずにfirestarterと打って起動出来る?



721 名前:719 mailto:sage [2009/01/17(土) 16:22:18 ID:98qqdXhI]
>>720
usernameは自分のユーザー名にしました
firestarterの場所は/usr/sbin/firestarterにしました
sudoとかsuせずに起動できません

722 名前:login:Penguin mailto:sage [2009/01/17(土) 18:08:23 ID:lpCkIAcT]
>>721
ごめん間違った。
sudo firestarterでパスワード要求されずに起動できる?
セッションにはsudo firestarterで登録ね。

723 名前:719 mailto:sage [2009/01/17(土) 18:36:18 ID:98qqdXhI]
>>722
セッションへの登録の仕方が間違ってました
自動起動時の最小化はできませんでしたが、通常モードで起動することはできました
本当にありがとう

724 名前:719 mailto:sage [2009/01/17(土) 19:05:29 ID:98qqdXhI]
>>722
--start-hidden
↑を付加して最小化もできました…orz

725 名前:login:Penguin mailto:sage [2009/01/23(金) 08:14:33 ID:GeOEI94J]
こんなのみつけた
コメントもついてて、大元になるスクリプトをジェネレートしてくれるみたい
これを少しづつ買えていけばいいじゃないかな。パスとかルールとか
easyfwgen.morizot.net/gen/

726 名前:login: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モジュールと同様のことをするにはどうすれば良いのでしょう?


727 名前:726 [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


728 名前:login:Penguin mailto:sage [2009/01/30(金) 18:17:17 ID:Pcr9wMdL]
適当なこというけど hashlimit は?

729 名前:login:Penguin mailto:sage [2009/01/30(金) 21:25:17 ID:YBChhxZr]
>>726
というかbindのACLで不正な問い合わせには応答しなきゃいいじゃないか。
仮にiptablesでやったとしてもパケットがやってきてしまうことは
どうしても防げないわけだし。

730 名前:login:Penguin mailto:sage [2009/01/31(土) 02:54:59 ID:asn696XI]
bindのDDoSはどんどんひどくなってるみたいね。
とりあえずはbindのほうをいじったほうが、確かに早いかも分からん。
スレ的にはiptableで簡潔ないい記述ができればいんだが。



731 名前:726 [2009/01/31(土) 16:55:12 ID:CmZY/+bL]
BINDは対策済なんだけど、これだけでは偽装された発信元IPアドレスに(短い)パケットを返してしまう。
iptablesで叩き落とせばこのバックスキャッタリングを防げる。
上手い方法ないかなあ。


732 名前:login:Penguin mailto:sage [2009/01/31(土) 17:01:03 ID:asn696XI]
blackholeとかメンテナンスするのいやだからなぁ。
ルールベースで切りたいな確かに。

733 名前:login:Penguin mailto:sage [2009/01/31(土) 22:58:57 ID:asn696XI]
しかしひどいね。blasterが流行ったときみたいだな。

734 名前:login:Penguin mailto:sage [2009/02/01(日) 06:17:02 ID:EdoXH2sU]
BINDは設計がおかしいから、もうどうにもならん

735 名前:login:Penguin mailto:sage [2009/02/01(日) 10:27:09 ID:pLJq1zgT]
だれか海外サイトから設定をかっぱらって来るんだ

736 名前:login:Penguin mailto:sage [2009/02/02(月) 09:48:50 ID:+Az43133]
https://lists.dns-oarc.net/pipermail/dns-operations/2009-January/003488.html

DNSオペレータのMLに出ていたラインで、通技板に転載がありました。


737 名前:login:Penguin mailto:sage [2009/02/02(月) 11:30:57 ID:4AWynPNf]
u32モジュールってなんだ!?
こんなの初めて見た


738 名前:login:Penguin mailto:sage [2009/02/02(月) 12:04:46 ID:+Az43133]
俺も初めて使った。最近のkernel/iptablesじゃないとダメみたいね。
あと at ってなってるところは@に置換ね。

739 名前:login:Penguin mailto:sage [2009/02/02(月) 12:07:52 ID:+Az43133]
ただこれ、すごい単純なマッチングだからアタックの問い合わせにいろんなのが
出てきたら、ダメだな。よく見てるとランダムな文字列のDDoSもあるから、そういうのには
上の人みたいに時系列で追うルールじゃないと対応できない、たぶん。

740 名前:login:Penguin mailto:sage [2009/02/02(月) 13:24:16 ID:pp7sQ9oB]
うちには「.」だけじゃなく「se」の攻撃も来てる。




741 名前:login:Penguin [2009/02/02(月) 17:41:07 ID:pp7sQ9oB]
>>728
hashlimitはudpで使えるの?


742 名前:login:Penguin mailto:sage [2009/02/04(水) 17:19:46 ID:DRq4jnVW]
recentの場合は一度hitcountに達すれば攻撃が続く限り全部DROPできる。
これに対してhashlimitの場合は攻撃が続いている間、攻撃の一部を受け入れてしまう。
という理解で正しい?


743 名前:login:Penguin mailto:sage [2009/02/05(木) 07:35:29 ID:zryjGLFD]
UDPの場合はipアドレス偽装しても困らないんだから
hashlimitは全く役に立たないと思うんだが。

744 名前:login:Penguin mailto:sage [2009/02/05(木) 09:10:03 ID:k3yyhcPH]
>>743
TCPもSYNに限ってはアドレスを偽装できるので、
アドレス偽装対策としての確実性を求めるべきではない罠。

745 名前:login:Penguin [2009/02/05(木) 12:05:09 ID:HWvjHGlG]
namedのログを見ると、実際には同じ発信元IPアドレスが繰り返し使われている。
何故かというと、namedは攻撃の踏台に使われているだけだから。
本当の攻撃対象のIPアドレスを発信元に偽装して、世界中のnamedに問い合わせをバラまく。
namedの応答を悪用することで攻撃のトラヒックを何倍にも増幅することができるから。


746 名前:login:Penguin mailto:sage [2009/02/05(木) 18:54:59 ID:8g5FEuSC]
結局あれをやってる連中の意図はそういうことなのかな。
となるとやっぱり律儀に返事を返すのは、どうしても
連中の思ったとおりのことをやってしまうことになるね。

あまり本来の設計にない動作はさせたくないが、しょうがないなこれは。

747 名前:login:Penguin mailto:sage [2009/02/05(木) 23:35:52 ID:zryjGLFD]
DRDoSを調べようとしてもDR-DOSばかりヒットするのは困ったものだな・・

748 名前:login:Penguin mailto:sage [2009/02/05(木) 23:39:35 ID:dEMHjHJ3]
>>747
DRDoS -DR-DOS でググる

749 名前:login:Penguin mailto:sage [2009/02/06(金) 09:58:40 ID:EQF4KdkV]
直接iptablesというわけではないのですが質問です。

ある特定のISPユーザにしかサービスを許可したくない場合等
ドメイン名で制限を書けたい場合にはどのようにするのが一般的でしょうか?
(IPアドレス帯域を公開していたりTCP Wrappersが対応していればカンタンなのですが)

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




751 名前:login:Penguin mailto:sage [2009/02/06(金) 21:14:56 ID:xQ6autwt]
optionsに127.0.0.1とローカルのIPだけ許可する設定を書けばいいよ。
公開してるゾーンだけanyに許可。

752 名前:login:Penguin mailto:sage [2009/02/06(金) 22:03:16 ID:JpTPB05X]
>>749
DNSでアドレスから名前を逆引きして判別 (さらにsecureにしたい場合は、
確認できたホスト名をアドレスに再変換してチェック) とか。

753 名前:login:Penguin [2009/02/13(金) 16:23:01 ID:e2K4rCg5]
BIND 9.4からnamed.confの仕様が変更になっていたのね。
allow-queryが効かなくてハマった…。


754 名前:login:Penguin mailto:sage [2009/02/13(金) 23:59:00 ID:owjgCdcY]
省略せずに、ちゃんと明記すればいいんだっけか
google様でわからなかったら苦労しそうなパターンだよなぁ


755 名前:login:Penguin mailto:sage [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で普通に使えています。


756 名前:login:Penguin mailto:sage [2009/02/20(金) 21:35:13 ID:iLve4iTI]
>>755
iptablesで必要なポートを開けるためのスクリプト(setuidフラグ付き)を作り、
それを呼び出すためのcgiを作ってhttpsからアクセスさせればいいのでは。

もちろんセキュリティホールにならないようきちんとチェックする必要があるが。

757 名前:login:Penguin mailto:sage [2009/02/21(土) 16:56:16 ID:5ViP3mcA]
>>756
あ〜、なるほど。
そういう手もありますか。

でもftp何かでもコマンド用のポートとデータ用のポートが違っても大丈夫な様に、
httpでも同じような仕組みができないかと思ったんですが、難しいんですかね〜?


758 名前:login:Penguin mailto:sage [2009/02/22(日) 03:08:54 ID:kRWcVgWK]
ftpは追跡用の専用モジュールあるでしょ(ip_conntrack_ftp)
http対応させるならhttp用のモジュールが無いと無理。
そもそもL7だからiptablesの仕事じゃないと思うが。
一応l7-filterってのもあるけど、それでうまくいくかどうかは知らない。

759 名前:login:Penguin mailto:sage [2009/02/22(日) 03:11:52 ID:kRWcVgWK]
あー、内部のftp鯖用だとip_nat_ftpだっけ、まあどっちでもいいや・・・

760 名前:login:Penguin mailto:sage [2009/02/22(日) 20:47:12 ID:GfbPUEsr]
あまりニーズがなさそうだからねぇ。ftpのようなトリックは自分でやらんと。
そういうことをやる汎用のルールはないか、という意味の質問なんだろうけども。



761 名前:login:Penguin mailto:sage [2009/02/22(日) 22:15:21 ID:7d9guBVj]
>>758
>>759
>>760

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

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

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

ありがとうございました!


762 名前:login:Penguin mailto:sage [2009/02/22(日) 23:27:39 ID:+kmxZRYl]
>>761
今更だが、sshでトンネルを掘る(簡易VPN)っちゃダメなのか?
公開鍵認証のみ受け付ける設定にすれば安全性はクライアント認証と変わらない。
(つ〜か、下手にスクリプト組むとセキュリティの確認が面倒)

763 名前:login:Penguin mailto:sage [2009/03/15(日) 15:17:31 ID:vnCvBK0D]
ポート80には、韓国・中国・香港・台湾(.tw)などの国を拒否しつつ
ポート8080では、日本からのIPのみを許可する方法教えてください。
いろんなサイト見てると意味不明になってきましたorz

764 名前:login:Penguin mailto:sage [2009/03/15(日) 17:59:00 ID:uk1z+jYj]
方法っつーか地道にリスト作るしかないでしょ。
そんな需要あまりないから自分で。

765 名前:login:Penguin mailto:sage [2009/03/15(日) 18:13:08 ID:umYumNQy]
>>764
あるんだな

>>763
web上探せばスクリプトも公開されてるよ
2chでスレッドが立ったこともある
外部公開したいくらいなら自分で探してみ

766 名前:login:Penguin mailto:sage [2009/03/15(日) 18:21:32 ID:D7dwhpji]
5つくらいのリストファイルDLしてgrepするだけでいけるはず。

767 名前:764 mailto:sage [2009/03/16(月) 04:12:07 ID:IPdPlwrs]
APNICかなんかの情報でそれできるかね?
最近は再割り当て頻繁だから、古い情報をもとにやると
本来はじくべきでない人をはじいたりしそうだなー。

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

クラッカーは迂回路から入ろうとしたりするわけだから、あまり
意味がないと思うけど……

768 名前:login:Penguin mailto:sage [2009/03/16(月) 07:28:48 ID:vC3uuih8]
>>767
金魚みたいに口パクパク開けてねえで調べろって

769 名前:764 mailto:sage [2009/03/16(月) 09:16:14 ID:IPdPlwrs]
俺に言うなよ(笑 ちゃんとレス番見れ。

770 名前:login:Penguin mailto:sage [2009/03/17(火) 01:03:18 ID:tZV7ufHu]
じゃあ俺はちゃんとレス番を見てお前に言っちゃおうかな?
>>764
金魚みたいに口パクパク開けてねえで調べろって

ちょっとググったらその手のスクリプトの内容も分かるぞ。
DLしてgrepが基本だからそんなに手間もかからないし面倒くさくもないけどな。
ちなみにBOTを弾くのにも有効な手段。ポートを変えてても総当たりで試そうとするタイプもいるから困る。



771 名前:764 mailto:sage [2009/03/17(火) 01:08:26 ID:OQn5xYfP]
いや俺は質問者じゃないって。スクリプトがあるとかないとか、関心なし。
つか質問者どこいった?(笑

772 名前:764 mailto:sage [2009/03/17(火) 01:14:57 ID:OQn5xYfP]
あと、BOTをそんなIPベースでちまちま羅列する方法ではじけてる、
なんてのはDDoSの意味が分かってないとしか。

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

自分でやってることと現実が一致してないのに悦に入ってるだけ、の
可能性もあるかと。






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

前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