07/07/24 20:22:39 XmHSl5AF
>366-367
素朴な疑問です。例えば、http(80),https(443),ftp(21)以外は、送受とも全閉め…の場合、
そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック
されるんでしょうか?
370:login:Penguin
07/07/25 08:42:24 BPmm4tyb
>>369
> そのセッションで許可された際に1024以上の任意のポートが使用されたセッションもブロック
意味不明。
単にポートだけでOUTPUT側をフィルタした場合、当たり前だが1024以上も対象になる。
なのでiptablesのconntrackモジュールを併用してあげるといい。
371:login:Penguin
07/07/25 10:19:28 c/4qaAtX
iptablesでアプリケーション単位で防ぐ事って出来ますか?
Firefox → TCP/IP 送信 80番 ok
Thunderbird → TCP/IP 送信 25,110番 ok
gFTP → TCP/IP 送信 20-21番 ok
みたいな。
372:login:penguin
07/07/25 13:55:46 nEhKGnnq
アプリケーション使うPC上でなら可能。つーかそれをFWと言うのでは?
経路上のポートからはアプリケーション判定は無理。
373:login:Penguin
07/07/25 14:13:02 0k5ibQId
> アプリケーション使うPC上でなら可能。
おー。そうでしたか!
参考までに一例教えていただけませんか?
「ACCEPT tcp -- 192.168.1.1 anywhere tcp dpt:www」
これだと他のソフトでも全部80番を通してしまいますので、
「Firefox のみ TCP 80番 送信をok」にしたいです。
374:login:penguin
07/07/25 18:13:16 nEhKGnnq
>373 スマソ。専用のFWを使ってね…と言う意味でした。iptables では無理。
375:login:Penguin
07/07/25 19:58:26 /D3x9F85
SELinux とかでパケットに印を付けて
その印を見て iptables や iproute で制御する事は可能らしい
やった事ないので確かなことは言えないが
376:373
07/07/25 21:27:20 OFMlwdEN
>>374
すまん、こっちも勘違いでした
>>375
なるほど、SELinuxですか
ちと調べてみます。ありがとん
377:login:Penguin
07/07/26 07:48:38 JylDrctM
--*id-owner系のオプションでなんとかならない?
378:login:Penguin
07/07/26 09:49:19 YatnvMaY
>>377
シンプルなやり方としてはそれもアリだね。
ただコマンド名でしかマッチしないので、
同じ名前で全く別のプログラムがあったりすると区別できなくなってしまう。
(これはWindowsのアプリケーションファイアウォールでも同じことが言えるが)
379:たけぼん
07/07/29 05:56:27 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:名無しさん@そうだ選挙に行こう
07/07/29 10:53:02 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:たけぼん
07/07/30 13:42:25 82MghHmK
名無しさん、ありがとうございました。
382:たけぼん
07/07/30 13:49:51 82MghHmK
-dの後の0/0て何ですか?初めて見ました。
383:login:Penguin
07/07/30 13:54:13 wIebROn1
>>382
0.0.0.0/0 と同じ意味。要はIPv4アドレス全て。
384:たけぼん
07/07/30 15:46:34 82MghHmK
ありがとうございます。
385:login:Penguin
07/08/01 13:45:52 xTh2AlOO
l|l l|l
;y= ;y= ハ_ハ ニ、ニダァ?
三 ┗<丶`∀´>┛ (^<;`д´>^)
三 ┛┓ ) /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (_ノ_ノ
386:login:Penguin
07/08/03 19:33:17 NtWU9CUf
stateマッチのINVALIDって、実際には何がINVALIDになるんかな。
URLリンク(www.asahi-net.or.jp)
URLリンク(www.asahi-net.or.jp)
に大まかには書いてあるけど、詳細がわからん。
例えばTCPで、新規じゃないけどESTABLISHEDではなくINVALIDになるのは
どういうときか、とか。もしかしてチェックサム不正だけ?
387:login:Penguin
07/08/03 20:51:40 wc/AKMVD
>>386
よくあるのがセッション乗っ取り目的の偽装TCPパケットだな。
SYNを送受信してないのにいきなりACKフラグだけ立ったTCPパケットが来たりすると
INVALIDになる。
388:386
07/08/03 21:12:34 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
389:login:Penguin
07/08/03 22:02:17 wc/AKMVD
>>388
TCPヘッダの現在の状態を見て明らかに無効なパケットであれば
NEWではなくてINVALIDだよ。
390:login:Penguin
07/08/31 01:30:48 /QsvseIU
>>389
どこからか明らかかってのはありますが、結構 INVALID じゃなくて NEW になる
こともあるとか。なので、どこぞの HOWTO だか FAQ には、TCP の場合はちゃんと
フラグも調べるようにと書いてあったような。
うろ覚えですまん。
391:はまってます
07/09/02 18:24:13 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:はまってます
07/09/02 18:31:00 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
393:login:Penguin
07/09/02 18:43:25 xFZ3sRLE
>>391
エラーメッセージは略さず書け。
あとpppoeってことは例によってMTU問題(特にpath MTU discovery)ではないのか?
試してみれ。
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
394:login:Penguin
07/09/02 18:52:17 noS94zlb
>>391
iptables -A FORWARD -p tcp--tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
395:login:Penguin
07/09/02 18:54:09 noS94zlb
げ、393氏かぶったすまそ。よくみるともれの間違ってるな・・・。
# iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
多分これでいけると思うけど。
396:はまってます
07/09/02 21:44:39 MBbpYlqy
>>393-395
早レスありがとうございます。
でもチェーンフラッシュの直後に追加して試してみましたがやっぱり駄目でした。
私の環境の場合、ルータAのネットワーク内からのアクセスは大丈夫で
ルータBのネットワークからだと駄目なので、書く場所とか書き方に少し
工夫が必要なのでしょうか?教えてクンですみません。
397:login:Penguin
07/09/02 22:08:00 xFZ3sRLE
>>396
今のルールセットじゃ無理だろう。
FORWARDチェインの冒頭に入れてみれ。
398:login:Penguin
07/09/02 23:55:12 4sOAdWya
>>397
今試せない状況なので追加質問だけさせて下さい。
繰り返しの説明になりますが、
>>392の設定でもルータAのネットワークからのアクセスは大丈夫なんです。
さらにもう一回マスカレードしているルータBのネットワークからのアクセス時
だけ駄目なんです。この場合も-o ppp0へのパケットの調整が有効でしょうか?
399:login:Penguin
07/09/03 08:23:53 kMimNQBM
>>398
まずはやってみれ。
400:はまってます
07/09/04 21:07:32 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:はまってます
07/09/04 21:12:26 ftQujwlz
昨日はルーターBのネットワーク内の各クライアント
(Solaris, FreeBSD, Debian, Ubuntu, RedHatEL, Windows)にMTUを設定していました。
全部問題なく設定はできたのですが、今後面倒だなあと感じ、ルータAにNICを追加し
ようかなと思っていた矢先、固定値を設定したらどうかなと試してみたらうまくいきました。
402:login:Penguin
07/09/04 21:13:31 lCleCBg/
>>400
ルータBでICMPをフィルタしていて「分割しなきゃダメだよ」というメッセージが
届けられてないのではないかと。
403:login:Penguin
07/09/04 21:32:27 nEQBaeKm
ここ最近Megauploadというオンラインストレージ会社から強引にサーバ上にあるファイルを引っこ抜かれています
実質的なプロキシーサーバのようですが何かよい対策はありませんか?
404:はまってます
07/09/04 21:33:34 ftQujwlz
>>402
そうです。ルータAのネットワーク内でping -f -lで調査すると
DFメッセージが帰ってきますが、
ルータBのネットワーク内で同じ調査した場合、パケットが
戻りません。
ルータBはプラネックスのBRL-04FWUという安ルータです。
カスタマイズが殆どできません。
以前、LAN内で使っているので「smbのパケットを落とさないように
できないか」とサポートにメールしたことありますが、返事さえ
帰ってきませんでした。
405:login:Penguin
07/09/18 00:50:22 IMwoI/q8
つなぎたいIP、ポートを特定して設定した場合、
安心していいでしょうか。
なにか破られたりする場合があるのでしょうか?
406:login:Penguin
07/09/19 09:47:23 AI19ptTj
>>405
まず一つめに注意すべきはソースアドレスは偽装可能であるということ。
TCPの場合はコネクションを張るために最低でも1往復のパケットが通るから、
偽装したパケットであれば相手にSYN+ACKが届いた段階で「知らねーよ」とRSTが
返される。それ以外の場合は片道だけで通信が成立してしまうことが多い
(上位層に依存するが)ので、偽装したパケットによって不正に通信を成立させることが
できてしまうかもしれない。
二つめは設定した発信元IPアドレスのマシンに侵入されてしまった場合が
ありうること。アドレスとポート番号だけでしかチェックしていないのであれば、
そのマシンに侵入された時点でもう一つのマシンも無防備になってしまう。
407:login:Penguin
07/09/19 22:49:00 TdpQYuo3
ありがとうございます。
偽装したパケットの場合は
syn後、偽装IPに返事が返されると思うのですが、
攻撃者はその受け取りができるのでしょうか。
408:login:Penguin
07/09/20 10:11:17 YxtApnBM
>>407
だからそれは>>406で書いてるだろ。
TCPであれば最低でも一往復の通信が正しく成立しないと動作しないから、
偽装したところでそれは意味を為さない。
409:login:Penguin
07/09/25 21:31:29 6F26j5zh
IPTABLESでwinnyの通信をさせなくしたいんですが、可能でしょうか?
410:login:Penguin
07/09/25 21:44:25 wLn1k+nl
>>409
winnyはファイアウォールをかいくぐるために乱数でTCPポートを決定するため、
「これがWinny」と断定して通信を手段することは無理。
http proxyなどの中継サーバを介して外部と通信させ、IPレベルで外部と直接通信
できないような仕組みを作るべきだろう。
411:login:penguin
07/09/26 00:20:20 q+poyakW
>409
>410氏も書いてあるとおり、LAN -> WAN は 許可したPC以外は DROP でOK?
許可したPC(XP)は、Winny が起動しないツールを入れて監視するか、制限ユーザに汁。
412:login:Penguin
07/10/16 03:42:51 mB8Oo12S
うざい国からのアクセスを全て遮断スレより誘導されてきました。
スレリンク(mysv板:469-470番)
これを使わせていただき、日本以外からの接続を弾きたいと思っています。
スレリンク(mysv板: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
413:login:Penguin
07/10/16 08:52:57 JaL0o8rc
countryfilter.pl から生成された filter.sh の抜粋を貼ってくれ。
途中の IP アドレスをダラダラ記述した部分は不要だから。
414:login:Penguin
07/10/16 09:49:00 mB8Oo12S
レスありがとうございます。
filter.shは下記のようになっていました。
#!/bin/sh
# Country based filter from *NIC database.
# For APNIC, get from fURLリンク(ftp.apnic.net) .
# Created: Mon Oct 15 21:04:13 2007
#
# This filter detects access from contries;
# JP
# variables. change these values before run.
IPTABLES=/sbin/iptables
FILTERNAME=CKFILTER
TARGET=RETURN
# Database version 20071015
$IPTABLES -A $FILTERNAME -s 58.0.0.0/15 -j $TARGET
(以下IP羅列が1800行くらいまで続いてます)
415:login:Penguin
07/10/16 23:19:57 JaL0o8rc
これ見ただけだと問題なさそうだけど・・
先頭以外でポリシー書いてるスクリプトを
そのまま使ってるのが気になる。
初めにルールの初期化してる?(-F だったか。)
そこに問題が内容であれば、度々であれなんだが、
# iptables-save > filter-rule.txt
とでもして、filter-rule.txt をいい感じに抜粋したのを貼ってもらえると
アドバイス出来るかも知れない。
416:login:Penguin
07/10/16 23:41:14 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
417:login:Penguin
07/10/17 00:03:00 vmGHd6pV
わけわかんねー状態で外とつないで怖くないのか?
「うざい国」以前にあんたのPCが「うざいマシン」になるかもだよ。
ログに何と出てる? (貼らなくていいよ)
そのログ出した後どうしてる?
何も出てないなら1行ごとにログ出すようにしてみろ
それも面倒ならiptables -L -vvでどのルールにひっかかったのか
調べられる。量が膨大になるならfilter.shを除いてみろ
丸投げやめて、少しぐらい頭使おーぜ
418:login:Penguin
07/10/17 08:48:52 D7VNNAnN
どこの世界も、偉そうな奴はホント態度が偉そうだよな。何様?
419:login:Penguin
07/10/17 10:10:47 NFzvWXXg
>418
俺様
420:login:Penguin
07/10/17 10:16:45 oO9YVbD6
銀さまハァハァ
421:login:Penguin
07/10/18 13:10:58 v3qQ8OO3
>>417
「うざい」レスだなぁw
422:login:Penguin
07/10/18 16:09:39 rMgHYbZo
うざい奴をdrop
423:login:Penguin
07/10/19 01:37:05 fKrRqDHD
カーネルを2.6.23にするとmoblockが使えなくなるぞ
NFQUEUEがおかしいぽい
424:login:Penguin
07/10/19 02:35:56 Cz6QQ79V
Xenの上でVistaを走らせてたいのですが
ファイヤーウォールの適用されるモードはどれなんでしょうか?
そのときガチガチに守れるテンプレートがあれば教えてください。
やりたいことはWEBとメールです。
425:login:Penguin
07/10/19 08:57:50 RvEMcjkh
>>424
Xenの挙動理解してこい
426:login:Penguin
07/10/19 15:59:02 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:真剣です。
07/10/20 05:32:21 Ln9PiS8q
>>425様へ
厳しい、言い方の中に答えを見出しました。
つまり出来ないということですね?
URLリンク(itpro.nikkeibp.co.jp)
こちらを見て出来る可能性があるのではと思いました。
質問を代えます。1台のPCでFedora7のファイヤーオールを適用してVista
を動かせないでしょうか?
428:login:Penguin
07/10/20 07:22:16 ZpN5JaDu
質問の仕方から想像するに、仮想化をまったく理解していないとみた。
ファイヤーウォールと仮想化は直接には関係ない。
というか、ホストマシンがファイヤーウォールで通信制限されてたらゲストマシンも普通されるけど。
# ファイヤーウォール側でアプリケーションごとのうんたらとか、細かいことをいろいろやっていると、
# 思ったとおりにきちんと通信を遮ってくれないとか悩むかもしれないが(ちゃんと指定した通りに動いているよ!)まぁそれはそれで
VMwareとVista Enterpriseを導入してVMwareの設定をNATモードとかなんとかに設定しておけば充分では?
429:login:Penguin
07/10/20 09:38:02 titCb4KC
>>424がセキュリティ考えても良くはならない希ガス
430:login:Penguin
07/10/20 11:31:05 1bReyt4O
>>427
できる
431:login:Penguin
07/10/20 13:06:08 rqJkme3V
Fedoraをルーター代わりのブリッジにすればいいんじゃねぇ?
>ファイヤーオール
クソワロタ
432:真剣です。
07/10/20 13:34:26 Ln9PiS8q
皆さんありがとうございます。
>>430さんへ431さんの言うとうり
ドメイン0経由ブリッジというのが可能なのですか?
それともVMwareならそのままOKということでしょうか?
モードすらよくわっかていないのですが、ここがはじめの一歩なんです。
誰かもう一声ください。
433:login:Penguin
07/10/20 17:24:40 F9L9feWR
つながればいいのならNATでいいんじゃね
434:login:Penguin
07/10/21 14:28:51 ugqBpt5b
VistaのPFWは随分マシって聞いたぞ
そのまま使えばいいんじゃないの?
ホストOS側でiptablesで制限かけるのって
そもそも、仮想化としてはおかしい気がする
435:login:Penguin
07/10/21 15:04:00 fUKGOJu+
ホストマシンすなわちルータとして扱いたいつーか、考えればいいんだろうな
そこで一元管理していれば、いちいち仮想(下層?w)マシンでFWとか考えずに済む
436:login:Penguin
07/10/21 15:09:08 fUKGOJu+
ホストOSなしで仮想化してくる事も(いまに)出来るだろうけど、(今回)それは考えないって事でw
うち今鯖4つ建ててるんだけど、いちいちアクセス制限管理してるのめんどくさすぎる。
ルータが欲しいけど、これって5つめの鯖を建てなきゃならないって事だよね………orz
仮想化出来てる奴が羨ましい。
437:質問
07/10/21 15:16:21 KkCVzm+C
iptablesの勉強中なんですが、
今見ている2冊の本に、
iptables -P INPUT DROP
を設定してから、許可するルールを作成していくということが書かれているわけですが、
実際上記の設定をしたとたん、
sshでの接続はもちろん、linuxが起動しているローカルPCでもbashの起動、電卓やブラウザの起動までも
できなくなります。(結局再起動でiptablesの設定を初期化)
なにがまずいのでしょうか?
438:login:Penguin
07/10/22 18:32:33 b+3+SL2w
lo
439:login:Penguin
07/10/22 21:25:16 zx8b4vdE
そんなダメな本は晒せよ
440:login:Penguin
07/10/22 23:10:20 iO12OLhI
DROPでいきなり終了じゃんw
441:login:Penguin
07/10/22 23:26:31 qzhWJQay
俺も
> iptables -P INPUT DROP
してるが問題ないよ
その後のアクセス許可がおかしいんじゃないの
442:login:Penguin
07/10/23 00:07:33 AFNajVwL
> その後のアクセス許可
についてきちんと書いてないって話をしてるんじゃなかろうか。
(実は本にはきちんと書いてあるのに 437 が理解してないだけの可能性もある。)
そりゃポリシーは DROP にするのが普通だよ。
443:login:Penguin
07/10/23 00:45:51 6dav7CS2
最近の RHEL は INPUT のデフォルトを ACCEPT にして
最後に -j REJECT --reject-with icmp-host-prohibited しとるが、
あれってどうなんだろう?
遅いマシン使ってると、デフォルト ACCEPT のルールが投入されてから、
最後の -j REJECT が投入されるまでの間、INPUT 入り放題?
とか心配したんだが、素人の杞憂?
444:login:Penguin
07/10/23 01:19:18 7Gy/yl8a
ポリシーをACCEPTにしたら拒否するルールをずらずら並べるもんずら
445:login:Penguin
07/10/23 01:27:44 nWZglh6T
質問させてください。
iptables -A INPUT -f -j LOG --log-prefix 'IPTABLES LOG:'
このようにしてるのですがIPTABLESのログが画面に出力されてしまいます。
画面に出力しないようにしたいのですがどうしたらいいでしょうか?
よろしくお願いします。
446:login:Penguin
07/10/23 01:34:56 nWZglh6T
>>445です。ミスりましたので訂正。
iptables -A droplog -j LOG --log-level info --log-prefix "LOG : "
このようにしてるのですがIPTABLESのログが画面に出力されてしまいます。
画面に出力しないようにしたいのですがどうしたらいいでしょうか?
よろしくお願いします。
447:login:Penguin
07/10/24 00:08:48 SbBD4pB3
iptables -A INPUT -j LOG --log-prefix "iptables: "
うちの環境だとこれで/var/log/messagesにずらずらとログが吐き出されてるよー。
448:login:Penguin
07/10/24 00:36:49 jqvnxtk4
>>446
man syslog.conf
449:login:Penguin
07/10/24 07:28:33 8AtQmbnx
iptables -Lってすると一部だけどDNS引いた結果出してくれる(~~.ne.jp/21とか)
のはいいんだけど、ApacheみたいにDNS引いてるから遅いってやっぱりありますよね?
これって設定とかで引かせないようにできるんですか?
iptablesが重たいのを少しでも何とかできればと思っています。
450:login:Penguin
07/10/24 08:33:21 TTzmV6tO
>>449
-n
man 読めよ。
451:login:Penguin
07/10/24 09:17:40 /YI0Hkhg
>>449
iptables自体が重くなるって意味がわからん
iptables -L(-n無し)で設定表示したときにドメイン名逆引きするだけだぞ
452:login:Penguin
07/10/29 13:52:10 Ar8OORqT
質問させてください。
① iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
② iptables -A INPUT -s 192.168.1.0/255.255.255.0 -j ACCEPT
①と②は違ったりしますでしょうか?
453:login:penguin
07/10/29 22:32:58 KgFnwMuo
>452
(日)と(月)は違うぞ!
曜日が…
454:login:Penguin
07/10/30 23:01:19 sCmEB94u
>>453
うれしそうだねwwwww
455:login:Penguin
07/10/30 23:07:48 HosQjitr
>>453
意味がわからんかった
いまごろ 理解したよ
456:login:Penguin
07/10/31 00:35:10 e4JVZKQc
(日)と(月)に見えた人が書き込んだ場合、
(日)と(月)にはならないと思うんだ。
457:login:Penguin
07/11/01 02:42:36 5rKuYKAC
>>455
まだワカンネどういう事?
458:login:Penguin
07/11/01 07:20:32 k9000Ae8
>>457
URLリンク(help.yahoo.co.jp)
459:login:Penguin
07/11/01 09:56:00 hcVfni0f
懐かしいw
e-mail始めた頃、「MACの人も居るから○文字は使うな」とか
ネチケット叩き込まれたことがあるな
460:login:Penguin
07/11/02 15:57:48 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
とすると、転送先マシンにつながることを期待していたのですが、無反応です。
何が足りないんでしょうか。
461:login:Penguin
07/11/02 17:20:11 /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
じゃないの? あと、順序はいいのかな。
462:460
07/11/02 17:43:42 zzEzt7oi
>>461
ありがとうございます。
> iptables -A INPUT -p tcp --dport 8022 -j ACCEPT
入れてもダメでした。
Webサーバーが、ポートの変更はないものの、やはり内部のマシンに転送する設定になっていて、
そちらは>>460に書いたような設定でアクセスできています(INPUTのACCEPTもなし)。
ポート番号変更して飛ばす場合は何かほかに設定が必要なんでしょうかねぇ。
SSHは特別とか。ググりまくってるんですが、今のところ収穫なし。疲れた…。=□○_
463:login:Penguin
07/11/02 18:09:26 L7xx/Ax3
echo 1 > /proc/sys/net/ipv4/ip_forward
464:460
07/11/05 10:51:36 Aa00PO2k
>>463
最初に書かなかったのがいかんでしょうけど、いくらなんでもそれは…。
Webサーバーへの転送ははできてるって、すぐ上に書いてるんだけど…。
465:問題の切りわけができないやつは死ね
07/11/07 20:37:20 LiUjlGKZ
書いてある設定はあってるきがするから
書いてある設定以外の設定もみたほうがいいよ
そもそも、書いてある設定だけに原因があると判断した根拠はあるの?
ないなら、もっと情報を集めるべきだよ
パケットがどこまで来てるか確認するとか
すくなくとも「SSHは特別とか。ググりまくってるんですが」と言うならTCPコネクションは正しく張れていることを確認したわけだよね?
466:login:Penguin
07/11/11 15:13:33 T0iIgraT
んだな。
転送先のSSHの設定が間違ってるんじゃないかな。
少なくとも転送先にパケットが届いているかと、routerの方でドロップしていないか
logみて確認した方がいい。
467:login:Penguin
07/11/11 22:23:07 eYVSNPRX
deiban-etch-i386で配布されているiptables-1.3.6を使っています。
もしかして--*-ownerで指定するownerマッチって、CPUがデュアルなSMP環境では使えない?
URLリンク(iptables-tutorial.frozentux.net)
上記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マッチが実装されるようになる予定、
もしくは使えるようにするパッチとかあるのかな?
468:login:Penguin
07/11/13 11:48:29 z5V70nVz
>>467
それは単に--cmd-ownerオプションを有効にした状態でコンパイルしていないものと
思われ。
iptablesをコンパイルする際にIPT_OWNER_COMMを設定してコンパイルしておく
必要がある(iptablesの既定では設定されていない)。
469:login:Penguin
07/11/13 12:06:45 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.)
470:login:Penguin
07/11/13 12:09:29 z5V70nVz
>>467>>468
訂正。2.6.xカーネルをよくよく読んだら
> ipt_owner: pid, sid and command matching not supported anymore
だそうだ。
uidとgidのマッチングだけが残されてる模様。
471:login:Penguin
07/11/14 16:12:34 smyKDrGU
>>468-470
--cmd-ownerで指定したかった実行ファイルを、適当なグループにchgrpして
--gid-owner使うしかなさそうね。。。とりあえず、--gid-ownerが使えることは
確認できました。ありがとう。以上
472:login:Penguin
07/11/16 11:04:17 l7VK4xQc
ntpを通す設定をする時は
127.127.1.0(ローカルのクロック)も通さなくてはいけないのでしょうか?
473:login:Penguin
07/11/16 11:38:49 +r76b4S+
>>472
ローカルクロックをntpで使わない(常に他の時計を参照して時刻修正をする)
のであれば通す必要はない。
ただntp以外のものを動かすことを考慮すると、デバイスloから来たものについては
通しても問題なさそうな気がするが。
474:login:Penguin
07/11/17 08:31:59 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にされたら(そんなことが出来るのか分かりませんが)
通ってしまうんじゃないか…と思うのですが、どうなのでしょうか。
475:login:Penguin
07/11/17 08:52:38 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したアウトバウンドの返りのみ許可します。
476:login:Penguin
07/11/17 09:58:36 FMqlrwB/
>>475
おっしゃるとおりの環境です
確かにこれなら大丈夫ですね
分かりやすい説明ありがとうございました
477:login:Penguin
07/12/04 12:56:38 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した状態で必要なポートだけ空けるにはどういう設定したらいいですか?
478:login:Penguin
07/12/05 04:41:35 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側は自動で面倒見
てくれるんだし。
479:login:Penguin
07/12/05 07:34:20 5K5f62C9
URLリンク(iptables-tutorial.frozentux.net)
480:477
07/12/05 08:58:33 bS7YQRUV
やっぱPREROUTINGでフィルタリングするべきでは無いっすか。ありです。
481:login:Penguin
07/12/06 12:24:28 MDMJf4Qy
477だけどPREROUTINGで必要なポートだけREDIRECTしてやればいけそうな感じです。
他の要因でまだ試してないですが・・
482:login:Penguin
07/12/08 01:50:58 hgE2t6/f
>>477
ちなみに何故PREROUTINGでやるのか後学の為に教えて下され。
483:154
07/12/12 23:53:15 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)と同様。
484:154
07/12/12 23:54:10 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
485:154
07/12/12 23:55:49 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の設定ミス・不足が有力視されています。
486:login:Penguin
07/12/13 00:55:26 h9SR/G0E
素直にこれじゃ接続できんの?
#pasv_enable=YES
#pasv_address=211.10.47.197
#pasv_addr_resolve=YES
#pasv_min_port=4000
#pasv_max_port=4029
487:login:Penguin
07/12/13 02:31:38 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:鯖のプライベートアドレス
の設定追加で行けるんじゃ?
488:487
07/12/13 02:37:06 4N7nbO+s
勘違いした。鯖とFWは同じマシンで別にルータが居るのか。と云う事は、
↑の設定をルータ上に入れんと駄目って事ね。
1)でやってるFTPのWellKnownポートを開ける。
に4000から4029が含まれて無いと仮定しての話しだけど。
489:154
07/12/13 16:54:19 RBocae6Q
非常に申し訳ないのですが、無事に解決致しました。
スレリンク(mysv板)l50
質問に答えてくれ方々、どうもありがとうございました。
490:login:Penguin
07/12/13 21:11:00 4N7nbO+s
マルチかよ。二度とくんな!
491:login:Penguin
07/12/13 21:44:57 Dtsl/eW1
>485
嫁
492:login:Penguin
07/12/13 21:49:32 Dtsl/eW1
ところで、pfの話はここでしていいんかい?
493:login:Penguin
07/12/13 22:01:17 k10Nz7ru
>>492
スレ違いの前に板違いだろう。
494:login:Penguin
08/01/05 21:36:50 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突破して連投してないし鯖に負担かかったとも思っていない
495:login:Penguin
08/01/05 21:37:07 j9FhIFrb
あ。誤爆。すまそ
496:login:Penguin
08/01/05 21:50:44 TOhgYRiE
↑eve↑,カンリニン…
(+Φ Φ)
//…〆∞i ………>規制せよ
←√//;ミシミシミシッッ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
497:login:Penguin
08/01/05 21:56:07 TOhgYRiE
↑eve↑,カンリニン…
(+Φ Φ)
//'〆∞i ………>そして、Webから2chを抹消するのだ…
←√//;ミシミシミシッッ
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
498:俺
08/01/10 15:11:06 upM3OZCX
iptablesって最大何個チェインを作成できるの?
499:login:Penguin
08/01/12 02:24:05 FBfOnT6z
iptablesじゃなくてshoewall使ってる人いる?
shoewall便利だよ
500:login:Penguin
08/01/12 14:42:33 elZa4LnA
shorewallは知ってるけどshoewallは知らないな
>iptablesじゃなくてshoewall
日本語でおk
shorewallもiptablesだろうが
501:login:Penguin
08/01/12 18:12:16 RLFhqBrs
shorewallはiptablesラップして設定吐き出すだけだしね。
まずはiptablesを理解した上で使うにはいいだろうけど。
502:login:Penguin
08/01/14 01:50:31 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五回までというカウンタはユーザー
毎に保持される)
503:login:Penguin
08/01/14 03:55:07 +I2svrJp
>>502
>この1秒に5回許されるというのはAとBの合計ですか?
yes
ほしいのはたぶんhashlimitだと思う。↓この辺でも見て。
URLリンク(dsas.blog.klab.org)
recentでもいいらしいが使ったことないのでパス。
504:login:Penguin
08/01/14 10:22:37 AUJ7vIQN
>>503
質問だけで求めているものをエスパーしてくれるとは・・
どうもありがとう
505:login:Penguin
08/01/14 11:15:48 AUJ7vIQN
でも入れるの難しそうだな
なんせDD-WRTだから
506:login:Penguin
08/01/18 16:43:24 lPyT/fq/
iptablesで弾いたログってどこに出力されるのでしょうか?
krfilter
URLリンク(www.hakusan.tsg.ne.jp)
を手順通りに行ったのですが、dmesg に出力されてません。
iptalbes -L をみると、しっかりフィルタリングはされております。
507:login:Penguin
08/01/18 17:12:12 lOIomrR1
一般的解答
・弾いたログをsyslogなどに記録しないとみれません。
簡単に調べる方法
iptables -L INPUT -v -n --line-numbers -x
で破棄されたパケット数、バイト数をルールごとに確認できる。
508:506
08/01/18 17:30:39 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 '
509:login:Penguin
08/01/18 19:11:40 lOIomrR1
フィルタのリストにあがっていてもすでに通過するルールに従って通過して
いることはないでしょうか。この場合、限界までフィルタリストに追加して
もまったく意味を成しません。
ログに記録するされる機能を試したければ運用に影響のない新しいルールを一つ作り、
自分で試すことが無制限かつ永久にできます。
510:login:Penguin
08/01/18 19:26:09 yM/22QF2
>フィルタのリストにあがっていてもすでに通過するルールに従って通過して
>いることはないでしょうか。この場合、限界までフィルタリストに追加して
>もまったく意味を成しません。
なるほど!
まさにそれのような気がします。
上に作ったルールがあったので。アホでした。
丁寧に教えてくださりありがとうございました!
511:login:Penguin
08/01/19 06:56:27 V/B+zaIL
私が小学生の頃、
日本中でノストラダムスの予言が大流行していた。
「1999年の7月に人類は滅亡する!」
という例のお騒がせ終末予言である。
大人になって社会に出て働きだして、
あくせくと忙しく日々を過ごしながら、
1999年は、
ありふれた日常の中であっさりと過ぎていった。
人類は滅ばなかった。
これからここで、
1999年に起こるかもしれなかった人類の壊滅的破局を、
誰にも知られずにこっそりと回避させた人たちがいた...
という設定で、
荒唐無稽なストーリーを描いてみたい。
無論、100%完全なフィクションである。
URLリンク(www5.diary.ne.jp)
512:login:Penguin
08/01/19 23:19:42 poPr5669
>>511
こちらへどうぞ
スレリンク(linux板)l50
513:login:Penguin
08/01/20 00:20:37 Stwf61MT
ubuntu7.10を入れたPCにsshで繋いで、nmapをやったら↓の様に出ます。
$ nmap localhost
Starting Nmap 4.20 ( URLリンク(insecure.org)<) で繋がらないようで
ブラウザには「192.168.1.13:3000 のサーバへの接続を確立できませんでした。」とでます。
ポートは空けているつもりなのですが、どこが間違っているのでしょうか?
自分なりに調べているのですが、手詰まりのような状態で
どこに手をつければよいのか分かりません。
ご助言をお願いします。
514:login:Penguin
08/01/20 00:23:54 GjWIMeOh
httpdはあがってんの?
ubuntu7.10マシンからはそのページ見えるの?
515:513
08/01/20 00:29:00 Stwf61MT
レスありがとうございます。
ubuntuを入れたPCからは、そのページを見ることができていて
画面も動かせています。
動かしているアプリは、httpdではなくWEBrickで動かすようにしています。
516:login:Penguin
08/01/20 00:40:03 GjWIMeOh
ubuntu7.10マシンの外からnmapしてみてよ
いま繋ごうとしてるクライアントのマシン
517:513
08/01/20 00:57:24 Stwf61MT
端末に使用しているものはwin xpになります。
↓が実行結果です。
ポート3000は端末から見たら閉じているということでしょうか。
iptablesをあちこちの記事を見ながら修正したのですが。。。
C:\Program Files\nmap-4.53>nmap 192.168.1.13
Starting Nmap 4.53 ( URLリンク(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:login:Penguin
08/01/20 01:00:03 GjWIMeOh
うん、ダメね
続き頑張って~
519:login:Penguin
08/01/21 01:09:20 YfsBM33D
iptables の設定の数とネットワークパフォーマンスの落ちの関係をグラフにとってくれないか誰か
520:login:Penguin
08/01/21 06:07:39 zS1pvPfR
卒論の季節か
521:login:Penguin
08/02/22 00:41:35 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
522:login:Penguin
08/02/22 07:56:06 ubCvY1Yz
>>521
鯖2の設定は?
IP=192.168.1.2
ケートウェイ=192.168.1.1
になってるか?
523:login:Penguin
08/02/22 09:27:43 T46IPvJg
>>521
まさかと思うけど、2 は ping 返す設定になってるのね?
あと 2 の firewall は平気なのね?(つまり全て ACCEPT
でも問題は生じる)
524:login:Penguin
08/02/22 10:46:08 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
525:login:Penguin
08/02/22 13:39:49 RBpx9Ma8
>>521です
>>522-533のご指摘内容は問題なそうだけど
どうやら鯖2の方に問題があるようでした
鯖2もNIC2枚差しでeth1の方でUSENに繋いでたのですが
そっちの接続が確立してると繋がらないみたいです
理由は分かりませんが
526:login:Penguin
08/02/22 14:06:32 TPBVWopc
順番に解決しろ
iptablesとは何の関係もない
527:login:Penguin
08/02/22 14:47:42 gxYR4a4l
>>525
鯖1も鯖2もUSENにつながっているってことか?
回線を複数契約していなきゃそんなことは普通できないでしょ。
IPが複数割り当てられているってことと回線が複数あるっていうことは意味が違う(レイヤが違う)んだから。
528:login:Penguin
08/02/22 15:09:03 RBpx9Ma8
>526
順番に解決していきます
昨日の段階では鯖1のNATテーブルに原因があると思って質問したのですが
見当違いのようでした
>527
USENが繋がってるのは鯖2のみです
回線は固定IPでISPを複数契約してます
529:login:Penguin
08/02/22 18:05:11 Uz1dF2tJ
何がやりたいのか、さっぱりわからない。
530:login:Penguin
08/03/08 10:02:41 Ja0OgwLu
iptables -L --line-number
で表示するとチェイン名の横に(0 references) とか(1 references)
とかってあるんだけどこれ何?参照って意味らしいけど何を参照してるのか
先頭の番号が何を表してるのがさっぽり分りませんw
531:login:Penguin
08/03/08 10:43:55 Ja0OgwLu
事故怪傑しますた!
532:login:Penguin
08/03/14 19:35:56 JcU4K66O
ルールを追加するスクリプト書いてますが
チェイン名のリストだけを取得する方法ないですか?
iptables -L
だと、ルールも長々と表示されるので困っています
533:login:Penguin
08/03/14 20:47:56 pQGeKBA7
>>532
超安直
$ iptables -L | grep ^Chain
534:login:Penguin
08/03/14 22:49:59 8R7ipwG4
もうちょっと書くと、
iptables -L -n|grep -e "^Chain" |cut -d " " -f 2
かな?
535:login:Penguin
08/03/15 23:38:04 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
08/03/16 01:42:43 XWkiOM0n
>>535
自己解決しました。
537:login:Penguin
08/03/18 00:41:45 xG7RTwPf
535=536
落書きウザ
538:login:Penguin
08/03/28 20:20:16 RgSeR1VL
ガガガ・・・ニコニコ生放送が見れなくてorzしてたら・・・してたら・・・
iptablesのせいですた
539:login:Penguin
08/04/07 11:40:37 MoCBASYC
iptablesを使いこなせないおまえのせい、の間違い。
540:login:Penguin
08/04/07 15:29:33 kB83g4pV
そうっすねそうっすね
カメラに向かってごめんなさいしてきます
541:login:Penguin
08/04/21 19:41:11 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
08/04/21 19:50:13 maU7qj53
>>541?そもそもそれらのビットがどういう意味を持っているものなのか知ってから設定すれ。?それらはいずれもRFC3168で規定されたもので、CWR (輻輳ウインドウ減少) と?ECE (ECN-Echo) だ。
543:login:Penguin
08/04/21 20:40:22 I4EnTsVG
>>542
まさか、こんなに早いレスがあるとは。
まだ、ほとんど読んでませんが、最後の60ページあたりが重要なのかな?
どうも、ありがとうございます。
544:login:Penguin
08/04/21 20:58:20 8JxepitL
質問です。
iptablesで--uid-ownerを見て--set-markして
iprouteのほうでユーザー毎にルーティングテーブル用意して切り替えてるんですけど
複数のユーザーが同時に別のルートを使うとすごく遅くなります。
解決方法ありますか?
もしくは、この方法以外にユーザー毎にルートを別にする(or NICを別にする)方法ってありますか?
dest addressやdest portで切り分けることはできません。
Cent OS使ってます。
545:541
08/04/21 22:21:41 I4EnTsVG
ECN(CWRとECE)はこれまでReservedだったフィールドを使っている。
ECNに対応したホストは10か01をセットして送信する。
それを弾いていると。
ということは、クライアントがECNに対応していても、ルータがECNによりマークされたパケットを
無条件に破棄したら、クライアントはそれを利用できないと。
大雑把だけど、こんな感じでしょうか。
自作ルータへの道のりは何だか遠そう。
546:login:Penguin
08/04/21 23:19:02 maU7qj53
>>545
dropするのはどうかと思うのであれば、mangleターゲットを利用して
ecnのビットのみリセットしてあげるといい。
あとはそこを通らなければならないクライアントまわりだが、
俺が知る限り今時のOSでデフォルトでECNが有効になっているものは
なかったように思う(少し前のLinuxカーネルは有効だったような気がしたが)。
547:login:Penguin
08/04/21 23:50:09 I4EnTsVG
>>546
レスありがとうございます。
当面はDROPで問題なさそうですね。
通す必要が出てきたら、レスを参考に対応してみます。
548:login:Penguin
08/04/26 14:04:11 3GK4bazF
>>544
解決方法じゃないけど
別々のルートって何ルートくらいあるのかな
デフォルトと特定ユーザだけ違うルートの2つだけだとどうだろ?
そもそもどこがネックになってるんだろうね
549:login:Penguin
08/04/26 14:23:26 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
08/04/26 14:28:42 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
08/04/26 19:02:52 Zwo/OBI9
INPUT の policy を2回記述するのは何故?
552:549
08/04/26 20:11:54 rL6Isbwd
どこかのHPに書いてあったのを自分用にゴニョゴニョしてみてるんだけど、
一回目のは、設定するとき用で、ここでDROPしちゃうと、設定中に
ループバックがDROPされちゃってXとか動かなくなるから、、、だったかな(?)
二回目のは、本番用で、先に許可したやつ以外を全部DROPするため。
(>>549のだと、192.168.1.3:80以外をDROPする)
553:login:Penguin
08/04/26 20:19:56 dggOwSe0
そういう小細工をしないで済むよう、コンソールからログインするべき。
リモートから弄ると、面倒が増す。
554:549
08/04/26 20:39:01 rL6Isbwd
>>551,553
ポリシーの記述を一回だけにしました。
>>549の一回目のポリシーを決めるところでDROPにして、二回目はコメントアウトしました。
iptables -Lすると ACCEPT all -- anywhere anywhere があります。
設定内容とiptables -Lを貼ってもらえませんか?
設定内容は日本語で概要を箇条書きみたいなでもOKなんで、よろしくお願いします。
555:login:Penguin
08/04/26 21:37:09 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
08/04/28 01:55:46 mRlZeDib
>>550
-L には -v も付けた方がいいよ。
そうすれば、
> INPUTのACCEPT all -- anywhere anywhereとだけ書かれた行が
> 全部ACCEPTしてそうで気になるんですが、大丈夫なんでしょうか?
こんな心配しなくて済む。
557:login:Penguin
08/04/28 19:12:31 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
08/04/29 03:34:54 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
08/04/29 15:36:13 lchI1NQ1
SYNFLOOD対策は?
560:544
08/05/05 14:26:52 XEf57B8a
>>548
レスサンクスです。
おっしゃる通りルートは2つです。
どこがネックになってるかはようわからんです。
iptablesでのset-markは常にしているので、2ルート使うときのみ遅くなるということは
iprouteでルート切り替えるときですかね?
561:login:Penguin
08/05/07 15:10:54 RbvyPsKi
iptables -P INPUT DROP
のログを出力したいのですが,どうすればいいですか?
お願いいたします。
562:login:Penguin
08/05/07 16:17:07 cA4OeNQ4
>>561
INPUT Chainの最後でULOGを使う
563:login:Penguin
08/05/09 04:20:19 060mTVYu
--tcp-flagsについてお聞きしたいのですが
iptables -A INPUT -p TCP -m state --state NEW --tcp-flags ! SYN SYN -j LOG
って「コネクションがNEWのtcp接続パケットでSYNじゃない場合はログとる」
でいいんですか? "!"の反転で一つしかない場合の挙動がよく分からないのです
564:login:Penguin
08/05/16 04:48:44 YqgGCCxy
iptablesってarpフレームは制御できないのか
565:login:Penguin
08/05/16 22:08:12 7B77qxJ7
>>564
そりゃ "ip" tables だし。
ARPはIPと密接な関わりがあるプロトコルだがIPとは別のプロトコル。
566:login:Penguin
08/05/24 23:13:01 pr+441iJ
nat変換する前と後のパケットを対応付けることってiptableでできるもんですかね?
567:login:Penguin
08/05/25 01:41:55 XvecGNu/
できる。ip_conntrackでぐぐるがよい。
568:login:Penguin
08/06/16 21:56:07 Sp389m79
>>565
ほぅ。
んじゃTCP/UDP/ICMPも扱えないのか?
>>564
L2からL4までがiptabelsの守備範囲だが、
今んとこL2で扱えるのはソースアドレスのみ。
そのうちもっとよくなるよって誰かが書いてたな。
569:login:Penguin
08/06/17 00:45:22 chC02xgx
>>568
TCP,UDPは使えるだろ。
ICMPは一部変なのが混ざっていた様な気がする。
(RFCおさらいしてみるわ)
570:login:Penguin
08/06/19 23:08:34 ++GPZYJb
ICMPも結局IPヘッダの中ではTCP/UDPと同じレベルで扱われてるからなぁ
571:login:Penguin
08/06/25 15:32:08 xzwraCds
デスクトップ向けのiptalbes設定例ってないかな?
572:login:Penguin
08/06/28 00:48:27 +GJNGlhf
>>571
LAN内だとそもそも不要じゃないか?
WANに直結してるならサーバ向けの設定と同じだし。
573:login:Penguin
08/06/28 02:26:36 6HILxgYo
>>572
やっぱりそう?
何かあった時の為にルーターのパケットフィルタと
クライアントのiptablesで二重にしようかと思ったのだけど
やるなら >>173 のようなPFW的なルールかなあ
574:login:Penguin
08/07/01 10:33:09 5kCyiBxo
今こんなネットワークを組んでるんですが、
このままだとWAN1側から鯖にアクセスができないんですが、
これってiptablesで経路制御したりすると見えるようになるんでしょうか。
ルーターは市販のBBルーターで、当然TCP80へのアクセスはアドレス変換かけてます。
WAN2を切断すれば問題なく見えます。
WAN1 WAN2
┌─┴─┐ ┌┴┐
│ROUTER├(LAN)┤鯖│
└──┘ └─┘
575:login:Penguin
08/07/01 22:03:51 BcVQ+4QT
>>574
"advanced routing"
576:574
08/07/02 12:32:27 MvQGQFPV
>>575
yum updateしたらNICがうごかなくなって試せてないですが、
なんとかできそうです。
ありがとうございます。
577:login:Penguin
08/07/13 06:14:03 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
08/07/13 16:32:09 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
08/07/13 21:50:16 hmSEn1ns
>>578
ありがとうございます。大変参考になりました。
580:下っ端10年
08/07/15 00:58:58 ws2H6nIo
フラグメントの処理、自信のある方いますか?
iptables -A OUTPUT -f -d 192.168.1.1 -j DROP
こんな霊があったんですけど理解不足で
必要なのはFORWARD、INPUT、じゃないかと思いますが、
とりあえずこれ入れとけ。間違いない!とか
ここ見て出直して恋とか♪お願いします
581:login:Penguin
08/07/15 01:18:46 L/KarHmr
>>580
マニュアルくらい読め。 それと、そのマシンのIP設定くらい書け。
意味:
「断片化されたパケットの宛先が192.168.1.1ならば破棄する」
通常のパターンだと、192.168.1.1はルータだな。
要するに、外部に送信される妖しいパケットを叩き落とす設定。
582:下っ端15年
08/07/15 14:37:00 ws2H6nIo
ありがとうございます。
心配事なんですがセッションが盗まれてその中に攻撃パケットを流して
ブラウザーの脆弱性が攻撃されたりすることってありますか
盗まれなくてもIPが判っていたら紛れ込ますとか
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
上記の設定を加える?以外に安心策とかあればお願いします。
iptables -P INPUT DROP
それともこれだけで十分なのですか
583:login:Penguin
08/07/15 16:26:44 0LMTpKxH
>>582
あるかどうかという点でいえば「ある」。
ただそれを心配するのならインターネットに接続せず切り離しておけば良かろう。
584:login:Penguin
08/07/15 22:54:06 Gfj6ql9u
>>582
セキュリティに「これだけで十分」はないよ。
-j ACCEPTなルールは(単独で見れば)許可の追加なんだから安心材料にはならない。
闇雲に心配するより先にマニュアル嫁。
585:見習い18年
08/07/16 03:38:44 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:見習い卒業
08/07/16 03:44:43 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
08/07/16 10:29:06 AB1ESdB4
ダメダメです。
何がしたいのかさっぱりです。
グローバルIPを持ったインターネット直結のクライアントPCなのか、プライベートIPを持った
LAN内クライアントPCなのかすら不明。
前者ならプライベートアドレス絡みの設定は不要だし、後者ならLAN内の他のクライアントと
通信不能です。
それから、確立済みセッションのアクセスを許可する設定をいれるなら、その他の個別の外向き
の穴あけは一切不要です。
588:一から出直し
08/07/16 18:38:36 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
08/07/16 20:00:05 eQpwIRIV
>>588
何をしたいのかはっきりすれ。
590:login:Penguin
08/07/16 20:05:36 kFZg22Oc
OUTPUTは基本ACCEPTだと何か困ります?まぁ、人それぞれですが。
ルールですが、俺はなるべくシンプルに書くようにしてます。
>PS.皆さんはNetBios?だけ防いでるみたいなんですけど通常はそれで大丈夫なんでしょうか?
とりあえずこいつらがゴミパケだな。
135
137-139
445
1900
5353
591:login:Penguin
08/07/16 20:30:48 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
08/07/16 21:52:12 5/9UA2S9
うほっ、いい流れ
俺もクライアント用のルールを勉強させてくれ
593:一から出直し
08/07/17 00:11:34 nfCUoiJG
590さんありがとございます
591さんありがとございます
592さん一緒ににがんばりましょう
どうしてOUTPUT DORPじゃなければダメなのかと言いますと
もれてはイケナイ情報を入れておきたいからなんです
NoScriptを動かしていても何かの拍子で悪い事をする物が
入ってしまうことがあると思うのです
鍵を閉めずに泥棒に入られても諦めがつかない
閉めておけば自分で自分を慰めれる、、、
そんなところでしょうか。
594:login:Penguin
08/07/17 00:16:19 f01xAF4u
ふつーのtcp/ipアプリは1024以上の任意のポート(OSやIPスタックにも依存するが)を使って通信を始める
どのポートをACCEPTするかいつ誰が決めるの?
595:login:Penguin
08/07/17 00:16:24 rdjy5BJ1
>>593
じゃあ、真っ先にHTTPを閉じるべき。
596:login:Penguin
08/07/17 01:06:04 pkHmyVt0
>>593
|もれてはイケナイ情報を入れておきたい
ネットワークに接続されたマシンに、安全は無い。
そのマシンからLANカードを抜け。 物理的に遮断するのが最も安全。
究極は「紙に手書きする」。 この紙を銀行の貸金庫に保管しろ。(自宅なら耐火金庫。これで火事に遭っても情報は守られる。)
次点がスタンドアロンマシンに記録する方法。 ノート機に入力し、鍵のかかる机にでも入れるといい。
597:一から出直し
08/07/17 01:34:32 nfCUoiJG
595さん
596さん
お約束にお約束を重ねていただいてありがとうございました
僕は知っているこれを乗り越えて初めて答えがもらえることを。
594さんへ
port80へ向かうパケットを許すみたいな記述が出来ると思っています。
何しろ取り組みだしてまだ3日ぐらいなので自信はありませんが
じっくり取り組めるのは今週限り、何とかそれまでにその辺の答えに
たどり着きたいと思っています
598:login:Penguin
08/07/17 05:37:30 WKroJssy
面倒だからiptables使ってない。
何でも来い。
599:login:Penguin
08/07/17 06:14:15 RsBioRyn
zombieになってなきゃいいが
600:login:Penguin
08/07/17 07:55:29 w9Uw0jKl
>>594
それはaccept(listen)する側ではなくてconnectする側だと思うが。
一般的でないアプリケーションとしてaccept(listen)する場合は、
あらかじめ取り決めをしておくだけ。
601:一から出直し
08/07/17 09:15:29 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
08/07/17 10:10:43 EloNkrJv
Ubuntu ならそれでもいいけど、Debian ではきびしい
603:login:Penguin
08/07/17 10:56:20 rdjy5BJ1
>>601
どうしてもOUTPUTを潰したいならそうしても構わないけれど、いくら窓や裏口を
戸締りしたところで、良く見える正面玄関(TCP80番ポート)を開けっ放しにしてたら
台無しだよ。
で、80番での出口も閉じるのが現実的なコンピュータならそれでもいいだろうけれど、
そういう特殊用途なのかい?
604:login:Penguin
08/07/17 13:09:29 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
08/07/17 13:14:40 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
08/07/17 19:52:59 V9y8Yy3u
>>602
ubuntuもdebianも一緒でしょ
デフォはiatables空だし
607:login:Penguin
08/07/17 20:01:22 btY7UUii
クライアント用途なら >>173 のようなパーソナルファイアウォール的な
--cmd-owner でやるのが適しているんじゃないの?
608:login:Penguin
08/07/17 22:02:01 nfCUoiJG
602
すいません。厳しいの意味がわかりません。
603
現在このマシンでサーバーを立てる予定はありません。
そうゆう意味でいいですか?
つまり想定しているのはクライアント専用です。
そこからLinuxの世界に入れてもらおうと思っています。
609:login:Penguin
08/07/17 22:45:05 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:一から出直し
08/07/17 23:10:07 nfCUoiJG
607
そうなんですよ。そこもチェックしてたんですけど
効果的な使い道が浮かばなくて、、とほほです。
609
ありがとうございます。
勉強の雛形にさせてもらいます
611:login:Penguin
08/07/23 01:53:42 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
08/07/24 01:01:09 ht7CyEPW
>>611
せっかくだからiptables -L -vしたら
613:login:Penguin
08/07/24 01:06:59 FHo+/IiI
ウチの環境(日本のみ許可、携帯のみ許可、etc...)で
そんなことしたら表示が恐ろしいことに・・・
-n を付けようぜ!
614:611
08/07/25 02:20:35 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
08/07/31 17:36:39 XyjnsPYp
Debianでどのように設定していますか
if-pre-upのどこにリンク張っていますか
pre-upに置いたらまずいですか
616:login:Penguin
08/07/31 21:30:17 zdX0l+Wk
/etc/network/if-pre-up.d/にスクリプト
なんの話だ
別に
617:login:Penguin
08/08/05 21:25:25 Z3eVziP2
forwardチェインでログとってもMACアドレス記録されるようにしてほすぃ
618:login:Penguin
08/08/11 23:54:22 TGzzuzuv
OSはCentOS5です
ルータでは特定のIPからのポートスキャンをはじけないので、
IPテーブルの設定ではじきたいのですが、具体的なコマンドを教えてください
ちなみに、まちBBSからのポートスキャンをはじかないと書き込みができないので、
まちBBSからのポートスキャンのみはじきたいです
619:login:Penguin
08/08/12 00:50:06 Bc57GTps
サーバ管理してるなら、それくらいは自力で頑張ってみよう
620:login:Penguin
08/08/14 22:25:32 84iyOxyD
>>23
>>24
24氏のアドバイスで、ppp0の全てのパケットは、192.168.0.10へ
DNAT(Destination NAT)されるようになったけど、それでよかった
んだよね。
>>31
で、31氏が書いているのは、iptablesが動いているマシンに
httpdや、smtp,pop3, DNSなどのサービスが動いてたら、
それらを除外せにゃならんよねという、話だと理解しました。
で、最後にDNATがチェインの最後で実行されればいいんですよね
621:login:Penguin
08/08/15 03:07:08 AyoNWC/X
↑2年半前にレスってどうよ?w
622:login:Penguin
08/08/15 07:47:13 g1wlhWWM
専ブラ使っているんでね、このスレ見つけて
最初から読んで、resってみたんだが、ダメかね。
というか、このスレ立ってから、そんなに経つのか
よく落ちないな。
623:login:Penguin
08/08/15 07:53:05 3444HIb9
UNIX板のipfilterのスレなんて5年半で200レスくらい……
624:login:Penguin
08/08/31 23:21:06 n+n8JTmC
国内プロキシ経由の海外からのアクセスは防ぎようはないのかな
625:login:Penguin
08/09/01 00:27:34 fjO0v2rO
国内プロキシを弾くしかないね。
逆に、ホワイトリストを作成し、登録したIP以外を全部弾いた方が楽だと思う。
626:login:Penguin
08/09/02 03:53:13 U/dhSPhZ
うん。それもアリなんだね
だけどサーバー目的じゃないんだ
攻撃者特定の為に国内限定にしようと思ったんだけど
踏み台からの攻撃もあるから努力のしようがないことに気がついた
627:login:Penguin
08/09/02 04:05:58 CyZGqQKe
webサーバの保護の話でないなら別に放っておけばいんでないの
628:login:Penguin
08/09/13 13:23:36 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
08/09/13 13:24:55 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
08/09/13 13:43:36 12jhi4RP
なんか一見合ってそうに見えるけどな……
カーネルはデフォルトのもの?エラーとか出ないで
スクリプト実行できてるよね。
631:login:Penguin
08/09/13 15:13:23 XkB/m5n5
>>629
まずはチェインがどの順序で解釈されるものなのか知っておいたほうがいい。
POSTROUTINGはFORWARDやOUTPUTよりも後で実行されるので、
そこでMASQUERADEするのであればクライアントIPなどの判断はその後で
やらなきゃダメ。
632:628
08/09/13 15:27:44 W75dUOM6
レス、ありがとうございます。
>>630
カーネルは、Ubuntu 8.04 サーバー版で、特に手を加えていません。USBメモリに入れているくらいです。
スクリプトもエラーは出ていません。
>>631
なるほど、解釈される順番には気がつきませんでした。
早速試してみます!
633:login:Penguin
08/09/13 15:33:01 oHtnNr1m
クライアントから外部に向かうパケットがinput段階で叩き落とされないか?
634:login:Penguin
08/09/13 18:26:06 12jhi4RP
ホントだ。-d が余計だな。
635:628
08/09/13 21:32:24 XplBrS+o
返信遅れて申し訳ありません。
iptableと格闘していましたが、一向につながる気配がありません。
レスを頂いた件を、すべて試してみたり、
> Linuxで作るファイアウォール[NAT設定編]
> URLリンク(www.atmarkit.co.jp)
に、乗っているサンプルを改造したりしていましたが
成果はさっぱりです。
636:login:Penguin
08/09/14 02:13:23 ko4Rvcco
>> iptables -A FORWARD -i eth1 -o ppp0 -s $client_ip -j ACCEPT
FORWARDチェインなんでエラーは出ないんだが、
-i と-o はどちらか一方でないと成立しないような気がする
637:login:Penguin
08/09/14 02:14:57 uvFDe4SI
>>635
iptables -nvL と iptables -nvL -t nat、各種ログはチェックした?
638:login:Penguin
08/09/14 09:28:28 FG5fpXZJ
-s -d とか -i -o あたりが自分の使ってるルールに比べると
ちと厳密だね。その辺外して後から変えていったら。
639:login:Penguin
08/09/14 11:34:18 aDiVPCKf
URLリンク(fedorasrv.com)
のやり方で海外からのアクセスを弾いてるのですが
読めば読むほどよくわからなくなってきたので
質問させていただきます。
cidr.txt ・・・ cidr.txt.1 ・・・ cidr.txt.100 ・・・ cidr.txt.1056
と同じようなファイルがどんどん増えていきます(汗
消しても消しても増えるのですが新規にファイルを作成するのではなく
cidr.txt に上書きするようにすることはできないのでしょうか??
あと、(2)IPアドレスリスト更新チェック に
毎日自動でIPアドレスリストの更新有無をチェック
と書いてますが何時に更新するか設定はできないのでしょうか?
640:login:Penguin
08/09/14 11:42:51 WXeKp2xK
>>639
上書き
wgetを-Oで保存ファイル名指定
更新時刻
crontabで設定
641:628
08/09/14 16:53:01 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
642:login:Penguin
08/09/14 17:40:13 kd4iGQPt
全部ACCEPTにしてもつながらないとかないのかね
643:login:Penguin
08/09/14 17:57:54 RVgh8DFt
>>642
いや、さすがに、それは無いでしょ?
先にルーティングできることを確認しなかったら何が悪いか判らないじゃない?
644:628
08/09/14 19:51:28 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のままなのですが、これが正常なのでしょうか?
645:login:Penguin
08/09/14 20:27:29 RVgh8DFt
>>644
> >>643
> そうですね。何がわからないのか分からない状態です。
まず、iptableを切って、クライアントから外界が見れることを確認してください。
その状態から、徐々に絞っていく方が楽でしょう。(なお、クライアントの防備は厚めに。)
646:628
08/09/15 22:06:16 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
に、したくらいです。
# ちら裏終わり
647:login:Penguin
08/09/15 23:01:45 NBhfMiPw
>>646
お疲れさん(笑
648:login:Penguin
08/09/26 20:02:35 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
649:login:Penguin
08/09/26 21:47:23 G3dQVRC8
ISPからくるIGMPのマルチキャストのパケットらしい。
中身まで見ると、何かわかるかも。
URLリンク(www.dslreports.com)
650:login:Penguin
08/09/30 09:25:20 6LAw1Ent
kernel2.4系で使っていたルールをkernel2.6系に使ったら
svnのコミット出来なくなったり、一部2.4の時と動作が違うのですがどの辺が変わってるんでしょうか?
651:login:Penguin
08/10/02 15:52:16 Cu06Z5f2
WebページのCGIからソケット開いて~ ってやったものの応答をうけとるには
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ではダメなようなのですが どうしたら受け取れますかね?