1 :
login:Penguin :
04/03/15 00:20 ID:3CbXi1m7
2 :
1 :04/03/15 00:20 ID:3CbXi1m7
>>1 おつかれマンコ!
ここには初めて来たがUNIX板で見た例では2ちゃんからport80とか、串チェックされる所を落す設定にしてたり あったなぁうう寒い寒い
5 :
login:Penguin :04/03/15 01:21 ID:5uLzuv2d
次期バージョンは是非 対象IPアドレス範囲ををサブネットマスクではなく 218.52.10.0-218.72.255.255 というような感じで指定できるようにして欲しい。
>>8 サブネットマスクならビット演算で済ませられるけど、
それだと、かなり計算量が増えちゃわない?
それ程でもないのかな。
10 :
login:Penguin :04/03/18 00:03 ID:YvzwtEQR
>>8 マスク長でちゃんと管理できるネットワーク設計しる!
Webminから設定するのはお勧めできない方法?
>>10 外部のアドレスについてなんだけど。
アタックしてきたIPのISPの範囲を遮断したりとかね。
大体の場合、マスクでできるけど、
Firewall-1(商用)だとIPの範囲できるから楽。
>>13 > 大体の場合、マスクでできるけど、
大体の場合って。。。
指定出来ないネットワークなんぞ存在し得ない。
要はめんどうかどうかだけの違いだろが。
15 :
login:Penguin :04/03/20 10:30 ID:zPSa5G3E
>>14 じゃあ、
>>8 のような範囲を
一発でサブネットで表現してみほ?
範囲を展開できる設定ツールがあれば良いのだな。
>>15 文盲?
繰り返すが、「要はめんどうかどうかだけの違いだろが。」と書いたはず。
可能、不可能の話になってるのがおかしいと言ってるんだが?
そういうの変換するCGIでもあったら便利かも
>>16 、
>>18 出来るけど、めんどくさいんだから、普通はそういう流れになるよな。
実際、PHPのマニュアルにはそういうサンプルスクリプトがある。
http://php.benscom.com/manual/ja/ref.network.php オレは基本的に泥縄式で管理してるから、今までそれほど困ったことがないまま
放置してきたけど、これ見たときはツール作ろうかと思った覚えがある。
で、絡んできた馬鹿が言ってる、
>>8 のネットワーク範囲を入れると、以下の出力になる。
218.52.10.0/23
218.52.12.0/22
218.52.16.0/20
218.52.32.0/19
218.52.64.0/18
218.52.128.0/17
218.53.0.0/16
218.54.0.0/15
218.56.0.0/13
218.64.0.0/13
218.72.0.0/16
>>18 CPANから持ってくる必要があるけど、Net::CIDRを使うという手もある
> perl -e 'use Net::CIDR;print join("\n",Net::CIDR::range2cidr("192.168.10.100-192.168.10.200")) . "\n";'
192.168.10.100/30
192.168.10.104/29
192.168.10.112/28
192.168.10.128/26
192.168.10.192/29
192.168.10.200/32
>>19 文盲か?馬鹿か?(w
組み合わせでなんて一言も言ってませんが?
「1発で表現」って言ってますが?
組み合わせなら、/32で一個、一個書いていっても
いいじゃねえか。(w
>>13 も大体の場合、1つのサブネットマスクでできる
っていう意味だろ?読み取ってやれよ。
あと、それもうちょっと短くなるぞ
218.52.10.0/12
218.68.10.0/14
218.72.10.0/17
218.72.138.0/18
218.72.202.0/19
218.72.234.0/20
218.72.250.0/22
218.72.254.0/23
言葉の端々を気にするヤツっぽいからな s/大体の場合、1つのサブネットマスクでできる /大体のISP場合、1つのサブネットマスクでできる
>>22 > 「1発で表現」って言ってますが?
「一発」なんていう曖昧な言葉は後付でどうとでも解釈できるな。
> あと、それもうちょっと短くなるぞ
コード書いた本人に言えよ低脳。
25 :
login:Penguin :04/03/20 15:12 ID:zPSa5G3E
26 :
login:Penguin :04/03/20 15:19 ID:YAu3eqMS
>>23 > 言葉の端々を気にするヤツっぽいからな
言葉の端々じゃねーだろ。
1.大体の場合、マスクでできるけど、
2.大体の場合、1つのサブネットマスクでできる
3.大体のISP場合、1つのサブネットマスクでできる
これはそれぞれ「全く」意味が違う。
同じだと思っているのは、まるで知識がない馬鹿の証拠。
>>25 意味不明。
>>19 読んで意味が理解できるなら、本人ってのが誰なのかわかるはず。
全体に国語能力が欠落してることがよくわかるな。
殺伐としてて(・∀・)イイ!
いいかげん放置をおぼえてくれ。
29 :
login:Penguin :04/03/20 16:12 ID:zPSa5G3E
>>26 ハイハイ、
>>22 のレスにちゃち入れられた
のがよっぽど気にくわなかったんだろうね。
だから、こんどはお得意の言葉の内容で
煽ってるのですか?
スゴイのは分かったから言語板逝ってこい(w
ちなみにオレ!=
>>13 だけど。
まあいいや、馬鹿は放っておいて
(って粘着だからまた何か言ってくるだろうけど)
11111111 /8,/16,/24,/32 255 1
11111110 /7,/15,/23,/31 254 2
11111100 /6,/14,/22,/30 252 4
11111000 /5,/13,/21,/29 248 8
11110000 /4,/12,/20,/28 240 16
11100000 /3,/11,/19,/27 224 32
11000000 /2,/10,/18,/26 192 64
10000000 /1,/9,/17,/25 128 128
00000000 /0,/8,/16,/24 0 256
な表をオレは保持(やtextファイルで)して使ってるよ。
(慣れてくると見なくても分かってくる)
上のIP範囲の割り出しもこれを使った
BINは計算用に書いてるだけ。
メモを忘れたり、なくしたりしたら再計算して作るだけ。
ツール(プログラム)はその場にあれば便利だけどね。
ただ、自力で解けるようになってからの方が
ツールが使用できない場合に対処できると思う。
ムダな盛り上がりはいらん。
32 :
login:Penguin :04/03/20 16:18 ID:YAu3eqMS
>>29 > ハイハイ、
>>22 のレスにちゃち入れられた
オレは
>>22 を書いた覚えはないが?
最低限の言語能力は必要だぞ。
> だから、こんどはお得意の言葉の内容で
> 煽ってるのですか?
お得意つか、意味不明なカキコにレスつけるのは不可能だね。
指摘されても開き直って逃げるだけだし。
> まあいいや、馬鹿は放っておいて
> (って粘着だからまた何か言ってくるだろうけど)
自覚ないのかな?
粘着は喪前な。
誰も聞いてないのに、いつまで一人で語ってんの?
> な表をオレは保持(やtextファイルで)して使ってるよ。
> (慣れてくると見なくても分かってくる)
表なんかいらないし。。。
初めからオレにはツールの必要性がないって書いたはず。
欲しいと思う人はいるだろうから、サンプルのコードを上げただけで、真性の気違いに
すげー勢いで粘着されてるがなw
まとめて失せろ
もう他に行き場がない連中なんだろ。 前スレの終わりごろからそこはかとなく殺伐としてるな
38 :
37 :04/03/20 17:17 ID:zPSa5G3E
http鯖からダウンロードして、動きマスタ。
最初LD_LIBRARY_PATHの環境変数を
セットしなかったので動かなかったけど、
make時にちゃんとセットしろ
って書いてありましたね。
良く読まないといけないですね。
良いツール教えて頂いてありがとうございます。
>>35 オレは他にも逝くとこあるけど...
apt-get install aggregate
40 :
37 :04/03/21 04:08 ID:BsdRVt58
>>39 RedHat7.2(カーネル2.4.2update)だから
ソースからインスコしたよ。
調べてみると、RedHatでもapt-get
使えるようになったんだね、試してみよう。
iptables使って韓国鯖をカットしたら とある大企業のサイトが見えなくなってしまった(´・ω・`) 攻撃もやんだことなのでそろそろ開けて見るかね〜♪
>>41 >iptables使って韓国鯖をカットしたら
>とある大企業のサイトが見えなくなってしまった(´・ω・`)
会社のFWでなく、個人用のFWなら
-P OUTPUT ACCEPTで
開けてもいいんでないの?
↑ カンコクIPを遮断したまま ということでね。
iptablesでftpの設定ってどうしてる? ftpのふぁいあうぉーる設定がよくわからんです。
45 :
login:Penguin :04/04/01 09:56 ID:oQYj4eJA
>>44 ftpは21番と23番のポートを使うから
オレは外部からは特定アドレスのみ
それらのポート#に対しINPUTを許可している。
46 :
login:Penguin :04/04/01 09:57 ID:oQYj4eJA
スマン、#21と#22だった
22はSSH
48 :
44 :04/04/01 15:01 ID:sVqcpyfb
>>45-47 21が制御ポートで20がデータポートですね。Thanx
いや、どうもnetstatで見るとポート番号53105とかで接続されるので(PASSIVでも似たような感じ)
iptablesでの設定をどうしたらいいのかなと納屋んでいたんです。
そうだった...またまたゴミン 22はsshだったね iptablesのセットアップスクリプトみて 21(ftp)の設定の下の行の設定(ssh)をつい見て書いてしまった。 ftpで使用するのは20(Activeモードのデータ転送使用) と21だね うちはpassiveしか使わない(使わせない)から ftpについては21#だけ開けている。
50 :
49 :04/04/01 15:16 ID:oQYj4eJA
あれ?嘘書いてしまった。 データ転送時、passiveはクライアントから サーバ上の不定ポートに接続だから 使っていない。 activeで接続させるだね。 何にしろ、うちはftpについては #21しか開けてないよ。
書き込みミスが多いやつは、 ファイアウォールの穴も多い気がする。
でもさ ケツの穴ガバガバも嫌だよな、実際
54 :
login:Penguin :04/04/02 17:10 ID:tfxxDXYT
pkts bytes target prot opt in out source destination 0 0 ACCEPT all lo any anywhere anywhere 48 4528 ACCEPT all eth0 any anywhere anywhere 0 0 ACCEPT ipv6-icmp sit1 any anywhere anywhere 0 0 ACCEPT tcp sit1 any anywhere anywhere tcp flags:!SYN,RST,ACK/SYN #ip6tables -L -v の結果はこんな感じなんですが、何か問題点はありますか?
55 :
login:Penguin :04/04/02 17:12 ID:tfxxDXYT
補足ですが、ポリシーはDROPで、freenet6へ接続したトンネルインターフェイスが sit1という構成です。eth0はローカルネットワークに対するインターフェイス、です。
56 :
login:Penguin :04/04/02 17:30 ID:tfxxDXYT
あと、ルールが種類に応じて別々のテーブルに格納されるのはどうして なんでしょうか?filter,nat,mangleと分けられていることの意味がよく わかりません。
>>53 ケツの穴が広がれば広がるほど尊敬されるコミュニティも存在するけどな。
中の国からFTPの猛攻撃を喰らったよ〜〜・゚・(ノД`)・゚・ 中国全土のIPをしめだしたるぅうぅぅぅ〜〜
三国からのアクセスは遮断しましょう
つーか、FTPのポートは特定IP以外 遮断した方がいいんじゃない?
61 :
login:Penguin :04/04/05 19:59 ID:frO3+RYC
出張族なので…閉めるに閉められないす(泣 DAVに切り替えるか SSH/SAMBAか(w とりあえず〜どしよ(w
>>61 モバイルでも固定IPのプロバイダを使った方が良い。
俺はモバイラーではないが、やるならそうする。
まさか、そのマシンでメール鯖(SMTP)運用は今の状態でやってないよね...
>>62 全てを止めてあります。
つーか4月から出張減った〜ヽ(´ー`)ノ
P2鯖にしよか(w
>>63 全てを止めているって、
いままで、どのIPアドレスからでも
そのマシンのSMTP鯖でメール送信
可能にしてたの?
65 :
login:Penguin :04/04/08 02:03 ID:RlJnPyz9
>>64 外からはDHCPで接続しているので、どんなIPからでも
メール送信を可能にしています。
しかし中国のIPもカットしたし、これでもう万全です。
また鯖を開始しています。
万全なのか?
>>66 俺は
>>65 ではないが、今時 POP before SMTP や SMTP AUTH くらい使うだろ。
何をそんなに心配してるんだ?
WINDOWS版が欲しいんだけど。
70 :
login:Penguin :04/04/18 19:54 ID:CSxDeW8u
iptables v1.2.7で iptables -A INPUT -p tcp -m string --string "default.ida" -j DROP こんなことしてたんですが、 1.2.8にしたら、 iptables: match `string' v1.2.7a (I'm v1.2.8). とでます。 1.2.8用の書式とかあるんでしょうか? kernelの再構築で String match support は、m にしています。
逝こうしてきました。Fedoraです。 /etc/sysconfig/iptablesを見ると、 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT となっていますが、これはPINGを受け付けているのですか。 保かにも意味不明なので、よろしければどうか、一行づつ解説をいただけろ。 # Firewall configuration written by redhat-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
72 :
70 :04/04/18 20:20 ID:CSxDeW8u
>70 できますた
>>71 >/etc/sysconfig/iptablesを見ると、
>-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
>となっていますが、これはPINGを受け付けているのですか。
受け付けている。
>保かにも意味不明なので、よろしければどうか、一行づつ解説をいただけろ。
>>2 とかを見て勉強したほうが自分のためです。
知っていればいろいろ役に立つし。
まぁ以下をざっとみたところ、
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ここまでは全パケットを受け付けている。
でも、全てのポリシー(INPUT,FORWARD,OUTPUT)がACCEPTなので以上の設定はなんの意味もないことがわかる。
以下の設定は、
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
ホストへのコネクションが禁止された場合、エラーパケットを送出する
いじょ
74 :
73 :04/04/19 13:17 ID:e2vh2MDC
ども。ping受け付けているのかよガクガクブルブル まぁルータで受け付けないだろうけど個人用のは信用できん。 redhat-config-secutylevelでちゃんと弄ったつもりだったけどな。
pingを拒否するは厨房
厨房でいいよ
ping受け付けないと監視できないじゃん
監視されたくないんだろう。つーか監視さえされないんだろう
なんにせよ、スペルミスをするやつはダメだ。
発音ってァィピーテイボーヅであってるよね? アクセントはボーの所が一番盛り上がる感じだね
アイピィテーブルズ、じゃ駄目なんスか?
83 :
login:Penguin :04/04/28 18:57 ID:1I9Qcd4z
iptablesのフィルタでDROPされた情報をログに吐き出す設定ってどーやるのでしょうか? よろしくお願いいたします。
>>83 同じルール書いて設定するんじゃだめなのかな?
>>83 ログをとりたい条件で"-j LOG"をつけるだけ。
例えば拒否しているtelnetプロトコルを受信した場合にログをとるならば
iptables -j LOG -A INPUT -p tcp --dport 23 --syn
iptables -j DROP -A INPUT -p tcp --dport 23 --syn
とする。
んでmangleってどういうときに使えばいいの?
qosとかそんなのかな? よくワカラン
>>86 ルーティング依存パケット、Type Of Service、Time To Live等で使用する。
Linuxホスト(debian/unstable)のVMwareで、ゲストのWin2kからホストのIPマスカレードを通してWAN側に接続出来ません ホスト上でのデバイスは以下のようで # ifconfig eth0 Link encap:Ethernet HWaddr 00:02:B3:96:6F:E1 inet addr:123.456.789.123 Bcast:123.456.789.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71559 errors:0 dropped:0 overruns:0 frame:0 TX packets:1079 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5901732 (5.6 MiB) TX bytes:138066 (134.8 KiB) Interrupt:11 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:80 errors:0 dropped:0 overruns:0 frame:0 TX packets:80 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5384 (5.2 KiB) TX bytes:5384 (5.2 KiB) vmnet1 Link encap:Ethernet HWaddr 00:50:56:C0:00:01 inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1291 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
90 :
89 :04/05/02 02:50 ID:WlOUB6sj
以下を含むスクリプトでマスカレードをしています iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward ルーティングテーブルは以下の通りです # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.255.0 U 0 0 0 vmnet1 localnet * 255.255.255.0 U 0 0 0 eth0 default gw 0.0.0.0 UG 0 0 0 eth0 ゲスト側では IPアドレス 192.168.0.2 ネットマスク 255.255.255.0 デフォルトゲートウェイ 192.168.0.1 DNSサーバー ホストで指定しているDNSと同じIP という設定です ゲスト側から192.168.0.1へのpingが通らず、123.456.789.123へのpingは通るという状況になっています もちろんwww.yahoo.co.jpの様な名前でも不可です 何が良くないのかも見当がつかないのですが、問題点がある所だけでも指摘してもらえないでしょうか
91 :
login:Penguin :04/05/02 03:33 ID:7IJaITfB
以下のような構成でAからCへ接続する場合について。 A --- インターネット --- B --- C Bでは「SSHは全てCに転送」という設定をして、Cで相手(A)のMACアドレスに応 じてDROP/ACCEPTの設定をしたいのですが、Cに届くMACアドレスがBのものになっ てしまっているようです。 CにAのMACアドレスが届くようにするにはどうすればよいのでしょう?
>>90 vmwareのネットワークの設定はどうなってんのよ。
bridge? nat? host-only? custum?
>>91 あなたはethernetっていうか
ネットワークの勉強をもっとしなさいな
AのMACアドレスがBに届くわけないでしょ
あ、一般的にね。
95 :
89 :04/05/02 03:59 ID:WlOUB6sj
>>92 host-onlyです
natとどっちがいいのかよくわからなかったのでこっちにしたんですが…
>>95 host-onlyって勝手にネットワークアドレス変えられたっけ。
そのアドレスは指定されたアドレス?
いや、確信はないんだけどね。昔の知識のままだけど2.xのvmwareなら勝手に変えられなかったような。
いまは違うのかもしれない。
確かhost-onlyはhost-onlyのアダプタ側があるアドレスに設定されて
そのアドレスでdhcpdが稼働しててゲスト側ではそのdhcpを受けるっていう使いかたを主にするものじゃなかったっけ?dhcpじゃなくてもいいけど。
IP自由に振りたいんならbridged使った方が便利じゃ?
一応俺も明日試して見るけど。
っていうか良く見たらルーティングテーブルおかしいな。 eth0がないじゃん。 二つのインターフェイスに同じネットワークアドレスは普通振れないから、 vmnetの方のネットワークアドレスを変えて見たら?
あと、インターネットの出口はどこ? セグメント切ったらホストと通信できるようにはなっても ルーティングしないとそのままじゃ外には出られなくなるかもね。 bridgeが使えるんだったらそっち使った方が楽かもよ。 ホストと同じネットアドレスつかえるから。 別にnatでもいいけど
101 :
99 :04/05/03 05:09 ID:21gBV3qW
>>100 スマソ。間違った。
インターネットのとこルータと思いこんでた。
102 :
login:Penguin :04/05/03 18:05 ID:OzzLAgmY
ローカルからだけ許可させようと以下のようにしているのですがもっとスマートな 書き方はありますか? (プライベートアドレスで22と80だけ許可したい) iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/255.255.0.0 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/255.0.0.0 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s 172.16.0.0/255.240.0.0 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -s 192.168.0.0/255.255.0.0 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -s 10.0.0.0/255.0.0.0 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -s 172.16.0.0/255.240.0.0 -j ACCEPT iptables -P INPUT DROP
PRIVATEチェインを作るとか
>>102 くらいなら -m multiport --dports 22,80 でどお?
おいおい、やっぱ俺がいねーとダメなのか
>>82 ネイティブだとティブォゥーってなるじゃん
テーブルズだとまんま棒読みだよね
106 :
login:Penguin :04/05/13 19:13 ID:3vpc8Fd8
おいおい、おまえらーあれか? やっぱ一回ずびっしっと設定決まっちまうと 追加する事はほとんど無いからダメなんか?
>>107 >おいおい、おまえらーあれか?
>やっぱ一回ずびっしっと設定決まっちまうと
>追加する事はほとんど無いからダメなんか?
yup.
っていうか普通はそうではないか?
ログ取ったりして、ニヤニヤしないのかって言いたいんだろう。
ポートフォワードとかでルータの中にあるサーバがあります。 プログラムの更新とかはきちんと行っており、 ルータの内側ということで妙に安心しているのですが、 とりあえずiptablesでは何にも設定していません。 最低限やっておいた方がいい設定って何かありますか? DoS攻撃防止とかですかね?
>>111 >とりあえずiptablesでは何にも設定していません。
(・д・)イクナイ!!
113 :
111 :04/05/26 20:15 ID:K6Y4BSb0
>>112 ( ゚Д゚) エ- ヤヴァイ?
どなたか、これやっとけな、iptablesあれば教えてください。
rkhunter入れて 内から外への通信制御すりゃいいんでないの
115 :
login:Penguin :04/06/01 22:18 ID:QEWfKiot
すみません、質問です。
Internet ----------- 外部IP( 202.xxx.xxx.1 ) eth0 [ Gatewayマシン ] eth1 内部IP( 192.168.0.254 ) ------------- 内部PC ( 192.168.0.1 )
こんな構成で、Linuxマシンにゲートウェイやらせています。
httpサーバを動かしているのが192.168.0.1のマシンなので、iptablesのDNATを利用( DNAT --to-destination 192.168.0.1:80 )しています。
ここで質問なのですが、内部ネットワークのPCにhttpサーバをやらせるのではなく、外部のPCにサーバをやらせたい場合は
同じようにDNATでパケットの行き先を変更することができるのでしょうか・・・?
例えば、httpサーバのIPが202.xxx.xxx.2 だとしたら、
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 202.xxx.xxx.2:80
ってな具合です。 実際にやってみたのですが、ゲートウェイマシンの80番を叩いてみても応答がありません。
期待しているのは
http://202.xxx.xxx.1/ とした場合に、 202.xxx.xxx.2 のマシンの80番が見えるといいのですが。
すまんで済めば警察は要らない
117 :
login:Penguin :04/06/05 00:34 ID:PNhNkqY+
>>117 EXTIFがWAN側だよね。"-s $INTNET"を外してみな。
あと、まさかと思うがWAN側って本当にInternet上でテストしてないよね。
テストはLocalな環境だろ?
119 :
login:Penguin :04/06/05 02:03 ID:PNhNkqY+
120 :
login:Penguin :04/06/05 02:07 ID:PNhNkqY+
>>118 ,9
ああ、全てACCEPTしてるから危険ということですか?プロキシ内なので大丈夫です。
122 :
login:Penguin :04/06/05 02:43 ID:PNhNkqY+
>>121 すいません。いま手元にそのPCがないので。試してみたら必ず返信します。わざわざありがとうです。
123 :
login:Penguin :04/06/07 18:54 ID:ZYHjHOPd
>>121 できました。そのとおりでした。なんで"-s ****"を省略すると行けるんですかね?
124 :
121 :04/06/07 19:07 ID:6SYJyxfO
>>123 >できました。そのとおりでした。なんで"-s ****"を省略すると行けるんですかね?
POSTROUTINGなんでSource IPが変わっているから、
そこでそのオプションは間違ってる。
125 :
login:Penguin :04/06/10 13:33 ID:BsxntcrJ
すみません、質問させてもらいます。 iptables panic をしたらネットワークに接続できなくなりました。 iptables のポリシーを全部 ACCEPT にしてもできません。 ping とかすると Operation not Permitted と出ます。 知っている方いらしたら教えてください。
iptables -F
127 :
125 :04/06/10 15:23 ID:BsxntcrJ
iptablesのデーモンを起動させなければネットワークに繋がるようです。 でもiptablesを起動させると繋がらないようです。 ルールやポリシーを何も定義してなくても駄目みたいです。 もうなにがなんだか分からないんですが・・・
>>125 >iptables panic をしたらネットワークに接続できなくなりました。
そりゃそうだろ。panicは全てのパケットを通さなくすんだから。
>ping とかすると Operation not Permitted と出ます。
pingコマンドにsetuidビットが立ってないんでは(何故だかわからんが)
chmodでsetuidビットをクリアしたのか?
rootで、
# chmod 4755 /bin/ping
をしろ。
>>127 >iptablesのデーモンを起動させなければネットワークに繋がるようです。
>でもiptablesを起動させると繋がらないようです。
>ルールやポリシーを何も定義してなくても駄目みたいです。
>もうなにがなんだか分からないんですが・・・
rootで、
# /etc/init.d/iptables stop
すればiptablesを停止できる。
それでもつながらない場合は、iptablesのせいではなくネットワークまわりが怪しい。
ネットワークをチェックしろ。
捕捉するけどrootで、
# /sbin/iptables -L
とするとiptablesの設定が見れる。
129 :
login:Penguin :04/06/10 22:17 ID:PVrnnllM
さいきん忙しくてあんましverUPしてないんだけど iptablesって、デーモンだったの?おしえてエロスメン。
>>128 せっかくsuid落としてあるのに酷いな
131 :
login:Penguin :04/06/14 21:44 ID:vjW75z+t
iptablesでポートを開放?したいのですが、 開放したつもりのそのポートに接続できません。 この場合どうやって開放したらいいのでしょうか? もしくはすでに開いているけど、その他の設定が間違っているのでしょうか? (port 5636) #!/bin/sh IPTABLES=`which iptables` # 設定を初期化 #${IPTABLES} -F -t filter ${IPTABLES} -F ${IPTABLES} -F -t nat # デフォルトの設定 ${IPTABLES} -P INPUT DROP ${IPTABLES} -P FORWARD DROP ${IPTABLES} -P OUTPUT ACCEPT ${IPTABLES} -t nat -P POSTROUTING DROP
132 :
login:Penguin :04/06/14 21:45 ID:vjW75z+t
# PPPから入って来るものの設定 ${IPTABLES} -N ppp-in # 中から出たのものの返事は通す ${IPTABLES} -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT # FTPDATA #${IPTABLES} -A ppp-in -p tcp --dport 20 -j ACCEPT # FTP ${IPTABLES} -A ppp-in -p tcp --dport 21 -j ACCEPT # SMTP ${IPTABLES} -A ppp-in -p tcp --dport 25 -j ACCEPT # DNS #${IPTABLES} -A ppp-in -p udp --dport 53 -j ACCEPT # HTTP ${IPTABLES} -A ppp-in -p tcp --dport 80 -j ACCEPT # POP3 #${IPTABLES} -A ppp-in -p tcp --dport 110 -j ACCEPT # NTP #${IPTABLES} -A ppp-in -p udp --dport 123 -j ACCEPT # HTTPS ${IPTABLES} -A ppp-in -p tcp --dport 443 -j ACCEPT # POSTGRES ${IPTABLES} -A ppp-in -p tcp --dport 5432 -j ACCEPT # Application (ここですが、まるでわかりません…) ${IPTABLES} -A ppp-in -p tcp --dport 5636 -j ACCEPT
133 :
login:Penguin :04/06/14 21:46 ID:vjW75z+t
# PPPへ出て行くものの設定 ${IPTABLES} -N ppp-out # Windowsの変なパケットは出さない ${IPTABLES} -A ppp-out -p udp --dport 137:139 -j DROP ${IPTABLES} -A ppp-out -p tcp --dport 137:139 -j DROP # ローカルIPの範囲へ出て行くパケットも破棄 ${IPTABLES} -A ppp-out -d 10.0.0.0/8 -j DROP ${IPTABLES} -A ppp-out -d 172.16.0.0/12 -j DROP ${IPTABLES} -A ppp-out -d 192.168.0.0/16 -j DROP # PPPから入って来てforwardするものの設定 ${IPTABLES} -N ppp-forward # 中から出たのものの返事は通す ${IPTABLES} -A ppp-forward -m state --state ESTABLISHED,RELATED -j ACCEPT ${IPTABLES} -A FORWARD -d 192.168.0.5 -p tcp --dport 17240:17249 -j ACCEPT ${IPTABLES} -A FORWARD -d 192.168.0.5 -p udp --dport 17240:17249 -j ACCEPT # INPUTの設定 ${IPTABLES} -A INPUT -i eth0 -j ACCEPT ${IPTABLES} -A INPUT -i lo -j ACCEPT ${IPTABLES} -A INPUT -i ppp0 -j ppp-in ${IPTABLES} -A INPUT -i eth1 -j ACCEPT # OUTPUTの設定 ${IPTABLES} -A OUTPUT -o ppp0 -j ppp-out
134 :
login:Penguin :04/06/14 21:46 ID:vjW75z+t
# FORWARDの設定 ${IPTABLES} -A FORWARD -i ppp0 -j ppp-forward ${IPTABLES} -A FORWARD -o ppp0 -j ppp-out ${IPTABLES} -A FORWARD -i lo -j ACCEPT ${IPTABLES} -A FORWARD -i eth0 -j ACCEPT ${IPTABLES} -A FORWARD -i eth1 -o ppp0 -j ACCEPT ${IPTABLES} -A FORWARD -i ppp0 -o eth1 -j ACCEPT # IP MASQUERADEの設定 ${IPTABLES} -t nat -A POSTROUTING -s 127.0.0.1 -o ppp0 -j MASQUERADE ${IPTABLES} -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE ${IPTABLES} -t nat -A POSTROUTING -s 127.0.0.1 -j ACCEPT ${IPTABLES} -t nat -A POSTROUTING -s 192.168.0.0/24 -j ACCEPT ${IPTABLES} -t nat -A POSTROUTING -o ppp0 -j ACCEPT #${IPTABLES} -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
135 :
login:Penguin :04/06/14 21:47 ID:vjW75z+t
# Xbox
${IPTABLES} -t nat -A PREROUTING -i ppp0 -p tcp --dport 17240 -j DNAT --to-destination 192.168.0.5:17240
${IPTABLES} -t nat -A PREROUTING -i ppp0 -p udp --dport 17240 -j DNAT --to-destination 192.168.0.5:17240
ローカルからなら接続できるのですが、外部から接続できません。
ちなみにそのポートはJavaのServerSocket用です。
iptables自体はサイトを参考にしました。
アプリたちあげて
http://grc.com/default.htmでみたかぎりだとオープンになっていました 。
設定ご存知の方いましたら教えてくださいませ。
そのまえに機器構成を書いた方がいいんじゃないかな。 ルータ風の設定になってるけど、ルータなの?
137 :
131 :04/06/14 21:55 ID:vjW75z+t
えと、サーバ機にNICを2枚差して、 eth1がハブにつながっていて振り分けています。 eth0がサーバ機?でしょうか。
絵をくれー。が、面倒なので、 eth0 と eth1 と ppp0 がそれぞれ、どうつながってるの? ppp0 を MASQUERADE しているところをみると、これがWAN側ね? eth0 の設定が素通しなところをみると、これでADSLモデムにつないで pppoe なの? eth1 がLANなのね。192.168.0.1 か? LAN には 192.168.0.5 というマシンがいるのね。 で、問題がおきる機械は 192.168.0.1? それとも 192.168.0.5?
sshにて iptables -t filter -P INPUT DROP (+д+)マズ-
>>139 そういうミスって遠隔地にあるマシンに限って起こったり。
142 :
131 :04/06/14 22:11 ID:vjW75z+t
>>138 はい。そのとおりです。
説明不足というか知識不足といいますかすいませんです。
サーバの方は192.168.0.2になっています。
問題がおきるのはローカルの192.168.0.5なのですが、外部を通さないと問題なく
ポートにアクセスできるみたいです。
こんなのいらない? ${IPTABLES} -t nat -A PREROUTING -i ppp0 -p tcp --dport 5636 -j DNAT --to-destination 192.168.0.5:5636
144 :
131 :04/06/14 22:26 ID:vjW75z+t
145 :
131 :04/06/14 22:28 ID:vjW75z+t
>>143 ありがとうございます。
ちょっとやってみます。
146 :
131 :04/06/14 22:37 ID:vjW75z+t
う、ううーん 違ってました。
147 :
131 :04/06/14 22:41 ID:vjW75z+t
>>143 ローカルでのそのportへの接続は問題ないんですけど、
外部からの接続は無理なんです。
ちなみにさっきのやってみたらどちらからも接続できませんでした。
>>144 どうでもいーけど、IPアドレスが何に振られるか理解してないだろ。
149 :
131 :04/06/14 23:26 ID:vjW75z+t
えっと… そのApplication用のポートでFlashのXmlSocket通信をつかって Javaサーバにコネクトしようとしていたんですが、、、 あの、言い難いのですが、、 どうやらFlashのセキュリティ Sandbox 違反というのに引っかかっていたみたいです。 本当すみません!! (www.OOOのホストにOOOでコネクトすると 外部のサーバとみなされてセキュリティ違反にひっかかると…) うう、申し訳なさすぎ…
>>131 に対しては、つっこみどころ満載でどっから言ってやったらいいのか..
151 :
131 :04/06/14 23:41 ID:vjW75z+t
>>148 あ、そうですね。
PCに振られるわけではないですよね…
NICにでしょうか?
>>150 はい、自分でも結構そう思います。
おそらくiptablesの設定の方も間違っているかと思います。
でもいいんです…
フルチンで俺が走っているここはきっと高速道路ですから…
>>149 >どうやらFlashのセキュリティ Sandbox 違反というのに引っかかっていたみたいです。
>(www.OOOのホストにOOOでコネクトすると
>外部のサーバとみなされてセキュリティ違反にひっかかると…)
で、問題解決?
153 :
131 :04/06/14 23:52 ID:vjW75z+t
はい。 解決しました。 サンクス!
NIC ではなく NI だな(そんな略しないけど)。 ppp0 みたいにハードの実体のないものにも振られる。 > おそらくiptablesの設定の方も間違っているかと思います。 「まるでわかりません」の行はたぶん違う。 あれはLinuxのマシン(というかppp0)への接続を許可するもの。 192.168.0.5 へのを許可するなら、 ${IPTABLES} -A ppp-forward -d 192.168.0.5 -p tcp --dport 5636 -j ACCEPT とはいえ、実際は、この行 ${IPTABLES} -A FORWARD -i ppp0 -o eth1 -j ACCEPT で、ACCEPTされるから必要ないと思う。 > フルチンで俺が走っているここはきっと高速道路ですから… 私も逆走してるのかもしれん。 # 「開放」の定義もしなかったし... お役にたてなくてごめんなさいね。
>>155 サーバの構成がまったくわからんのだが、
本当にこのポリシーにしたいのかと小一時間(ry
$IPTABLES -P INPUTACCEPT
$IPTABLES -P OUTPUTACCEPT
この設定は、$LOCALNET以外で$PORTLIST以外なら通ってしまうが、
それでもいいというポリシーならそれはそれでいいが。
$IPTABLES -A INPUT -p tcp -s $LOCALNET --source-port $i -j ACCEPT
$IPTABLES -A INPUT -p tcp -s ! $LOCALHOST --source-port $i -j DROP
$IPTABLES -A INPUT -p udp -s $LOCALNET --source-port $i -j ACCEPT
$IPTABLES -A INPUT -p udp -s ! $LOCALHOST --source-port $i -j DROP
OUTPUTはACCEPTでいいんじゃないの?
1.2.11 が出てるのでビルドしてみた。 $ make Extensions found: IPv4:recent IPv6:ah IPv6:esp IPv6:frag IPv6:ipv6header IPv6:hbh IPv6:dst IPv6:rt cc -O2 -Wall -Wunused -I/usr/src/linux/include -Iinclude/ -DIPTABLES_VERSION=\"1.2.11\" -fPIC -o extensions/libipt_ah_sh.o -c extensions/libipt_ah.c In file included from include/libiptc/libiptc.h:6, from include/iptables.h:5, from extensions/libipt_ah.c:8: /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:255: 警告: struct や union の最後にセミコロンがありません /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:255: error: parse errorが '*' トークンの前にあります /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:259: error: parse errorが '}' トークンの前にあります /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:339: 警告: `DECLARE_MUTEX' の宣言で型がデフォルトの `int' とされました /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:339: 警告: 関数宣言中に(型の無い)仮引数名があります /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:339: 警告: 'DECLARE_MUTEX' declared `static' but never defined make: *** [extensions/libipt_ah_sh.o] エラー 1 2.6.7 のカーネルソースではダメですた。 2.6.6 なら大丈夫。
/usr/src/linux-2.6.7/include/linux/netfilter_ipv4/ip_tables.h の 255 行目 struct ipt_counters __user *counters; /usr/src/linux-2.6.6/include/linux/netfilter_ipv4/ip_tables.h の 255 行目 struct ipt_counters *counters; 2.6.7 の方は確かに文法的におかしいような気がするのだが、 わざわざ修正されてるってことは何か意味があるんだよな?
>157 終端の端末です。 OUTPUTも閉じることにしました。 参考になりました。ありがとうお兄ちゃん♥
iptablesを導入するために、kernelを再構築しています。 [*] Network Packet Filteringはイイとして。 IP : Netfilter Configuration --->内の設定は全部選択すべきなのでしょうか? そして、moduleにするべきなのでしょうか、それとも組み込みにすべきなのでしょうか? たぶん、どっちでもいいと思うのですけど、少し気になりました。
>>162 >IP : Netfilter Configuration --->内の設定は全部選択すべきなのでしょうか?
>そして、moduleにするべきなのでしょうか、それとも組み込みにすべきなのでしょうか?
>たぶん、どっちでもいいと思うのですけど、少し気になりました。
あなたが何をしたいかは、あなたが知ってるはずです。
そしてあなたに言える事は、「Helpを嫁、そして自分で判断しろ。」って事です。
>>163 なるほど。みなさんがどういう設定をしているのかと気になったのです。
ここで聴いたことを、ケーススタディにして、判断したいと思ったのです。
>>165 結局全部、built-inにしたのでした。
167 :
login:Penguin :04/06/28 16:50 ID:D/ymVPe6
フーン
なんとなく経路の問題のような希ガス
>>168 はぁ?何でわざわざローカルから自分のグローバルIP経由で参照すんのさ。
ところで聞くが、内部のマシンから外部のWebとかは見えてんのか?googleとか。
>>168 ルータの設定やISP側で、アタック防止のためにローカルから
自分自身のグローバルIPに繋げないようになってるところがある。
>>171 >ルータの設定やISP側で、アタック防止のためにローカルから
>自分自身のグローバルIPに繋げないようになってるところがある。
はぁ?意味分からんが。
おい、もしかしてケーブルTVとかからの接続なのか?
全然、情報が足りないんでわからんぞ。
サーバーとしてしか使わないなら閉じまくりでいいから楽だね!
174 :
んあなんか :04/07/12 01:39 ID:fpvmbvkN
おれのせいで、 まじ すいませんざえlsえ _| ̄|○
iptables -P INPUT DROP iptables -A INPUT -p icmp -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT この設定で一番下のルールは効いていますか? 2番目のルールで icmp を全て許可しているから 一番下は意味が無いような気がするのですが。
>>175 既に自分で答えてるように、一番下は無意味。
で?
/sbin/iptables -P INPUT DROP /sbin/iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT /sbin/iptables -A INPUT -i ppp+ -p tcp --dport 80 -j ACCEPT 便乗なのですが、この場合も一番下は無意味になりますでしょうか?
>>177 いや、これは意味あるよ。基本的には
<ルール> -j <ルールにマッチしたらどうするか>
なので、
1行目: デフォルト設定(以下のルールにマッチしなかったら無視しる)
2行目: <TCPの新規接続で、直近1秒での最初のパケット> -j <許可>
3行目: <TCPの80番ポートへの接続> -j <許可>
だな。もしこれに続きがないなら、ちょっと変な設定だけどな…
>>178 レスありがとうございます。要は80番ポートだけ開けて、同時にSYNフラッド攻撃対策
もしておきたいという事で
>>177 の様な設定を試してみているのですが、この設定だと
2行目が有るせいなのか、3行目の80番ポート指定の有る無しに拘わらず、また別に
動かしているFTPd(21番ポート)にもアクセス出来てしまっているので悩んでいます。
(FTPd自体は、公開目的で動作させているものでは無いのですが)
現在、以下の指定をしてみてるのですが、意図する動作は得られるのでしょうか?
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p tcp --dport 80 --syn -m limit --limit 1/s -j ACCEPT
/sbin/iptables -A INPUT -i ppp0 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
>>180 もう、何が何だか解らなくなっちまってます。。OTL
こんな設定ではダメでしょうか?
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -N local
sudo iptables -A INPUT -i ppp0 -p tcp --syn -m limit --limit 1/s -j local
sudo iptables -A INPUT -i ppp0 -j local
sudo iptables -A local -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A local -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
sudo iptables -A local -p tcp --dport 80 -j ACCEPT
sudo /etc/init.d/iptables save
sudo service iptables restart
182 :
180 ◆/UXtw/S..2 :04/07/24 11:20 ID:IeYqwO44
>>180 漏れは 178 ですた…と自分にツッコミ
>>181 まぁもちつけ。まずは単純に
・80 … 受け付けたい(けど、さらなる条件(=SYN FLOOD かどうか)があり)
・!80 … 受け付けたくない
だろ?
てことは、最初に 80 かどうかで振り分け、
・80 じゃ無かったら捨て。
・80 だった場合、その中身をさらに検査
って考えればよかろう。
この「さらに検査」を実現するのがユーザー定義チェインなのだよ。
見方を変えて、まず先に
・正当な SYN … 受け付けたい(けど、さらに 80 に限定したい)
・SYN FLOOD … 受け付けたくない
と考えるならば、
・正当な SYN なら、その中身をさらに検査、
・SYN FLOOD なら捨て
ということ。どう?
>>182 何度も失礼します。先程の助言を受けて、以下の様に変更してみた所、見かけ上は
本来自分が意図していたソレとして動作している(と思われる)事を確認出来ました。
この指定方法でも、何か不足の箇所は有りますでしょうか?
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -N local
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j local
iptables -A local -p tcp --syn -m limit --limit 1/s -j ACCEPT
>>183 出来ればiptablesのオプション指定だけで済ませられたら、、と思うのですが。。
185 :
182 ◆/UXtw/S..2 :04/07/25 00:47 ID:1u3qet1C
>>183 syn flood 攻撃への対策は syn cookie が唯一の解ではない。
とはいえ、tcp_syncookies を on にしても弊害はそんなにないんで、
syn flood に気をつけたいのならこっちも on にするのが普通かな?
>> 184
OK!
今のカーネルは素でSYN FLOODに強くなってるから よほどの猛攻撃を受けない限りsyn cookie使うまでも無いがな。
>>185 2日間にも渡り、長々とすみませんでした。お蔭様で助かりました。
そもそも redhat-config-securitylevel 使って設定してるから万事OKだろう、という
程度の認識だった奴が、急に iptables を直で触り始めたみたいなものでしたので、
今回勉強させて頂いた事をキッカケに、今後も意識して弄って行きたいと思います。
ヾ(・∀・∀・)ノシ
いやいや、こちらこそ遠回りさせてスマソ。 最近、教えて君はもうしょうがないとして、教えたがり君 にもちょっとどうかと小一時間(ry というわけで、敢えて遠回りして貰いましたが、 途中でチャチャも入らず、個人的には勝手に満足してます(汗
iptablesはホビーユーザーには最高に面白いツールですね!
190 :
login:Penguin :04/07/27 18:29 ID:a3AREzMK
-j LOGとしてもログに書き出されないのですが何が原因でしょうか。 ・ipt_LOG,ipt_ULOGはロードされている ・syslog.confには *.* /var/log/test.log という一文を設定 ・iptables -A INPUT -p icmp -j LOG --log-prefix 'iptables:icmp' 他に何が足りないものはありますか?
自己レスですが、 Debianのデフォルトで入っていたsyslogを使っているのですが、 #/etc/init.d/klogd restart としたら上手く逝きました。何度も何度もsysklogdばかり再起動してました。アホだ・・・
193 :
login:Penguin :04/07/29 22:24 ID:ct94z192
くだらない質問で申し訳ないんですが、 freenetだけ通信させるiptablesの設定ってできるでしょうか? 知っているかたいればhelp
1000
>>195 iptablesの質問だし変な誘導はやめとけ。
>>193 iptablesで名前解決関連とあとは--cmd-ownerあたり使えばいいんでない?
勘だけどw
iptablesでINPUTとOUTPUTのポリシーをDROPにしたんだけど # iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere って感じになるんだよね。ACCEPTってでてくるのは・・・なんでだろ?
>>197 自分自身が使っているインターフェイスの許可分、とか?
iptablesってIPパケット以外のトラフィックはスルー? --mac-sourceで遮断しようとしたんだけど効果が無かった。
>>200 カーネルモジュールのソースの場所が
/usr/src/linux/net/ipv4/netfilter/
とかだから、ダメだと思うよ〜
ebtablesってずっと更新止まったままだなぁ
Patch-o-Maticの中にlayer2-hooksとかいうのが有るけどどうなのかな。
--mac-sourceについて、iptablesのマンに書いてあるのは 間違いだってこと?
>>205 そういうわけではない。IP(ipv4/ipv6)だった場合に hook が
かかって iptables で検査できるようになる。
検査するときにはパケット全体を検査できるので間違いではない。
207 :
login:Penguin :04/08/15 18:52 ID:B3/yEN/w
DNSサーバのiptables設定で一般的な物を教えて下さい。
>>208 UDP 53/TCP 53
を空けるだけ。ネタ元を忘れたが、TCP/53 で query 投げる
クライアントも存在するらしいんで、TCP/53 も無条件で空けて
おいた方が無難らしい。
ゾーン転送の制御は DNS の方の設定で。
FTPサーバって20と21開けるだけじゃだめなんすかね?
>>210 /sbin/insmod ip_nat_ftp
/sbin/insmod ip_conntrack_ftp
iptableって *.jp *.com こんな感じで指定できるの??
1台のマシンで設定保存した/etc/sysconfig/iptablesを 他のマシンで使いたい時はまた1からコマンド打たなきゃ駄目ですか?
/etc/sysconfig/iptablesとかをコピー。 カウンタ値がそのまんま移されちゃうからその後で iptables-restoreする。
ごめん日本語変だ、吊ってくる…
>>215 いや、全然わかりました。ありがとうございました
IPやホスト名、ポート指定するときにワイルドカード使えるの??
>>217 ワイルドカードっつーか、マスク。
仮に*.168.255.255とかできても意味ないし。
>>218 ホスト名で指定できるらしいが・・・
例えば、hogehoge.com を含むホスト名を許可する場合はどうすればいいんだ??
>>219 ソース読んでないから確認できないけど、多分無理。
カーネル(モジュール)にそこまで重いことはさせたくないな〜
何をしたいか具体的なことが分からないけど、
多分、もっと上位層でがんばっておくのが吉かと。
>>221 ホスト名の指定はできるけど、ホスト名のワイルドカード指定は
できないんじゃないかと言ってるんだが。
# ちょっと試せるマシンがないので何とも言えないけど…
ところで google 様もいいけど、とりあえず iptables の man は
読んだか? 「〜なども指定できる」なんていい加減な説明じゃなく、
ちゃんと何が指定できるか書いてあるだろ。
英語の man を読めとは言わないから、せめて日本語の man
ぐらいは読んでくれ。
逆に、*.hogehoge.comっていうアドレスの一覧ってどうやって 取得するんですか?
ホスト名で指定なんてよっぽどじゃないと使わないだろ。 DNS引くオーバーヘッドも馬鹿にならないし。
IPで日本からのアクセスをすべて許可したら・・・って多すぎるか・・・ 日本のIPって218.〜〜〜、64.〜〜〜ぐらいしかわからねぇしなぁ・・・
>226 できるんなら、シェルスクリプトでも書けばいいだけなんじゃないの?
相手のアドレス範囲が良くわからないときなんかには便利なのかも。 *.docomo.ne.jpみたいな?でも地域によってアドレス範囲変わったりすんのか? とりあえず俺はそんなのいらんけど。
パケットがRELATEDかどうかってどうやって判断してんの? RELATEDに見せかける偽装とかされたら困ります。
231 :
◆/UXtw/S..2 :04/09/02 23:50 ID:reJvs1cE
>>230 過去の通信履歴からです。
# cat /proc/net/ip_conntrack
たしかに偽装される可能性はありますが、
それは普通の TCP や UDP の通信でも同様。
偽装されたTCPパケットを完全に排除するのは出来ないが、 不正な組合せのTCPパケットをチェックし破棄するのはCHKFLAGSチェイン。
悪い中国のひと(140.127.45.65)に目をつけられて、sshの ログインを試みられています。rootユーザーでおそらく辞書 攻撃だと思いますが、1秒に1〜2回のペースで1000回近く15分間 も続きました。 iptablesでこのIPのパケットを落とせば良いのですが、同じような 攻撃がこれからもあるかもしれないので、limitを使って頻繁にssh のポートを攻撃するパケットだけ落としたいと思います。iptablesの 関連の文書を読んでもちょっと理解できなくて、具体的な設定を 教えていただければ助かります。そもそもiptablesで設定可能ですか? #sshは外部からのメンテナンスの為、開けねばなりません。
>>233 iptablesでできます。
で、どのように条件を設定したいんですか?
とりあえず、ユーザ定義チェイン無しなら
iptables -A INPUT -i 入力インタフェース \
-p tcp --dport ssh \
-m state --state NEW \
-m limit --limit 5/minute --limit-burst 5 -j ACCEPT
iptables -A INPUT -i 入力インタフェース \
-p tcp --dport ssh \
-m state --state NEW \
-j DROP
こんな感じ?
>>233 > #sshは外部からのメンテナンスの為、開けねばなりません。
全世界から開けとく必要はないんでは。
>234 おーこれこれ、ACCEPTとDROPを両方記述することと、 limitのパラメータで悩んでいたので助かりました。 >235 メンテする側がADSLプロバイダ経由でアクセスするので、 アドレスが不定なんです。 >236 それも良いアイディアかも、22番以外でsshを開けておいて、 あわせてポートスキャンの防御も入れれば完璧ですね。
>>237 公開鍵認証のみ許可
tcp_wrappers で指定ドメイン以外 deny
239 :
login:Penguin :04/09/18 17:00:25 ID:GSxE+XxI
Fedora Core のiptablesのデフォルトに書かれていた -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT って何なんでしょうか?? "-p 50" → プロトコル50?? ご存知の方、ぜひともご教示願います
IPSECを使用してVPN接続する際にプロトコル50/51を使用するのですね。。 ありがとうございましたん
つづき Guarddogで設定した後は、こうなってます。 # iptables -L INPUT Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- ホスト名 そのアドレス
つづき logaborted tcp -- anywhere anywhere state RELATED,ESTABLISHED tcp flags:RST/RST ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere icmp destination-unreachable ACCEPT icmp -- anywhere anywhere icmp time-exceeded ACCEPT icmp -- anywhere anywhere icmp parameter-problem nicfilt all -- anywhere anywhere srcfilt all -- anywhere anywhere 分かる人がいたら、教えてください。
Guarddog が何だかしらんし、肝心のユーザー定義チェイン
の中身がワカランので、ヒントだけ。
○ユーザー定義チェインで何もマッチするルールがなかった場合
呼び出し元のチェインの次のルールから評価が再開される
よって
http://www.hakusan.tsg.ne.jp/tjkawa/lib/krfilter/index.jsp にある
iptables -A KRFILTER -j ACCEPT
は必要に応じて適用する
(か、適用しないか、明示的に -j RETURN する)こと。
前述の通り、(KRFILTER で)何にもマッチしなければ元に戻ってく
るので、KRFILTER を呼び出すタイミングは比較的自由(だけど、変
なところに入れるとフィルタリングのパフォーマンスが落ちる)。
# しかし、↑のページは、なぜわざわざ TCP に限定しているのか
# 謎だな。たしかに UDP に対する state モジュールの動作は完璧
# ではないかもしれんが…
THX。 結局、KRFILTERのアドレスのファイルを加工して、 Guarddogの設定ファイルに強引に入れ込んで、拒否するZONEに指定しました。
DHCPのレスポンスを自分宛のもの以外DROPって無理?
皆さん、ログの管理ってどうやってます? 今fwlogwatchというのを試してますが、基本的にはIPを列挙してくれるだけみたいです。 (設定でなんとかなるのかもしれませんが) attackされたポートとか視覚化して表示してくれるツールがあれば便利だなあ、と…
251 :
249 :04/09/30 10:46:32 ID:/AuULiTD
遅くなって済みません
>>250 ありがとうございます。
グラフィカルで良い感じですね。
しかし、ルーターマシンが非力なので(MMX133...)、
MySQLとか動かせるのかやや疑問ですw
ああ、でも画面は理想に近い…先にマシンをどうにかした方が良いのだろうか…w
どうもありがとうございました。
>251 >MySQL MMX200、メモリ64MBのルータ兼サーバで動いてるぞ、安心汁。 ……スループットだのは敢えて考えないことにしているが。
すみません教えてください。プライベートアドレスのマシンからアクティブに ftpを使用した際、PORTコマンドがプライベートアドレスのままとなってしまい、 よくありがちなディレクトリのリスティングでタイムアウトするという症状と なります。現状はフルオープンで下の1行のみが書いてあります。 iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE PASVで使う分には何も問題はないのですが、PORTで使えるようにするには どのようなルールセットを書いたらよいでしょうか。 よろしくおねがいします。
あ、すみません、OSはFC2です。 ip_*_ftpやipt_MASQなど、必要なモジュールはロードしてあります。
255 :
login:Penguin :04/10/07 18:03:10 ID:HxbM8vyb
iptablesのフォワードしたプロトコルなどの統計をとりたい場合、やはり全パケットLOGしなければ ならないでしょうか? 負荷が物凄い気がして、躊躇しているのですが…
256 :
◆/UXtw/S..2 :04/10/07 21:36:04 ID:xE5WYtv3
>>255 どの程度詳しく統計をとるかにもよるが、
まぁ、基本的には ULOG 使って、自分で統計取るプログラムを作る
しかなさそう。
とは言え、似たようなことを考えている人は居るだろうから
頑張って探してみましょう。
ipchains -M -Sに相当するiptablesコマンドって存在しますか? tcpのタイムアウト設定を変更したいのですが、ぐぐっても見付けられませんでした。 ADSL接続なのですが、IPが変わった後も延々と前のIPのESTABLISHEDが /proc/net/ip_conntrackに残っているのが気持ち悪くて… 明らかに無効なセッションは切り落としたいというのが真の目的なのですが、 何か運用を間違えてるのでしょうか?ちなみにppp接続です。
>>257 う〜ん、MASQUERADEじゃなくて SNAT 使う。
ぐらいしか思いつかないが、こりゃかなり違うな。
えーーーー、多分「気にしない」が正解です。
2.4.20(古っ)カーネルしかチェックしてないけど、
ip_conntrack_proto_tcp.c
を見れば一目瞭然、timeout はソース埋め込みです(w
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established ってのあるけど、これって弄っちゃってだいじょうぶなのかしら…
>>259 2.6.8.1 カーネルで確認しました。
ソース読みましたが無問題です。
ガソガソいぢり倒してください。
いちおー結果報告キボンヌ
262 :
259 :04/10/20 02:44:02 ID:Pe5sgZJb
とりあえず、最初は1時間に設定してみましたが、 僕の場合は、もっと短くても大丈夫そうなので、今は15分にしてます。 今までと変わらず、普通に使えてます。
263 :
login:Penguin :04/10/20 08:38:28 ID:SZyuCRKR
192.168.3.128 〜 192.168.3.254 のIP アドレスマシンから eth1 (モデム)へ行けないようにしたくて 下記のようにしたけどだめでした 直アドレス列記以外に設定法あれば教えて iptables -A FORWARD -s 192.168.3.0/25 -i eth0 -o eth1 -j DROP
192.168.3.80/25 じゃないの?
265 :
login:Penguin :04/10/20 08:59:59 ID:tEdN7VY0
>>263 × 192.168.3.80/25
○ 192.168.3.80/24
266 :
265 :04/10/20 09:07:21 ID:tEdN7VY0
漏れの方こそ間違い orz 192.168.3.80/25でOKだ。
192.168.3.80 の 80 は128 のことですね 下記にしてみたら OK でした レスありがとん iptables -A FORWARD -s 192.168.3.128/25 -i eth0 -o eth1 -j DROP
ごめん、128だな。 ちょっと16進数をいじってたので、とか言い訳してみる。
質問があります。 オンボロノートで自作鯖立ててるんですが、 知り合い向けに立てたサーバなのでアクセスは知り合いからのものがほとんど、 後は定番の中国やカンコックからのポートスキャンやワームによるものとなっております。 そこでとりあえず国内のIPだけを通す設定にしたのですが、 ボロノートなのでIPのマッチングに若干時間がかかるようです。 この場合INPUTチェインで身内かどうかだけを判断し、それ以外のIPアドレスの場合 は別のチェインに飛ばしてそこで判断させる事で処理を高速化できるでしょうか?
270 :
login:Penguin :04/10/30 05:49:17 ID:+dco++IB
age忘れてました
>>269 defaultをdropにして身内だけACCEPTにすればいいじゃん。
272 :
269 :04/10/30 19:35:40 ID:+dco++IB
274 :
login:Penguin :04/11/01 14:30:34 ID:Z6Tr/zCo
さっきiptablesのログ見てて思ったんですけど、 SRC=xxx.xxx.xxx.xxx DST=xxx.xxx.xxx.xxx というログと、その前に MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx というふうにMACがあるログがあるのですが、この違いはなんですか?
>>274 NATなんかで同じIPでも違うPCから繋いでるとか、そういうことじゃないの?
>>273 身内ではないがワームでもないその他の人のアクセスまで捨てられちゃうだろ。
身内だけに公開したい訳じゃなくて、アクセスの多い身内はIPのマッチングのオーバーヘッドを減らしたいということだと思う。
277 :
login:Penguin :04/11/01 15:07:35 ID:Z6Tr/zCo
>>276 さん
ありがとうございます。よく見ると、このMACの最初の6バイトは
自分のIFのMACアドレスでした。(後半6バイトはわかりません)
このマシン上でNATは動かしていないのですが、ゲートウェイのルータで
IPマスカレードをしているので、関係あるのかもしれないですね。
自分でも調べてみます。
278 :
login:Penguin :04/11/03 22:41:47 ID:JB367WB+
LAN側のNAT下にsip電話を置きたいんですが、調べたところによると TCPヘッダにIPが埋め込まれてる影響でsipは普通のNATではダメだそうですね。 これをiptablesでどうにかするにはどうしたらいいでしょうか? 要するにyamahaで言うところのsip-natをやらせたいです。
bridge + proxy について質問です。 internet -- [router] -- eth0 [ bridge ] eth1 -- lan の構成で、自鯖関係は すべてプライベートアドレスとなっております。 bridge を挟む前は問題なく通信できておりましたが、上図のように bridge を挟んだ際、FTP のみ PASV モードにおいて、internet 側から接 続できなくなりました。PORTモード?時は、接続できます。 また、他の鯖関係はすべて従来どおり外部←→内部で接続できてます。 bridge + proxy 化している Linux(FC2) の iptables は、下記の設定です。 AAAA 〜 DDDD は、proxy のポート番号です。 -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports AAAA -A PREROUTING -p tcp -m tcp --dport 110 -j REDIRECT --to-ports BBBB -A PREROUTING -p tcp -m tcp --dport 25 -j REDIRECT --to-ports CCCC -A PREROUTING -p tcp -m tcp --dport 21 -j REDIRECT --to-ports DDDD -A PREROUTING -p udp --dport 21 -j REDIRECT --to-ports DDDD -A PREROUTING -p tcp --dport 20 -j ACCEPT -A PREROUTING -p udp --dport 20 -j ACCEPT PASVモードで通信できる様にするには、どのように設定すれば良いのでしょうか?
>>279 >>280 ありがとうございます。iptablesだけではやっぱダメなんですね・・・。
ググってみたら、どこぞのwikiで、conntrackを使えばできるようなことも
ちらっとは書いてあったんですが、それ以上のことはわかりませんでした。
UPnPは構成上の問題で使えないので、何かのsip-proxyを使う方向で行こうと思います。
/etc/modules.conf(2.6系なら/etc/modprobe.conf)に options ip_conntrack_ftp ports=DDDD でどうですかね? 当然 connection tracking を有効にして RELATED を ACCEPT で。 というか、PORTで接続できてるってことは、この rule 甘くない? 他の rule がどうなってるかは知らんが…
>>283 氏 レスThanks! です。教えて君で恐縮ですが…
>当然 connection tracking を有効にして RELATED を ACCEPTで。
と言う件は具体的にどうしたらよいのでしょうか?
他の rule については、ブロードバンドルータのフィルタ設定に任せてます (^^;
>>284 state モジュール使えってことです。
man iptables
それと、FTPデータの2番目以降のパケットは RELATED には
引っ掛からないんで、ESTABLISHED なパケットも ACCEPT
してあげる必要がある。
Linux初めて3日目なのですが どうも iptables の設定が難しいです ポリシーってのは ルールのリストを全部チェックしたあとに マッチしなかったのをどうするかってことですよね 例えばルール決めずにINPUTのポリシーを DROP にしたら、すべてのパケットを捨てるって意味で合ってますか? あとSYNビットのみが立っているパケット以外を通すのは 通信が確立したパケットは通すという意味だと思うんですが これはセキュリティ上安全なんでしょうか(wwwサーバの場合など)
>>286 > どうも iptables の設定が難しいです
ネットワークに対する知識が足りてないだけでは?
まともなネットワーク/ファイアウォールの本を読むことを強くお勧めします。
> ポリシーってのは
(中略)
> 例えばルール決めずにINPUTのポリシーを
> DROP にしたら、すべてのパケットを捨てるって意味で合ってますか?
合ってます。
> あとSYNビットのみが立っているパケット以外を通すのは
> 通信が確立したパケットは通すという意味だと思うんですが
TCP/IPに限れば(不正なパケットを除けば)その通りです。
> これはセキュリティ上安全なんでしょうか(wwwサーバの場合など)
「TCP/IPにおいてSYNが立ってないのに接続が開始できてしまう危険はないか?」
という質問なら、カーネルにバグがない限り「その危険はない」です。
が、セキュリティ上安全かどうかは他の要素に依存します。
288 :
login:Penguin :04/11/09 14:27:10 ID:MZSFpYvB
特定のプロバイダからのみアクセスできるように設定を探しているのですが アクセス元をIPアドレスではなくドメイン名を使用することはできますか? 下記の例を実行した場合、iptablesはエラーを出さないのですが リモートホスト名が記述されていないためかアクセスできないです。 「*.ProviderName.co.jp」やxinetdのonly_fromで使用する「.ProviderName.co.jp」 という形式にするとエラーが出てしまいます。 例 # iptables -A INPUT -s ProviderName.co.jp ドメイン名 -p tcp --dport 80 -j ACCEPT
>>288 ソース見たわけじゃないのでおそらくだが
ドメイン名で指定するとDNSを引いて得られたIPアドレスを使って設定されると言うことだと思う
>>288 iptablesでIPを指定できるのは完全に記述された名前(FQDN)を使うことで…
だから、あんたがやろうとしてることは不可能と思われ…
FQDN【完全修飾ドメイン名】
読み方 :
エフキューディーエヌ
フルスペル :
Fully Qualified Domain Name
インターネットやイントラネットなどのTCP/IPネットワーク上で、
ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した
記述形式のこと。例えば、「www.e-words.ne.jp」はFQDNだが、
「e-words.ne.jp」はホスト名が省略されているのでFQDNではない。
291 :
288 :04/11/09 17:28:42 ID:MZSFpYvB
どもです。 iptablesはFQDNじゃないと駄目ということですね。 意味の有る無しはおいといて、ラッパと2重でsshへのアクセスなど 制御しようと思ったのですが・・・。ま、いっか
292 :
login:Penguin :04/11/09 23:40:01 ID:LW735COM
>>287 分かりやすい説明ありがとうございます
あともうひとつだけ質問させて下さい。
lo という 特殊なデバイスがありますが
このデバイスは
iptables -A INPUT -i lo -j ACCEPT
のようにすべて許可しても安全なのでしょうか。
また、loとはどのような役割を果たすデバイスなのでしょうか。
293 :
292 :04/11/09 23:48:16 ID:LW735COM
自分の考えだと loとは自分自身を指している、と思っていたのですが だとすると例えばINPUTでloをすべて拒否した場合 127.0.0.1 等には一切繋げなくなるという意味なのでしょうか。
294 :
login:Penguin :04/11/10 00:13:14 ID:0pOV4sVs
loopback device。 己自身とやりとりするための仮想デバイス。通常は外部からアクセスできない。 ので、すべてあけておくのもやぶさかではない。
loopback の lo
296 :
login:Penguin :04/11/10 07:45:50 ID:1oO93YAf
玄箱用のkernel 2.4.18作ったんですが、ほしい人います? 暇つぶしに日曜作ったんですが、とりあえず、ネットワーク 以外はまともに動いているように見えます。 ネットワークのエラーはAddress Family関係のioctlが いかれているみたいです。 ちなみに ifconfig eth0 192.168.1.200 とすると通信できました。 問題だと思われるカーネル起動時のエラーログですが Bringing up loopback interface: arping: socket: Address family not supported by protocol Error, some other host already uses address 127.0.0.1. [FAILED] Bringing up interface eth0: arping: socket: Address family not supported by pro tocol Error, some other host already uses address 192.168.1.6. [FAILED] です。 こんな中途半端なもの欲しい人はいないだろうけど。
すいません誤爆でした。
298 :
login:Penguin :04/11/10 11:10:15 ID:UMpqbm6K
iptables って、どんだけルールかいてもOKなんですか?
OKです。かいてかいてかきまくりましょう。
手動だと動くiptablesの入ったスクリプトをcronから実行すると動きません。 "Bad argument 'eth0'" と表示されます。 NICは認識されているのですが、どうしてでしょうか?
301 :
300 :04/11/11 23:31:30 ID:/cK3LgsB
事故レス。 解決しました。 eth0ではなく、そのまえに指定していたIPアドレスが悪かったようです。 環境変数で指定してまして、cronからだと動かないようでした。 IPを直接指定しましたら動きました。
302 :
login:Penguin :04/11/20 11:40:40 ID:dET3SnVU
Apacheや関連するソフトを メンテナンス(バージョンアップ作業等)する際に、 80/TCPに来たパケットを、 iptableの層で他のサーバにリダイレクトして、 「現在メンテナンス中です」のようなページを表示することは 出来ないでしょうか? 出来るなら設定方法を教えてください。
>>302 こんな感じで試してみたら。
/sbin/iptables -A FORWARD -d ${TMP_SERVER} -p tcp --dport 80 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -i ${EXT_IF} -j DNAT --to ${TMP_SERVER}:80
>>303-304 やっぱり出来るんですね。
ありがとうございました。304さんのを起点に試していきます。
ID が ntp だ。
そろそろNIC二枚で200Mbpsをやらしてください
>>307 1000BASE-T じゃダメ?
それともチーミングがしたいの?
>>308 高速化しつつ冗長化によって信頼性を上げたいのです、っていうか
インテルのNICは出来るっぽいですな
よく分からんけど、LinuxではBondingっていうべきじゃないの?
>>311 使ってる NIC が Broadcom だったら BASP を勧めるよ。
Linux でも。
313 :
login:Penguin :04/11/26 17:14:31 ID:QCeFosrM
既出かもしれんが、gtkなデスクトップ環境で使ってるやつとかにはこれなんか楽で良いぞ。
http://www.fs-security.com/ 単にシェルスクリプト群をGUIで使えるようにしただけの物だが、
楽したい奴とか、テンポラリでファイアウォール立てて後でゆっくりセッティングしたい奴には良いかも。
もちろん、細かいセッティングがしたくなってくると、自分で一からルールを書いた方が見通しが良いけど。
ちなみに、このツールは将来的にgnomeの一部になる予定らしい。
314 :
login:Penguin :04/11/27 14:30:04 ID:5IhedlfN
別のホストから namp してみたら 901/tcp open samba-swat こんなんでてたから、 iptables -A INPUT -p tcp --dport 901 -j REJECT したんですけど 901 open が消えないんですけど、記述がおかしいでしょうか?
DROP ?
316 :
314 :04/11/27 14:58:53 ID:5IhedlfN
>315 DROPも駄目だったです
>>314 まずはこれ。
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT DROP
そこから必要な物だけを通す。
それが嫌ならこんな感じでどう?
/sbin/iptables -A INPUT -i ${EXT_IF} -p tcp --dport 901 -j DROP
318 :
login:Penguin :04/11/30 05:05:40 ID:99VBaUbE
eth1(有線ネット)とeth2(無線ネット)の中間にあるルータにおいて、 eth1のネットワークにあるホストとeth2のネットワークにあるホスト同士で Windowsファイル共有をできるように設定する方法を教えていただきたく存じます。 TCPポート137:139あたりをゴニョゴニョするのはなんとなくわかるのですが具体的な方法が… 何卒よろしゅうお願い致します。
よくわからんが、こういうこと? _________________ | | ----eth1 ルータ eth2----- |________________|
しまった… ずれ補正中に投稿しちまった…
書き直した。。あなたの説明もわかりにくいがこうか?? んでルータがLinux?? _________________ | | ?--Winネット----eth1 ルータ eth2-----Winネット---? |_____________| アドレスとかわからんので細かいことは言い様が無いが、 ネットワークアドレスは違ってたりするんだよな? これって単にルータとしての仕事で済むんじゃないか?? 別にiptablesのnat使ってもできんことは無いが 普通はポートも何も関係無しにルート切ると思うが…そのためのルータじゃないのか? ルータに設定することは何も無いよな?転送をOnにするくらいしか 以上俺の勝手な想像でした。
>>321 > これって単にルータとしての仕事で済むんじゃないか??
lmhost だかなんだか必要なんじゃなかったっけ。
いやいや、ルータとしてのiptableの設定に関してさ winにはルート、lmhostの設定がいるね
lmhostの設定無しでもIP直指定で共有できなかったかな。
サブネット越しにwindowsファイル共有をする場合は wins の名前解決ができないから lmhostを有効にしてクライアントのIPを書き連ねるか wins server(domain server)を 明示的に書いておかないとダメではないかと iptables で開けておく必要があるのは 137,138,139のtcp,udp もしactive directory を使うつもりなら加えて 7,88,389,3268 の tcpも開ける必要がある かもしれない
一番簡単なのはルーターのlinux boxにsamba立ててbrowse masterにしてしまうことかも これならwindows側は何もしなくていい
>>321 そうです。まさにそんな感じですね。
うむむ…知らない単語が並んでいる…。
上から試していこうと思ったら
iptables -t filter -A FORWARD -p tcp --dport 137:139 -j ACCEPT
したら\\10.0.1.2とかで中見れた━━━(゚∀゚)━━━!
名前解決をするためには
>linux boxにsamba立ててbrowse masterにしてしまう
これがスマートそうですな。
つーか、
iptables -t filter -A FORWARD -p tcp --dport 137:139 -j ACCEPT
これやったらセキュリチー的に不安な気がするのは気のせいか…
>>327 あ、というのも当のルータにはeth1、eth2に加えてppp0があるのです。
そもそもサブネット越しに共有しようってこと自体セキュリティ上問題あるわけだが。
331 :
login:Penguin :04/12/07 20:31:24 ID:/LpYOl7X
iptablesの設定で、GapNat実現できますか??? GapNatはNATルータなんだけどグローバルIPを NAT内側の端末につける方式。詳細はググってー
332 :
login:Penguin :04/12/07 22:04:24 ID:oRxz7X1o
以下のような構成のネットワークで +--------+ +---------------------+ |pc1(NIC)+--(HUB)--+(eth0)pc0(ppp0(eth0))+----(ADSL Modem) +--------+ +---------------------+ winxp linux 下記の設定(抜粋)でiptablesを使用しています。今回、pc1を追加したところWindowsUpdateが 出来ない事が分かりました。このネットワークにWindowsBox今回が初めてで過去にWindows Updateが成功した実績はありません。以下の表示がでて失敗します。 サーバーが見つからないか、DNSエラーです。 Internet Explorer (つづきます)
333 :
332 :04/12/07 22:04:53 ID:oRxz7X1o
pc1からネットサーフィン等、WindowsUpdate以外の事は問題なく出来ているので、iptablesの 設定の問題だと思うのですが…アドバイスよろしくお願いします。 ------------------------------------------------------------------------------ # User Configuration wandev=ppp0 landev=eth0 localdev=lo # clear rule /sbin/iptables -F # policy # 入力は禁止 /sbin/iptables -P INPUT DROP # 転送は禁止 /sbin/iptables -P FORWARD DROP # 出力は許可 /sbin/iptables -P OUTPUT ACCEPT (中略) つづきます
334 :
332 :04/12/07 22:06:09 ID:oRxz7X1o
# ------------------------------------------------ # WAN側パケットのfilter設定 # ------------------------------------------------ # NTT ADSL Modemとの通信用 /sbin/iptables -A INPUT -i eth1 -s 192.168.1.1/32 -d 0.0.0.0/0 -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -s 192.168.1.1/32 -d 0.0.0.0/0 -j ACCEPT # 既存のコネクションに関するWAN側パケットは許可(意訳:LAN->WANへの接続は許可) /sbin/iptables -A INPUT -i $wandev -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -i $wandev -m state --state ESTABLISHED,RELATED -j ACCEPT (中略) # ------------------------------------------------- # IP masquerateの設定 # ------------------------------------------------- # WANデバイスから出力するパケットは"IP masquerate"する /sbin/iptables -t nat -A POSTROUTING -o $wandev -j MASQUERADE # IP フォワーディングをONにする echo 1 > /proc/sys/net/ipv4/ip_forward exit 0 ------------------------------------------------------------------------------ 以上です。よろしくお願いします。
335 :
332 :04/12/07 22:13:59 ID:oRxz7X1o
>>332 ですが、最初の投稿が妙な文章になってしましました。訂正させてください。
WindowsUpdateについて質問させてください。
以下のような構成のネットワークで
+--------+ +---------------------+
|pc1(NIC)+----+(eth0)pc0(ppp0(eth0))+----(ADSL Modem)
+--------+ +---------------------+
winxp linux
下記の設定(抜粋)でiptablesを使用しています。今回、pc1を追加したところWindowsUpdateが
出来ない事が分かりました。このネットワークにWindowsBoxを繋ぐのは今回が初めてで過去に
WindowsUpdateが成功した実績はありません。失敗時には、Internet Explorerに以下のエラー
表示がでます。
>サーバーが見つからないか、DNSエラーです。
>Internet Explorer
(
>>333 に続きます)
>>332 > サーバーが見つからないか、DNSエラーです。
って言われてるんでしょ。
名前解決は出来てるの?
337 :
332 :04/12/08 06:01:40 ID:Ttu7wOBL
>>336 WIndowsBoxはISPのDNSを指定しており、ネットサーフィンは普通に出来ていますので
DNSの設定は出来ていると考えているのですが…もしかしてWIndowsUpdate時は特別な
DNSを指定しなければならないのでしょうか?
>>337 nslookup 出来るかどうか聞いてるのだが。
339 :
332 :04/12/08 08:17:13 ID:U3IuB3Nf
>>336 >>337 の追記です
pc1側(nslookup)、pc2側(host)でそれぞれDNSに問い合わせてみましたが
DomainName->IPへの名前解決は行なわれていました。
モデムと直結して確認してみろ。 そのあとは再インスコ忘れるな。
遠隔地のサーバにiptablesの設定をすることになったんだが ルールを間違えて流し込んで、sshがつながらなくなったらと 思うとガクブルだ・・・
>>332 pc1の環境やOSが不明なのでエスパー的にXPを思い浮かべておく
1.pc1でウイルスチェックをかける
2a.他のネットワーク環境下にpc1を持っていってそこでWindowsUpdateを実行する
問題の切り分けをwindowsとその他に分けること
ここで実行できたならばwindows以外の問題、3か4に進む
2b.再インストールを前提に直接モデムにつないでWindowsUpdateを実行する
これでも実行できない場合はwindowsの設定の問題、別板へ
直接モデムで実行できないうえに、
パーソナル(windows)ファイアウォールがインストールされている環境ならば、
恐らくそのソフトの設定の問題、別板へ
3.iptablesにログを記録する設定を追加しpc1からのパケットがDROPされていないか調べる
記載されているiptablesのスクリプトには不可思議な点があるが触れないでおく
凡例
---------------------------------------------------------------
$IPTABLES -A INPUT -p tcp -j LOG --log-prefix "IPTABLES TCP "
$IPTABLES -A INPUT -p udp -j LOG --log-prefix "IPTABLES UDP "
$IPTABLES -A INPUT -p icmp -j LOG --log-prefix "IPTABLES ICMP "
---------------------------------------------------------------
ここでsyslogやmessagesに記録が残るならば中略されているiptablesの設定が問題かも
4.tcpdumpやetherealで調べる
WinMXを使うにはどのように設定すればいいんですか?(・∀・)ニヤニヤ
345 :
login:Penguin :04/12/15 00:19:55 ID:igpvdzbT
Vine 2.6でルーターを実現しようとしています。 DHCPサーバーはできたのですが、外に中からでていくことができません。 まずはセキュリティが甘くてもよいので、 /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE としたのですが、中からインターネットに出れないです。 サイトもいろいろ見て回ったのですが、 どこで躓いているのか、調べ方がわかりません。 教えていただけたらうれしいです。よろしくお願いいたします。
>>345 /sbin/iptables -L FORWARD
cat /proc/sys/net/ipv4/ip_forward
結果見せて。
347 :
345 :04/12/15 00:31:30 ID:igpvdzbT
>>346 レスありがとうございます。
/sbin/iptables -L FORWARD
Chain FORWARD (policy ACCEPT)
target prot opt source destination
cat /proc/sys/net/ipv4/ip_forward
1
以上です。
上の結果が、空っぽってのが、、、、
どうなのでしょうか?
よろしくお願いいたします。
348 :
346 :04/12/15 01:04:42 ID:NB+8sifS
デフォルトポリシーが ACCEPT なら FORWARD が空なのはソレとして、 /proc/sys/net/ipv4/ip_forward も 1 になってるなら、、うーん。。 ちなみに、その「ルータ候補の内側に居るマシン」から「ルータ候補そのもの」への ping は通りますか?DNS は引けてますか? (ping は通ってるっぽいですね。もしかしなくても)
349 :
345 :04/12/15 01:13:16 ID:igpvdzbT
>>348 お返事ありがとうございます。
nslookup inetアドレス
とするとひけないようです。
そもそも、寮でグローバルアドレスを与えられていないのです。
>>349 routeのテーブル間違ってないかチェック汁。
ちゃんとデフォルトゲートウェイとかが外にむかっとるかどうか
> そもそも、寮でグローバルアドレスを与えられていないのです。
DNSはどこぞの容易されてるやつがあるんだろうから
ルーティングテーブルが狂ってるんじゃDNSにも聞きに行けないわけで。
>>349 > そもそも、寮でグローバルアドレスを与えられていないのです。
いったい、どことどこをルーティングしたいの?
簡単なネットワーク構成を晒した方がいいと思うよ。
>>346 LinuxBoxのNICの数とかネットワーク環境がわからん
WAN側とLAN側でどんなIPが付与されるのかとか
とりあえず
# lsmod
ipt_MASQUERADEが読み込まれているか確認
354 :
346 :04/12/15 01:35:00 ID:NB+8sifS
>>349 えと。今実際に自分の手元でルータ側とクライアント側をいじってみながらコレ書いて
みてるのですが、俺も詳しい人では無いので許して下さい。
ルータの内側に居るクライアントマシンが何処の DNS サーバから情報引いてるか
確認して、もし ルータ候補マシンが DNS サーバを兼任してるなら、
/sbin/iptables -A INPUT -i (クライアント側インタフェース 例: eth1) -j ACCEPT
を許可。あと、クライアントマシンが DHCP で受けてるデフォルトゲートウェイに
ping が届いているかを試してみて下さい。
355 :
345 :04/12/15 07:43:36 ID:ydoUTOln
みなさんお返事有難うございます。 寝てしまいました。今日は会社から帰ってきたら、再開したいと思います。
356 :
345 :04/12/16 14:52:48 ID:8PQdnoaN
みなさんレスありがとうございました。 どうやらdhcpd.confのDNSが間違っていたことが原因のようです。 お騒がせしました。 resolve.confを見て、書き直しました。 ただ、よく理解できていないのは、DNSが変更された場合、自動で書き換えることが できないのではないか?ということです。 構成は次です。 vDSLモデム --- Linuxルーター ---ローカルのマシン 何か方法があるのでしょうか?
>>356 意味不明。
だいたいグローバルIPアドレスはないんじゃなかったっけ?
DNS も DHCP もスレ違い。
>>356 家は市販ルータだがDNSはルータが転送してくれるのでローカルのマシンのresolv.confは
ルータをさしてる。 だから正しいやりかたはdhcpd.confでDNSは自分を指し、ルータ上では
フォワーディングのみのDNS鯖を走らせる。 こうすれば上流のDNSが変わっても
それを知る必要があるのはルータだけなので大丈夫。
359 :
345 :04/12/17 23:34:26 ID:D531FJ3e
>>358 わかりました。
理解しやすい説明ありがとうございます。
DNSの知識が足りなかったようです。
参考になりました。
>>357 おっしゃるとおり、結局スレ違いになってしまい、申し訳ありませんでした。
みなさん、ありがとうございました。とても参考になりました。
360 :
login:Penguin :04/12/18 22:33:21 ID:gP+Ps1md
どこで聞くべきか迷ったのですが、ここにしてみます。 PPPサーバー兼、ルーターマシンを使った以下のような構成を考えます。 PPPサーバー +--- +---+ ***ppp0 + A +------+ B | Apatch(Webサイト) (a) (b) +---(c) (d) +---+ a) 192.168.1.1 b) 192.168.1.2 c) 192.168.100.1 d) 192.168.100.2 ppp0からWebに閲覧する際のデータ通信の経路制御について質問です。 上のような構成でダイアルアップからサイトにアクセスしてデータを受信するためには、 上り側(A−>B) 192.168.1からのパケットをBに投げるために経路制御情報を追加する 下り側(B−>A) 192.168.100からのパケットをとりあえずデフォルトゲートウェイとしてAを登録しておいて Aに投げておき、Aがppp0にそのパケットを送信する。 という手順になると思いますが、上り側はIPフォワーディングの設定をしたら何か通ったん ですが、ちゃんと経路制御情報をテーブルに追加した方が良いのでしょうか? 下り側は、BにAをデフォルトゲートウェイとして経路情報与えてやれば良いと思いますが そのAに届いた192.168.1向けのパケットをppp0に渡すのもIPフォワーディング設定 (sysctl.confの設定)のみで良いのでしょうか?ちゃんと経路制御情報登録した方が 良いんでしょうか?その場合、回線が繋がってる時じゃないとroute addしようとすると ppp0が見えないので弾かれてしまいます。 すみませんがアドバイスお願いします。
361 :
360 :04/12/18 22:38:19 ID:gP+Ps1md
すみません、図がずれまくりでした pppサーバー Apathc(Webサイト) +---- +----- ***ppp0 A+----+B | +---+ +-----+ (a) (b) (c) (d)
362 :
360 :04/12/18 22:39:23 ID:gP+Ps1md
>IPフォワーディングの設定 というのは、sysctl.confでフラグを1に設定しただけです。
たまに出てくる話題,netmask の演算だけど,Debian なら apt-get install netmask してみると幸せになれるかも。copyright 見る限りどこからソース持ってこれるか わかんないのでとりあえず Debian ユーザへ。
>>363 を、こりゃいいです。お手製スクリプトでやってたけれど、できることが多い。
363氏サンキュー。
ちなみにこんな感じですた。
$ netmask 10.0.0.0:+65535
10.0.0.0/16
$ netmask -cidr 10.0.0.0:+65535
netmask: add first {0a000000/ffff0000}00000000/00000000
10.0.0.0-10.0.255.255 (65536)
$ netmask 10.0.0.7:+18# <=== まー変態チックだが、いじわるしてみる
10.0.0.7/32
10.0.0.8/29
10.0.0.16/29
10.0.0.24/31
$ netmask -b 10.0.0.0
00001010 00000000 00000000 00000000 / 11111111 11111111 11111111 11111111
たまたま私もDebなんで、apt-getで済んじゃったけれど、たぶんここが一次ソース
かな(無保証)。2.4が置いてある。
ttp://trap.mtview.ca.us/~talby/
これの設定ってマジ面倒臭そうだよね
いえ?
368 :
login:Penguin :04/12/24 08:47:58 ID:SEkZ0X2i
iptables を、ファイアウォールとして使おうと思っております。
参考にしているサイトは、
http://www.miloweb.net/iptables.html です 。
| 自端末からの入力を許可
| 自分自身からの入力を全面的に許可します。
| # iptables -A INPUT -i lo -j ACCEPT
上に引用した部分についての質問なのですが、
まず、自分自身からの入力とはどういった意味なのでしょうか?
INPUT は、インバウンドトラフィックの事だと思いますが、
Linuxマシンを直接操作してもインバウンドの通信は行われてませんよね…。
あと、上記のコマンドを入力すると、iptables -L で確認したときに、
下のようになります。
これでは、INPUT の 「all」 を許可している事になり、
全てのINPUT(インバウンドトラフィック)を許可している事にはならないのでしょうか?
| Chain INPUT (policy DROP)
| target prot opt source destination
| ACCEPT all -- anywhere anywhere
ご教示お願い致します。
>>368 自端末ってのは意味不明。
lo は自分自身(127.0.0.1)。
man iptables より
> The exact rules are suppressed until you use
> iptables -L -v
370 :
368 :04/12/24 11:08:30 ID:SEkZ0X2i
>>369 ご教示ありがとうございます。
lo の意味が大変よく分かりました。
しかし、自分自身のインバウンドパケットを許可すると言う意味が分かりません。
自分が発信して自分が受信するパケットということですよね。
それは、NICやLANを経由していないのに、ファイアウォールで遮断されるという事なのでしょうか。
iptables -A INPUT -i lo -j ACCEPT というコマンドで、
一般のWEBサーバで何が変化するのかが知りたいです。
お願いします。
>>370 自分から自分へのパケットも iptables -P INPUT DROP とすれば
ルールを追加しない限り遮断されるよ(NIC を通るかどうかは関係ない)。
「一般のWEBサーバ」って言われてもどーゆー構成を想定してるか
さっぱりわからんのでコメント不可。
そのページ見てみたけどなんかヘンなような...。
iptables -P INPUT ACCEPT する意味がわからん。
372 :
370 :04/12/24 13:51:07 ID:SEkZ0X2i
>>370 ありがとうございます。
> 自分から自分へのパケットも iptables -P INPUT DROP とすれば
> ルールを追加しない限り遮断されるよ(NIC を通るかどうかは関係ない)。
どうも感覚的に自分から自分へのパケットというのが理解できません…。
例えば、実機で「ls」 とコマンドを打った場合には、
自分から自分へパケットが送信されている事になるんでしょうか…。
良く分かりませんが、このルールも追加しておく事にします。
> iptables -P INPUT ACCEPT する意味がわからん。
デフォルトで、ACCEPT になっていたので意味は無いかも知れませんね。
あのページでは最後に、DROPにしていましたが…。
SSH経由でルール無しに「iptables -P INPUT DROP」とやったら、
SSHの通信も遮断されて遠い倉庫に行く羽目になりました…。
しかも、モニターも付いてなかったから非常に大変だったよ_| ̄○
>>372 自分から自分へのパケットを遮断すると、たとえば
wget
http://localhost/ でエラーがでます。
その他、127.0.0.1 にアクセスするプログラムがある場合に、
おそらく接続が遮断されることになるので、エラーが頻発する
ことになると思います。
ls は通常 IP 接続しないので、iptables の影響は受けませんが、
NIS サーバを自分自身のマシン上で実行していて、それと
127.0.0.1 経由で通信しているような環境であれば、
ユーザ名/グループ名の解決に問題がでるかもしれません。
ifconfig lo で RX packets が 0 なら遮断しちゃってもいいかもしれんが、 遮断する意味があるとは思えんのでまあ開けておくのが吉だろ。
375 :
370 :04/12/25 08:11:46 ID:y+thdmI2
>>373-374 なるほど。
自分から自分へのパケットの遮断とはそういった意味だったのですね。
192.168.0.x などと自分のIPアドレスを直接していしたり、localhost などを読み取ったりした場合に、
接続が遮断されるということですね。
Windows用のFWでは、そういったのは許可されるのが当然みたいだったので、概念をうまく理解できなかったようです。
無知な自分に丁寧に教えて頂き本当にありがとうございました。
深く感謝致します。
皆様から教えて頂いたおかげで iptables のルールが完成したのですが、
このルールでセキュリティ上の問題が生じるでしょうか?(iptables -L で表示されるものにスペースを加えています。)
公開しているのは、WEBサーバのみでFTPやSSHはLANからのみを対象としております。
376 :
370 :04/12/25 08:14:16 ID:y+thdmI2
Chain INPUT (policy DROP) target prot opt source destination ACCEPT icmp -- anywhere anywhere ACCEPT tcp -- anywhere anywhere ACCEPT udp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp spt:http ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ftp-data ACCEPT tcp -- 192.168.0.0/24 anywhere tcp spt:ftp-data (文字数オーバーなので次レスへ続く)
377 :
370 :04/12/25 08:17:15 ID:y+thdmI2
ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ftp ACCEPT tcp -- 192.168.0.0/24 anywhere tcp spt:ftp ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ssh ACCEPT tcp -- 192.168.0.0/24 anywhere tcp spt:ssh ACCEPT tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5 (長いので改行) ACCEPT icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5 (長いので改行) Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination レスを消耗して申し訳ありませんでした。 このルールに変な点が御座いましたらご指摘頂けると幸いです。
>>376 見事にダメダメ。
っていうか素直に Windows 用の FW 使ってた方がよいのでは?
iptables 使いたかったらもうちっと自分で勉強した方がいいと思う。
おかしいとこ指摘してあげようと思ったけど、あまりにひどすぎる。
379 :
376 :04/12/25 09:23:03 ID:y+thdmI2
>>378 ご指摘ありがとうございます。
サーバ機が低スペックなので、OSとしてWindowsを採用するのが難しい状況です。
とりあえず、正常に動いて喜んでいたのですが、おかしいところが多いという事なので、
調べてみようと思います。
>>379 つながったら OK というものではないので他のマシンから
いろいろ試した方がいいと思う。
特に意図しないプロトコルで接続できないことを確認した方がよいのでは。
あとこれはテストしても分からないと思うので一応言っておくと
source port が http とか ftp から来るパケットはないと思うよ。
>>380 偉そうに言っといてなんなんだが、一点訂正。
> あとこれはテストしても分からないと思うので一応言っておくと
> source port が http とか ftp から来るパケットはないと思うよ。
これは間違いだね、申し訳ない。
正しくは
戻りのパケットは source port で判断しないで TCP Flug で
判断した方がよい。
だった。
383 :
login:Penguin :04/12/25 14:44:13 ID:rQWkWvUi
中国と韓国からのアタックを阻止したい どっかIPと一発設定スクリプトが書いてあったページがあったのだが…だりかしらん?
385 :
370 :04/12/26 12:27:47 ID:5gPkxi1/
>>378 自分で少し勉強してみた所、見事に駄目駄目であることが自覚できました。
以前、自分が作った
>>376-377 のルールだと、ICMP,TCP,UDP のインバウンド接続を
全て許可してしまっているのですね。
これじゃあ、ファイアウォールの意味が殆ど無かった…。
ということで、INPUT のルールを修正してみました。
丁寧に教えて頂き本当にありがとうございました。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ftp-data
ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ftp
ACCEPT tcp -- 192.168.0.0/24 anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp flags:SYN,RST,ACK/SYN limit: avg 1/sec burst 5
ACCEPT icmp -- anywhere anywhere icmp echo-request limit: avg 1/sec burst 5
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ルータがクラックされた時とかLan内のコンピュータからの攻撃にに iptables は力を発揮する。 ルータが無いのは一般的には論外かと。
387 :
386 :04/12/26 16:12:31 ID:9zFwFOLZ
間違えたので訂正します。 誤)Lan 正)LAN
ルータとかホザいてる奴が固い事言うなや
>>385 もうちょっとだね。
all とか anywhere って必要?
うちは両方使ってないよ。
-i とか -o のインターフェース指定をうまく使った方がいいと思う。
あと、この間も言ったけど「意図しない接続を弾くこと」の確認ってしてる?
インターネットからのポートスキャンと LAN 内からのポートスキャンだけでも
大分分かると思うよ。
定義を作る前に要件(どことどこの間でどんな通信をするか)をまとめ
試験項目表を作ることを勧めたい。
390 :
login:Penguin :04/12/27 10:33:01 ID:fIjpUNnR
>>389 ブルーバックアトレスを使うためには必要じゃまいか?
>>389 > all とか anywhere って必要?
iptables -L とかやると普通に出てくるね。。。
最近、あほなレスばかりしてしまってる。orz
>>391 そんな事は無いよ。
初心者に一生懸命に教えているお前は偉い。
>>392 ありがとう。
そう言って貰えるとうれしいよ。
394 :
370 :04/12/29 19:36:29 ID:LWL1w+b/
>>389 教えて頂いた内容をヒントに、iptables について勉強してみようと思います。
本当にありがとうございました。
ある程度まともなルールが作れるようになったら、再度お礼に参りますね。
ファイアウォールの再設定を行って再起動かけたところ、起動途中でフリーズしてしまいました。
ファイアウォールルールを適用中:[ OK ]
チェインポリシーを ACCEPT に設定中[ OK ]
iptables モジュールを取り外し中[ OK ]
iptables ファイアウォールルールを適用中:[ OK ]
ここでフリーズしてしまいます。マウスカーソルは動きますがこれ以外の反応は無し。
HDDが動く様子もなく、撃沈。
再起動前に行った設定は、http,ftp,pop,smtpのACCEPTとINPUT,OUTPUT,FORWARDをDROPにして、
pingを1/s以下の速度で行った場合に制限をかけるくらいです。
その間に何度もiptablesサービスの再起動、設定項目のセーブを行いました。
スタンドアロンにして起動しても同じ現象が起きます。
今回参考にしたサイトは、
ttp://www.miloweb.net/iptables.htmlです 。
解決方法または、原因がわかる方いましたら、ご教授お願いします。
>>395 syslog は?
iptables を止めれば問題ないの?
397 :
395 :04/12/29 23:16:37 ID:lnILg2km
それ試してませんでした。 試してみます。
398 :
login:Penguin :04/12/29 23:42:12 ID:LWL1w+b/
Vine Linux 3.1 を使用しております。 iptables でファイアウォールを構築した後に「/etc/init.d/iptables save」 というコマンドで、 ルールを保存しているのですが、再起動するとファイアウォールのルールが初期化されて しまいます。 これは、どうすれば回避できる問題なのでしょうか? お願い致します。
>>398 save すると下記ファイルに書き込まれるんで、タイムスタンプと中身を確認してみな。
# ls -alFs /etc/sysconfig/iptables
>>395 # iptables -A INPUT -i lo -j ACCEPT は忘れてない? これは良くハングするきっかけになる。
> OUTPUTをDROP
もまずい。 とりあえずこれをACCEPTに。
> 今回参考にしたサイトは、
ttp://www.miloweb.net/iptables.htmlです 。
これ初めて眺めてみたけどほんとにここで書かれたルールで使えるのかな?
-m state --state ESTABLISHED,RELATED -j ACCEPT
のルールが無いのが非常に気になる。 これは必須だと思ってたのだが。
401 :
370 :04/12/30 00:04:36 ID:Im6vBRfE
>>399 ありがとうございます。
今、試して見ましたが 「/etc/sysconfig/iptables」 のタイムスタンプは、
「/etc/init.d/iptables save」 の実行時になっていましたし、
内容もしっかりと記述されておりました。
それなのに、OSの再起動後にファイアウォールルールが初期化されてしまうのは、
何故なんでしょうか…。
お願い致します。
>>400 その解説サイトについてですが、
最新版である「iptables v1.2.10」で検証した結果、解説通りにファイアウォールを構築すると、
ICMP,TCP,UDP のインバウンド接続を全て許可してしまう事になります。
| まずは、ザックリした設定を行います。
| icpm( ping )、tcp 、udp を許可します。
| これは、全てのポートを許可するというワケではありません。
| 最終的にどのポートを許可(もしくは拒否)するかは、個別に設定しなければなりません。
という部分が一番の問題で、「全てのポートを許可するというワケではありません。」と解説にありますが、
実際に検証してみると、ICMP,TCP,UDP の全てのポートを許可する結果になってしまうんですよね…。
402 :
400 :04/12/30 00:30:12 ID:y+XrH3Tw
>>401 > 実際に検証してみると、ICMP,TCP,UDP の全てのポートを許可する結果になってしまうんですよね…。
あ、そうか。だから
-m state --state ESTABLISHED,RELATED
が無くても外に投げたパケットの返答が戻ってくるのですね。すげ〜ガセサイト。
403 :
395 :04/12/30 00:52:07 ID:QvWv5Zzt
皆さんレスありがとうございます。
>>400 ># iptables -A INPUT -i lo -j ACCEPT は忘れてない? これは良くハングするきっかけになる。
してませんでした。ハングするきっかけになりやすいってことは、
一番の原因はこの可能性が高いってことですね。
>>401 >実際に検証してみると、ICMP,TCP,UDP の全てのポートを許可する結果になってしまうんですよね…。
わざわざ検証してくださったんですか。ありがとうございます。
全部許可してしまうんですか。それじゃぁ、ファイアーウォールの意味がないですね。
お風呂入る前にLinux起動しといて、タイムアウトで起動NGになってパスされるかなと思ったんですが、
iptablesのところでまったく動かなくなってますね。何とか起動する方法はありませんか?
再インストールですかね。
404 :
400 :04/12/30 01:28:08 ID:y+XrH3Tw
>>403 > 何とか起動する方法はありませんか
boot: プロンプトでlinux single
シングルユーザモードで立ち上がったら編集したiptablesの設定ファイルを削除して
からexitでどうかな?
>>401 /etc/init.d/iptables にデバッグプリント入れて shell が意図したとおりに
実行されていることを確認してみたら。
>>403 シングルユーザモードで起動すれば OK だよ。
起動したら、syslog の最後らへん(止まってた場所)を晒すといいことあるかも。
ちなみにファイルはこれね。
/var/log/messages
406 :
400 :04/12/30 02:12:39 ID:y+XrH3Tw
>>403 > 一番の原因はこの可能性が高いってことですね。
いや、考えたらOUTPUT DROPの方があやしいな。
>>401 やっぱりあれはまずいと思ってサイトのwebmasterにメール送っときました。
408 :
395 :04/12/30 11:54:25 ID:QvWv5Zzt
ここは親切な方たちが多いですね。 いろいろ勉強になりました。本当にありがとうございます。 今は忙しくて出来ませんが、暇なときに教えてもらった情報やサイトを参考にやってみます。
409 :
login:Penguin :04/12/30 18:20:01 ID:oa+aw/wc
質問があります。よろしくお願いします。 SMTPサーバーを立てて、LAN内からのみメール送信を許可したいと思っています。 SMTPサーバー自体の設定でLAN内のホストからのみ送信を許可するように設定しました。 そしてもっと上流でもアクセス制限をかけたいと思い、 iptablesで25番ポートに対するルールを作成しようと思ってます。 しかし25番ポートをLAN内からのみアクセスを許可するようにした場合、 外部から送られてきたメールをSMTPサーバーが受け取ることができなくなると思うのですが、 送られてきたメールを受け取りつつ、SMTPサーバーにはLAN内からのみアクセスできる ようなルールを作ることは可能でしょうか? 自分で考えたルールは以下の通りです。 # 送信元ポート番号が25番で、且つ宛先ポート番号が25番の場合、許可する iptables -A INPUT --sport 25 --dport 25 -m state --state NEW -j ACCEPT # 送信元ホストが192.168.1.0/24で、宛先ポートが25番の場合、許可する iptables -A INPUT -s 192.168.1.0/24 --dport 25 -m state --state NEW -j ACCEPT
>>408 がんばってちょ。
>>409 > SMTPサーバー自体の設定でLAN内のホストからのみ送信を許可するように設定しました。
それでいいんじゃない?
Relay の制御は SMTP サーバの仕事だと思う。
むしろ、L3 レベルで制御する方が気持ち悪い。
あと、そのルール試してみた?
411 :
409 :04/12/30 21:40:37 ID:oa+aw/wc
>>410 このルールではLAN内からメールの送信はできましたが、
メールの受信はできませんでした。
やはりまだiptablesに対する理解が浅かったです。
サーバーの方で不正中継を防ぐように設定できているので、
25番ポートは普通に外部に開いておくことにしてみます。
ありがとうございました。
一応作成したルールを一部抜粋しておきます。
# デフォルトルール
iptables -P INPUT DROP
iptables -P OUTPUT DROP
# 25番ポートへのアクセスを許可
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
# 外部メールサーバーへのアクセスを許可
iptables -A OUTPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
# セッション確立後のパケットを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
>>411 これを外せば逝けるんじゃない?
-m state --state NEW
調べてないからアテカンなんだけど、 state NEW って SYN パケットのことじゃなかったっけ?
もし、そう仮定するならスリーハンドシェイクが確立出来ないと思う。
@の SYN とAの SYN ACK は通ると思うけどBの ACK が通らないんじゃない?
Client Server
----- @ ----->
<---- A ------
----- B ----->
414 :
409 :04/12/31 01:16:05 ID:44WtofM5
>>412 調べた所、NEWステートはconntrackモジュールが初めて検出したパケットに合致するもので、
必ずしもSYNパケットとは限らないようです。
自分の理解では25番ポートに対して初めての接続要求だった場合、
iptables -A INPUT -p tcp -m state --state NEW --dport 25 -j ACCEPT
のルールによりACCEPTされて、以降のセッションは
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
のルールによりACCEPTされるのかな、と考えています。
このルールならメールは送信も受信もすることができました。
もう少しステート機構について調べてみてから試行錯誤してみます。
ありがとうございました。
iptables は、良くできたファイアウォールだよね。
>>407 でも、そのサイトの作者のプロフィールによると職業はシステムエンジニアだそうだ。
iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -P FORWARD DROP iptables -P OUTPUT DROP iptables -A OUTPUT -o lo -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
>>416 SE だから正しいとは限らない。
俺みたいな奴も(ry
>>416 会社での肩書が何であれプログラミングの
出来るヤツはプログラマーを名乗る。
システムエンジニアを名乗るヤツは
プログラミング能力の無いカス。
プログラミングの出来ないSEが書いた仕様書は
そのままじゃ実装出来なくて、プログラマーが
仕様書から作り直さなきゃならない。
趣味なのに厨房Linuxなんか使ってるし…。
>>419 iptablesの話から飛躍しすぎだな。
おまいみたいなヤツはウザがられるよ。
421 :
406 :05/01/03 23:57:17 ID:JJqBRZqd
ちなみにmiloweb.netの中の人には勉強不足であった事を認識していただいて 上記のページは削除していただきました。
>>421 GJ。
しかし、削除して終わりとは。。。
いくら自己責任とはいえ、信じた人がかわいそうだな。
掲示板に質問してるヤツがいるけどスルーされてるし。 まあ、楽しいお正月だし、管理人も面倒なことはやりたくないわな。
携帯からPCにポートスキャンするアプリって無いのかな 今ルータの設定してるんだけど、ちゃんと無駄なパケットは捨ててるのか気になる airH"とか持ってれば解決なんだが
>>423 そこだけじゃなくて、他のサイトにも同じ間違いが載ってるよ。
こっれじゃあ、全てのインバウンドトラフィックを許可している事になるね。
http://vine-web.no-ip.com/iptables.html > また設定したルールを削除したい場合は"-A"の部分を"-F"にするだけです。
> 仮にWEB(80ポート)に対してのルールを削除する場合は以下の様になります。
ここらへんの解説も miloweb.net と同じだよ。
「-F」 にしても、消えませんが。「-D」 なんだけどね。
以前にも質問した気がするんだけど解決しなかったのでもう一度質問させて貰って良いか? Vine Linux 3.1 (Vine Linux 3.0 からアップグレード) を使っているんだけど、 ルールを設定した後、「service iptables save」 というコマンドで設定を保存しても、 再起動すると iptables のルールが戻ってしまうんだよ。 「/etc/init.d/iptables save」 にしても、同じ現象が発生してしまう。 [root@dhcppc0 init.d]# service iptables save 現在のルールを/etc/sysconfig/iptablesに保存中: [ OK ] [root@dhcppc0 init.d]# /etc/init.d/iptables save 現在のルールを/etc/sysconfig/iptablesに保存中: [ OK ] [root@dhcppc0 init.d]# こんな感じで、エラーも出ずに保存処理が行われているし、 「/etc/sysconfig/iptables」 には、ちゃんと設定が書き込まれているんだけど…。 ご教示お願いします。
>>428 起動時にそれを読んでるか確認した?
iptables の話というよりは /etc/init.d/iptables のデバッグだよね。
まずは単体で動作を確認してダメなら修正。
OK だったら、reboot して再確認。
>>428 ここで聞く内容じゃない。
Vineスレかくだ質に逝け。
男→漢
どうでもいいとは思いつつ。。。 インターフェイスの変数名がINT_IF/EXT_IFなら, > # iptables を動かすマシンの IPアドレス > LOCALHOST="192.168.11.1" とか, > # グローバルIPアドレスを設定する > SERVER="XXX.XXX.XXX.XX1" は,INT_IP/EXT_IPとかだと思う。
>>435 ご指摘ありがとうございます。
変数名は大事だよね。
修正しました。
Ident対策は要らないのかな?
ところでネットラヂヲを聞きたいんだけど(鯖立てじゃなくて) 鯖のポートが8000だったり9000だったり 通信がtcpだったりudpだったりとマチマチなんだよね。 非特権ポート全許可ってのもアレな気がするんで、いい案ないっすか?
相手の鯖が固定ならIPアドレスで許可してしまってもいいんでない?
>>437 IN も OUT も許可していないからいいと思うけど、明示的に DROP するようにします。
修正しようと思ったら別の場所でミスを発見した。
Windows で使用するポートを明示的に DROP するところで source ポートを指定しなきゃいけないのに
destination port になってた。。。
>>437 のおかげで発見出来た、ありがとさんです。
>>438 お家のネットワークだったら LAN -> 外 はそんなに気にしなくていいんじゃない。
サンプルでは LAN -> 外 はみんな通してる。
# 名無しさんがサンプル用のページを作ってくれたんで、今後ファイルは更新せずサンプルページを更新します。
>>440 Ident対策ってのは、外→内で113をDROPしてるとメールやftpで接続する時に
タイムアウトまで待つハメになる事があるんでREJECT --reject-with tcp-resetする、って話。
iptablesのmanにも書いてあると思うけど。
>>441 ご指摘ありがとうございます。
思いっきり勘違いしてた。。。
修正しました。
443 :
431 :05/01/25 23:52:38 ID:/ZoA84++
>>443 > # 自分から自分は許可
って皆こう書いてる? 自分はいつも以下のように書いてるのだが。
$IPTABLES -A INPUT -i lo -p ALL -j ACCEPT
127.0.0.1は当然だが、物理インターフェースに割り当てられた自分のアドレスに対して
送ったパケットも最適化されてlo:インターフェースを通じて帰ってくるのでこのルールで
対処出来る。 一行ですむから楽だと思うのだが。
漏れは $IPTABLES -A INPUT -i lo -j ACCEPT -pは指定しなけりゃallと等価でしょ。 >Protocol all will match with all protocols and is taken as default when this option is omitted.
>>444-445 修正しときました。
ありがとうございます。
今まで 4行で表していた定義が 1行ですむ。
なんだか分からないけど妙に嬉しいですよね。
>>444-445 $IPTABLES -A OUTPUT -o lo -j ACCEPT
これっていらないの?
自分のスクリプトはいつもINとOUTの両方を書いてるんだが,入れなくてもいいものなの?
>>449 これいいですね。
これあればサンプル要らなそう。。。
451 :
444 :05/01/27 01:53:30 ID:EJuBS2/A
>>447 うちは怠慢でOUTPUTのポリシーはACCEPTにしてました。 中の人ごめんなさい。
これってDQN?
中の人じゃないけど、漏れも $IPTABLES -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT とかしてたから大丈夫。
netfilter.orgのdevel mlにSIP用モジュールが出てたから試してみたが、音声専用なんだな。 原理的には音声と同じようにすれば映像にも対応できるんだろうけどソース読むのメンドクサ…
454 :
447 :05/01/28 07:45:47 ID:f4WC23D8
そか。
インターフェイス指定しないで,
>>452 みたいにしてれば,
loの許可出すとこでは特に指定しなくてもいいって事か。
理解理解。
455 :
453 :05/01/28 13:05:37 ID:ylL2jGxr
---ここからチラシの裏--- このモジュールはUDP5060番(ip_conntrack_sip.hで定義)にくるINVITEを監視して動作するらしい。 つまりMSN MessengerのようにINVITEから動的にポートを変更しているものには対応できない。 ---ここまでチラシの裏---
457 :
login:Penguin :05/02/08 11:28:00 ID:06i1G8hS
GJ
460 :
458 :05/02/10 18:35:23 ID:N/gB3wDK
1.3.0 出ましたな。
メジャーバージョンが上がった割には変更点少な目?
463 :
463 :05/02/23 14:39:29 ID:evcKgekJ
あるネットワークカードのmacアドレスの場合のみにssh(22)のアクセスを許可しようと思い、下のように設定したところ エラーになってしまいました。macアドレスでの指定はできないのでしょうか。ipablesのバージョンは1.2.3です。 #iptables -A INPUT -p tcp -m tcp --mac-source **:**:**:**:**:** --sport 22 -j ACCEPT #iptables -A INPUT -p tcp -m tcp --mac-source **:**:**:**:**:** --dport 22 -j ACCEPT
465 :
463 :05/02/23 15:35:45 ID:evcKgekJ
>>464 思いこみは禁物ですね。うまく設定できました有難うございます!
466 :
login:Penguin :05/02/26 22:33:42 ID:stPZRbnk
なんとなくではマスターとは言わない
468 :
login:Penguin :05/03/08 06:08:33 ID:Qpzo4I6p
下記のようなポリシーで自宅鯖を運営しています。
外部からの接続: HTTPのみ許可
LANからの接続: FTP,SSHのみ許可
その場合の設定を、
>>468-469 のように記述したのですが、
何か問題は無いでしょうか?
ご教示お願いします。
469 :
login:Penguin :05/03/08 06:08:53 ID:Qpzo4I6p
#!/bin/sh # ポリシーの決定 iptables -P INPUT ACCEPT iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # ルールのクリア iptables -F # ループバックアドレスの許可 iptables -A INPUT -i lo -j ACCEPT # SYN,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 # HTTP の許可 iptables -A INPUT -p tcp --dport80 -j ACCEPT # ローカルエリアネットワークからの SSH,FTP の許可 iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT # 個別に設定を行っていないインバウンド接続の拒否 iptables -P INPUT DROP
470 :
login:Penguin :05/03/08 06:10:07 ID:Qpzo4I6p
ちと、
>>468 の文章をミスりました。
お詫び申し上げます。
誤) その場合の設定を、
>>468-469 のように記述したのですが、
誤) その場合の設定を、
>>468 に記述しようと思うのですが、
471 :
login:Penguin :05/03/08 06:10:36 ID:Qpzo4I6p
ちと、
>>470 の文章をミスりました。
何度も何度も申し訳ありません。
誤) その場合の設定を、
>>468-469 のように記述したのですが、
正) その場合の設定を、
>>468 に記述しようと思うのですが、
>>468-471 何が言いたいのか余計分からなくなるばかりだが… (^^;
再度、修正した文章を上げ直す方が良いぞ!
ルールのクリアと、ポリシの決定が逆。 よって、最終行も不要。
最終行がなかったら一切フィルタリングされないんじゃないか?
INPUTもOUTPUTもACCEPTのようだが
478 :
login:Penguin :05/03/11 20:13:46 ID:4kvtOdrH
iptablesのログ管理でulog-php使っている人います?
ttp://www.inl.fr/article.php3?id_article=7 試してみたんだけど、ブラウザでアクセスしても
query invalid :select state from cache_task;
こんなメッセージしか表示されない。ググッてもみたんだけど情報が・・・ない。
あと、ulogd_MYSQL.soを使用するようにしてulogdを起動させると
Fri Mar 11 19:07:11 2005 <3> ulogd.c:487 ulogd Version 1.22 starting
Fri Mar 11 19:07:11 2005 <1> ulogd_MYSQL.c:252 allocating 4304 bytes for statement
Fri Mar 11 19:07:11 2005 <1> ulogd_MYSQL.c:276 stmt='insert into ulog (ahesp_spi,icmp_fragmtu,icmp_gatewa
y,icmp_echoseq,icmp_echoid,icmp_code,icmp_type,udp_len,udp_dport,udp_sport,tcp_fin,tcp_syn,tcp_rst,tcp_ps
h,tcp_ack,tcp_urgp,tcp_urg,tcp_window,tcp_ackseq,tcp_seq,tcp_dport,tcp_sport,ip_fragoff,ip_id,ip_csum,ip_
ihl,ip_totlen,ip_ttl,ip_tos,ip_protocol,ip_daddr,ip_saddr,oob_out,oob_in,oob_mark,oob_prefix,oob_time_use
c,oob_time_sec,raw_mac) values ('
Fri Mar 11 19:07:11 2005 <5> ulogd.c:766 initialization finished, entering main loop
上記が/var/log/ulogd.logに記録されているんだけど、これが普通なの?それともエラー?
使用しているのはulogd-1.22、MySQL-4.0.23a、PHP-5.03です。
iptablesのlogについて教えてください。 ・logを取ると、MACアドレスなどの無駄な情報(通常ルータを超えてきてるので、ルータのMAC)が でますが、これを抑制ってできますか? ・logを出すときにタイムスタンプを出せないでしょうか?
480 :
login:Penguin :05/03/19 01:35:54 ID:B6vykKQ8
うちWEB鯖公開しようかと思ってるのだが ルータでポート80だけ開いてればiptablesの設定不要だよね?
ルータでポート80だけ開いてるのですが PINGアタックとかされたら嫌なので WEBサイトに対する攻撃だけをiptableで防ぎたいのだが どんなけ入力すればいいのかわからない。 誰か教えてー。
Webサイトに対する攻撃をiptablesで防ごうという発想に無理が有ると思うな。 とりあえずPING遮断したいならルータでICMP通さないようにするかNATでも使えば?
kopeteでMSNメッセンジャー使いたいんだけどポート何番開ければいいんだよ。ウワーン
>>484 TCP/UDP:6901
TCP/UDP:3389
TCP/UDP:1503
TCP:6891-6900
UDP:2001-2120
UDP:6801
じゃないの?よく知らんが
iptableってIPの範囲とか指定できるの? それと、数百行追加しようかと思ってるんだけど いちいち手動だとしんどい。直接ファイルに書き入れたいんだけど なんていうファイル名に保存されてるの?
>>486 > iptableってIPの範囲とか指定できるの?
IP の範囲は Subnet で指定出来るよ。
> それと、数百行追加しようかと思ってるんだけど
> いちいち手動だとしんどい。直接ファイルに書き入れたいんだけど
> なんていうファイル名に保存されてるの?
保存されるファイルは /etc/sysconfig/iptables なんだけど、人間の目には
優しくないので
>>443 のようなシェルスクリプトを書くのがいいと思うよ。
あと、どうでもいいけど
s/iptable/iptables/
つーか、すげぇな。 何か、基本的なこともわかってなさそうで、数百行を追加しようなんて。 俺なんか、まずSSHを追加して、動作確認できてやっとじゃああれもこれもって追加してったけどな。 それでも数百行ってガッチガッチな設定になりそうだね。
SMB、HTTP、FTP、SSHとかを動かしているサーバにIPアドレスによる アクセス制限つけたいんだけどその目的にiptablesって使える? 個々のサービスのconfかxinetdで設定できるのはわかるんだけど いちいちめんどっちいからまとめて一箇所で設定できると助かる ちなみにルータとしては動かさない 今のところでたらめに設定してみたところうまくいってない・・
どうでもいいけどどっかのHPにあった大陸の端末からのTCPアクセスをiptablesで弾くみたいなのを 追加したら一気に百行超えた。 なんか全部のIPアドレス調べてたみたいだったけど、こういうのは自分でやると面倒だから助かる。
固定LANの鯖二台でnessus使ってwarningが無くなるまで iptables調整してこんな風になりまつた(/etc/sysconfig/iptables)。 どっか変なところあれば教えてくらはい、よろでつ。 *filter :INPUT ACCEPT [2663955:1193106562] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2716726:2505796820] [20:800] -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN -j DROP [20:800] -A INPUT -p icmp -m icmp --icmp-type 13 -j DROP [24:1456] -A INPUT -s 127.0.0.1 -p tcp -m tcp --dport 111 -j ACCEPT [5:240] -A INPUT -s ! www.xxx.yyy.zzz -p tcp -m tcp --dport 111 -j DROP [0:0] -A INPUT -s ! www.xxx.yyy.zzz -p udp -m udp --dport 111 -j DROP [0:0] -A OUTPUT -p icmp -m icmp --icmp-type 14 -j DROP COMMIT
>>487 かなり返事おくれた。
windowsのメモ帳で、
126.0.0.0/255.0.0.0
って感じに数千行のIPを書いて保存してるのだが
>>443 でどうやって使うのかよくわからないorz
>>493 弾きたいネットワークが複数あって、リストが出来てるってこと?
だとしたら shell のなかで for 文使えばいいんじゃない?
例えば、送信元が下記ネットワークのパケットを弾くとして。
# cat IpList.txt
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
# for i in `cat IpList.txt`; do
echo "-- ${i} --"
${IPTABLES} -A INPUT -i ${EXT_IF} -s ${i} -j DROP
done
>>495 126.0.0.0/255.0.0.0
129.60.0.0/255.255.0.0
129.136.0.0/255.255.0.0
129.249.0.0/255.255.0.0
130.34.0.0/255.255.0.0
130.54.0.0/255.255.0.0
130.69.0.0/255.255.0.0
130.87.0.0/255.255.0.0
130.153.0.0/255.255.0.0
130.158.0.0/255.255.0.0
・
・
・
こんな感じのが1500行ほど書いてるメモ帳があって
そのリストのみ接続を受け付けたい。
そのほかは接続を拒否したい。
>>496 だったら、こうすればよいのでは?
やりたいことがよく分からんから、断言は出来ないが。
for i in `cat IpList.txt`; do
${IPTABLES} -A INPUT -i ${EXT_IF} -s ${i} -j ACCEPT
${IPTABLES} -A OUTPUT -o ${EXT_IF} -d ${i} -j ACCEPT
done
>>497 for i in `cat IpList.txt`; do
${IPTABLES} -A INPUT -i ${EXT_IF} -s ${i} -j ACCEPT
${IPTABLES} -A OUTPUT -o ${EXT_IF} -d ${i} -j ACCEPT
done
これをどうすればいいのかわからない。。。
linux暦3週間目に突入したての漏れには無理なのかな?
ちょっと調べてくるよ。|彡サッ!
他人に教えてもよい有意な目的があるのなら、 作った後にそのIPリスト見てみたい
500 :
login:Penguin :2005/03/28(月) 07:10:52 ID:J7TVD5Mz
FedoraCore3なんだが filterとタイプしてエンターすると端末が固まってしまう・・・。
そうですか
502 :
498 :2005/03/28(月) 14:28:43 ID:3rpifMEW
使い方わからず。orz 寝坊で仕事遅れた。
>>502 >>497 さんの説明は基本的なところを端折って書いてあります。
シェルスクリプトを使って、iptablesの設定をしてますので、まずその辺がわからないと
難しいのではないでしょうか?
でも、スクリプト系を書けないと手作業となるので、とりあえず何かしらスクリプト系を
使えるようになっておくと何かと楽ができると思います。
504 :
502 :2005/03/29(火) 17:03:39 ID:hvbV0v/a
いろいろと試してみました。 /roo/iplist.txt に保存 /root/iptable.sh の中に for i in `cat /roo/iplist.txt`; do ${IPTABLES} -A INPUT -i ${EXT_IF} -s ${i} -j ACCEPT ${IPTABLES} -A OUTPUT -o ${EXT_IF} -d ${i} -j ACCEPT done と書いて保存 # /root/iptable.sh と実行してみた。が、なぜか追加されず。 ちなみにポートを指定するにはどうすればいいんでしょうか?
505 :
500 :2005/03/29(火) 19:36:04 ID:mfvC8bj+
二日間調べたんだがわからん。 どうすりゃいいの・・・。
とりあえず変数という物を理解した方が良いかと。
510 :
login:Penguin :皇紀2665/04/01(金) 10:23:23 ID:P8c3lmQD
ホー
511 :
509 :皇紀2665/04/01(金) 21:35:21 ID:vTrRpht2
フィルタリングでスルプトが激減する件について
# iptables -F # 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 # /etc/init.d/iptables save # /etc/init.d/iptables restart これでPINGアタック防ごうかと思ってLAN内のマシンからPING撃ちまくってるんだけど 全部、応答してる・・・ どこか間違ってますでしょうか??
WAN が ppp+ で LANが eth1 かなんかだとすると、その設定は
WANからの ping に対処してるけど LAN からの ping は素通しだから。
>>513
516 :
login:Penguin :2005/04/02(土) 16:34:59 ID:XFr4Vm8/
ipfw, ipfwadm, ipchains, iptablesと使ってきて iptablesが概念が掴めたら一番柔軟だなと思った
518 :
513 :2005/04/02(土) 18:17:00 ID:cw2GoAO6
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --sport 80 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT # 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 -P INPUT DROP これやったら apt-get update ができない。 何か足りない??
一番最後の行を先頭にもってくればいいんでないかい? 間違ってたらごめん。
dport と sport の違いがわからない。 誰か教えてー
>>521 順番に処理するから最後にDROPしたら、ヤバいんじゃない?
523 :
520 :2005/04/02(土) 22:04:10 ID:x26Bsn4O
誰か教えてください。
dport --> destination port : 送信先ポート番号 sport --> source port : 送信元ポート番号 わかったか?
--destination-port --source-port
おう、ごめん >> 524
>>518 source.list での URL 指定って、http? それとも ftp?
ftp なら駄目でしょ。
>>524 ようやく理解できた。
>>518 の場合なら
# iptables -P INPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -F
# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A INPUT -p tcp -j ACCEPT
# iptables -A INPUT -p udp -j ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp --sport 80 -j ACCEPT
# iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT
# 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 -P INPUT DROP
# /etc/init.d/iptables save
# /etc/init.d/iptables restart
でいいのかな??
# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A INPUT -p tcp -j ACCEPT
# iptables -A INPUT -p udp -j ACCEPT
は余分??
>>528 何で最初にDROPしないのかが気になる。
>>529 素人なんでどういう順番でやればいいのか教えてくださいな。
あ、わかったかも。 # iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT DROP # iptables -F # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --sport 80 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT # 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 # /etc/init.d/iptables save # /etc/init.d/iptables restart これでいいんだね??この場合だと ・WEBサーバーのポート80は外部と通信可 ・SSHのポート22は、LAN内のマシンのみ接続可能 ・PINGは1秒に1回のみ応答 ・上記に当てはまらないのはすべて拒否 って設定になってるんだよね??
>>531 私も素人なんだけどね・・・。
OUTPUTがACCEPTなら、OUTPUTの内容書かなくていいでしょ?
それから、あなたのポリシーが分からないから、余分かどうかは多分答えにくいと思うよ。
>>532 これ試してみたけど、なんか弾かれる。
意味がわからなくなってきた。
おいらがしたいことは、
・WEBサーバーのポート80は外部に公開
・SSHのポート22は、LAN内のマシンのみ接続可能
・FTPのポート21は、外部に公開
・PINGは1秒に1回のみ応答
・上記に当てはまらないのはすべて拒否
ってやりたいんだけど・・・
>>535 とりあえず"iptables state拡張"でぐぐってみ
あとport21が外向けに開いてないぞw
>>535 OUTPUTをDROPって出口塞いでない?
OUTPUTはACCEPTでいいんでしょ。
>>535 まぁモチツケ。
なんか弾かれる。って、実際どのポートが弾かれて、どのポートが弾かれないのか
明らかにしてくれ。
--dportのとこ、INPUTチェインじゃなくて、OUTPUTチェインじゃないの?
ところで
>>513 は結果どうなったのだろうか。
散々親切な人達があれこれアドバイスしてくれたんだから報告待ってるよ
# iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT # iptables -F # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --sport 80 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT # 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 # /etc/init.d/iptables save # /etc/init.d/iptables restart ん〜SSH使って設定しようかとしてるのだが # iptables -P INPUT DROP って打ったらPuTTYがタイムアウトになってしまう・・ # iptables -P INPUT ACCEPT なら大丈夫なんだが・・・なぜだ?
# iptables -P INPUT ACCEPT # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT # iptables -F # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -p tcp --sport 80 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT # 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 -P INPUT DROP # /etc/init.d/iptables save # /etc/init.d/iptables restart あ、これでいいんだよね?
>>541 先にポリシーDROP設定したらその時点でパケットを受け付けなくなるから
linux機の外から設定してるんならまずSSHポートのACCEPTルールで
経路を確保してからポリシー設定だな
>>544 ポリシーの設定順はいいんでないかな
ルールはもうちょっと詰めた方がいいような
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
インターフェースの指定がないんでppp+とLAN側で許可になるがそれでいいのか
iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT
上と同じで外から繋げられるぞ
iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
一見正しいように見えるけど
外から来るどの接続要求パケットも最低1パケット/sは許可してしまうよ。ポート関係なしに
あと
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
このおまじない入れておけ
>>545 にちょっと訂正
×
ptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
一見正しいように見えるけど
外から来るどの接続要求パケットも最低1パケット/sは許可してしまうよ。ポート関係なしに
○
ptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
一見正しいように見えるけど外からの受け入れに対して許可してるよ
それと80,22以外の(全ての)ポートでsynフラグのlimit監査をすることになる
(80,22は前のACCEPTで通ってしまう)のでとりあえず削除した方がいい
> iptables -A INPUT -p tcp --dport 80 -j ACCEPT > インターフェースの指定がないんでppp+とLAN側で許可になるがそれでいいのか 安物ルータ使ってるとグローバルIPでもLAN内のマシンにアクセスできるらしいが (・∀・)イイ!!ルータ使ってるとLAN内のマシンからは、プライベートIPじゃないと見えれないので おそらくOK。 > iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT > 上と同じで外から繋げられるぞ LAN内のIP指定してるのになぜ外からつなげれるの? 嘘教えるな。 > iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT > 一見正しいように見えるけど > 外から来るどの接続要求パケットも最低1パケット/sは許可してしまうよ。ポート関係なしに iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s --dport 80 -j ACCEPT iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s --sport 80 -j ACCEPT iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s --dport 22 -j ACCEPT iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s --sport 22 -j ACCEPT これでいいんじゃない? > iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT なんじゃこれ。調べたけどよくわからん。
548 :
login:Penguin :2005/04/03(日) 17:16:07 ID:yZTE+aY5
DNSをDiCEで更新するにはどうすればいい? なんか接続されずにタイムアウトになっちゃう
>>547 ちょっと待て
いったいどういう構成でネットに繋がってるんだ?
Internet ----- ADSLモデム/ONU ----(PPPoE)----- linux
なのか
Internet ----- ADSLモデム/ONU ----(PPPoE)----- ルータ ------ linux
なのか
オレはlinuxがpppコネクションを持ってると読めるから上の環境だと思ってたんだが
それと、IPアドレスは詐称できるし
プライベートIPは外に出すなと決りがあっても出す奴はいる
551 :
login:Penguin :2005/04/03(日) 17:32:10 ID:yZTE+aY5
iptableを起動したらできないからここでいいかと思うのだが
>>551 そっか、エスパーじゃなくて申し訳ない
じゃあ具体的に聞かせてもらいたいんだけど、
「iptablesを起動したら」とはどういう操作をしたのかな?
もしできるなら、どんなネットワーク環境なのかと、
使ってるOSも教えてもらえると助かるんだけど
>>552 UDP53をあければいいと素直に言ってやれよ。
>>553 悪意があるように見えたんなら私の書き方が悪かったんだね
すまん
「ポートを開ける方法」も教えることが必要だと思ったんだ
なんかここ見てたらおいらの設定も不安になってきたので晒す。 iptables.sh #!/bin/sh # ルールの初期化 iptables -F iptables -X # 基本ルール設定 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # サーバー自身からのパケットを許可する iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # WEBサーバーを外部に公開 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -j ACCEPT # SSHサーバーはLAN内のみ接続許可 iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 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 変なところとか直したらいいところがあれば教えて( ゚Д゚)ホスィ
linuxルーター自身にhttpサーバーを導入する場合 どのようなiptableを書けばいいのでしょう。
>>555 >iptables -A INPUT -p tcp --sport 80 -j ACCEPT
webサーバーを外部に公開する"だけ"なら必要ないんじゃないかな
>>558 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
とか書いてやらないと返りのパケットが出て行けないんじゃなかったっけ?
>>558 え?そうなの?
サーバーを外部に公開するなら
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
の二つを追加することみたいな書いてるサイト多いけど??
>>555 とりあえず 555/556 で
/sbin/iptables -L OUTPUT
の結果がどうなるか想像できる? 559 の通り、どう考えても
パケットが出ていかないよ。
>>560 「〜と書いているサイトが多い」が正しいとは限らない。
あるサイトで間違えた情報がそのまま伝播していくというのも
珍しくないぞ。または、伝播していく間に重要な前提条件が
抜け落ちるとか。
今回ので言えば、「OUTPUT のポリシーは ACCEPT」っていう
前提条件があったんじゃないの?
# 確立セッションのアクセスは許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT に変えればいいのかな??
>>555-556 と似たような設定してるけど
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
この二つ付け足したほうがいいの??
565 :
login:Penguin :2005/04/04(月) 18:58:51 ID:CdC5Q1JF
>>560 iptablesに関しては、Linuxで自宅サーバとか自宅鯖関係のサイトなんて8割がデマ。
なんつーか、5個ぐらいのサイトが同じ間違いをしているんだよ。
それも全部何処かのサイトを転記して一部を変えただけみたいな感じだね。
インターネット上から入手した情報を元にサイトを作って、またそれを誰かが参考に・・・、
の無限ループでどんどん嘘情報が流れていく。
>>560 送信元ポートが 80 のもの (--sport 80) なんて、どう考えても放置 HTTP プロキシか
その類で、マトモな HTTP クライアントからのアクセスでは無いんじゃなくて?
「間違っているので駄目」ではなく「間違っていて正しくは○○」でないとそれこそ駄目だろ(w 設定を吐き出すCGIとか頑張れば作れそうなんだが、作れないもんかね。
そしたら iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT も、いらないの?
>>568 22 番ポートを使うものといったら ssh だったっけ。原則的に、同じポート番号同士を
使って通信するプロトコルであるなら、それに限らず dport も sport も開けておけば
良いとは思いますが、送信元ポートが 22 番だからといって、そのポートを使っている
デーモンが ssh のソレとは限らない訳で。
# DNS問い合わせ
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
DNS問い合わせもしたいならどちらかいらない?
これだけでOKかな??
>>2 のリンク先のはTCPも空けてるけどTCPは明らかに
使わないから・・・とおもったらdportだけ空けてるサイトもあるし
sportも空けてるサイトもあるし・・・なんか混乱してきた。
>>570 個人的な考え方の話なんだが
INPUTチェインの場合
destination は不特定の相手(例:ポートx番を開けておきますよ〜)
source は特定の相手(例:ポートx番からきた人ドゾー)
と見立てて設定してる
ちなみにDNSは通常udpで通信
マスタ/スレイブ間のゾーン転送はtcpで通信
572 :
login:Penguin :2005/04/05(火) 18:56:12 ID:rJdv5jwS
>>570 信用するな。
間違いだらけのサイトが多いから。
>>570 オライリーのファイアウォールに関する本(タイトル忘れた)
でも立ち読みしておけ。
TCP は zone transfer に必要だし、query が UDP 1 パケットに収まらない場合にも使われることがある。
ちょっとこのスレ見てたら混乱してきた。 例えばおいらがWEB鯖立ててたら80をあけるよね? アクセスする人のポートも80なの? なんかうまく説明できない
アクセスする人は短命ポートだろう 予約ポート使うには root 権限が必要 うちでは 35700 あたりが短命ポートに割り当てられる
>>574 毎回違うから、アクセスする人のポート番号指定する必要無し。
12854とか25756とかめちゃくちゃランダムに割り当てられる。
>>576 えーと接続するポートが指定する必要がないんだから
sportは指定しなくていいんだよね?
dportは指定しないといけない。でOK?
((((((;゚Д゚))))))ガクガクブルブル
579 :
login:Penguin :2005/04/06(水) 14:23:53 ID:HMC2fdys
# DOS攻撃防御 # ### PINGの対応(1分あたりに10回以上のecho echoreplyを受付けなくする) ### $iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/minute -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 8 -j DROP $iptables -A INPUT -p icmp --icmp-type 0 -m limit --limit 10/minute -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 0 -j DROP $iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT $iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT ### synの対応(1秒間に100個以上のsynパケットを受信した場合に接続を拒否) ### $iptables -A INPUT -p tcp --syn -m limit --limit 100/second -j ACCEPT $iptables -A INPUT -p tcp --syn -j DROP ### ポートスキャナー対処 ### $iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT $iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP これであってる?
580 :
579 :2005/04/06(水) 20:44:59 ID:HMC2fdys
こっちに変更しますた へんなとこありますか # DOS攻撃防御 # ### PINGの対応 ### $iptables -N ping-death $iptables -A INPUT -p icmp --icmp-type 0 -j ping-death $iptables -A ping-death -m limit --limit 1/sec --limit-burst 10 -j RETURN $iptables -A ping-death -j DROP $iptables -A INPUT -p icmp --icmp-type 8 -j ping-death $iptables -A ping-death -m limit --limit 1/sec --limit-burst 10 -j RETURN $iptables -A ping-death -j DROP $iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT $iptables -A OUTPUT -p icmp --icmp-type 8 -j ACCEPT ### SYNフラッド攻撃対策 ### $iptables -N syn-flood $iptables -A INPUT -p tcp --syn -j syn-flood $iptables -A syn-flood -m limit --limit 1/s --limit-burst 100 -j RETURN $iptables -A syn-flood -j DROP ### ポートスキャン対策 ### $iptables -N port-scan $iptables -A port-scan -m limit --limit 1/s --limit-burst 4 -j RETURN $iptables -A port-scan -j DROP $iptables -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan $iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j port-scan
>>580 そもそもさ、サーバにPINGが届く環境なの?
普通はルータがPINGに対してPONGを返すから、
サーバで防いでも意味無いと思うけど。
もし、ルータがクラックされた場合を考慮するならば、
PINGもsynも全部拒否でいいよ。
そしたらルータで必要なポートだけ空けてれば iptablesを使わないでいいんじゃない?
583 :
581 :2005/04/09(土) 01:47:13 ID:V+U4TCnE
>>582 ん?
LAN内からのアクセスの事忘れてまいか?
例えばだ!
自宅鯖のWEBサイトにメルアドを公開したとしよう。
そこに踏み台ようのトロイの木馬を添付してメール送信した悪人クラッカーがいたとしよう。
それを手が滑ってWindowsクライアントで開いちゃったとしよう。
iptablesでLAN内からのアクセスも制御していれば安心。
>>583 #!/bin/sh
# ルールの初期化
iptables -F
iptables -X
# 基本ルール設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# サーバー自身からのパケットを許可する
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# WEBサーバーを外部に公開
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# SSHサーバーはLAN内のみ接続許可
iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT
# DNS問い合わせ
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
# 確立セッションのアクセスは許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 設定の保存 /etc/init.d/iptables save # サービス再起動 /etc/init.d/iptables restart WEB鯖とSSHしか利用しない漏れならこれで十分。 じゃない?
>>586 # 基本ルール設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
これじゃだめなの?
22使うsshクライアントってあるの?
589 :
login:Penguin :2005/04/09(土) 16:27:53 ID:vZ1K4Bof
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT トロイが仕込まれたらこれで通るんじゃね?
590 :
586 :2005/04/09(土) 16:29:50 ID:gw8csAi8
質問です。 # iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT DROP としたらiptables起動してるマシンは 送受信できないのでしょうか?
>>585 「WEB鯖とSSHしか利用しない」なら、DNS query は受け付ける必要ないんじゃない?
DNS query を受け付けるにしても、
iptables -A INPUT -p udp --sport 53 -j ACCEPT
が意味不明。
>>591 windowsのsshクライアントよく知らないけど、22ポートから送信するの?
>>594 クライアントは dist. 22/tcpへ送信。
クライアントは src. 22/tcpから受信。
>>584-583 の
# DNS問い合わせ
iptables -A INPUT -p udp --dport 53 -j ACCEPT
に変えて試しに追加してみたんだけど
DNS問い合わせできないし、
# wget
http://www.yahoo.com/ にもアクセスできない。。。どこがおかしいんだろうか?
勉強中だから参考になればいいかと思って試してみたんだが。
ちょっと質問です。 iptablesが拒否したパケットはログに残すことできないのでしょうか? 拒否したIP又はホスト名とポートとTCPやUDPとかも残せれば嬉しいです。
質問の仕方がわるかったです。 iptables -A INPUT -j LOG --log-prefix "UNDEFIND_INPUT: " --log-level=3 -m limit --limit 1/s --limit-burst 10 とやってるのですがどこにログが保存されてるのかわかりません。 ログの保存先を/root/iptables.log に保存するにはどうすればいいのでしょうか?
/etc/syslog.confで設定するんじゃないの?
"iptables" "syslog"でググれ。
604 :
login:Penguin :2005/04/10(日) 13:42:23 ID:RjSG82Y5
>>600 jman iptables の方がいい
iptablesを勉強したい人は、ここに書き込まれる例をそのまま使用しないほうがいい
特にsport絡みで良くない設定が多いので注意
manpageか
>>2 を参照するのがよろし
大事なのは「理解」してから設定すること
606 :
login:Penguin :2005/04/10(日) 20:58:57 ID:RjSG82Y5
>>605 | manpageか
>>2 を参照するのがよろし
そこが最悪だから皆が混乱してるんだろうが。
millowebなんて、9割がデタラメでiptablesを居れてない状況と全く同じになる設定だったぞ。
>>606 milowebは404になってる
誰か素人が参考にしても大丈夫なリンクのテンプレ考えてくれ
まずそこそこの雛形があって、こういうセキュリティを求めたいときはこう変更する、みたいに 解説されてると分かりやすいんだが。 そういう平易なサイトに限って内容がウンコだったりするのかな。
192.168.1.0/24のネットワーク内にて、192.168.1.2のマシンにiptableを以下のように設定しました。 こうやれば192.168.1.2以外の同一ネットワーク内のマシンは、192.168.1.2に任意のポート&プロコトルで接続できると考えたのですが、うまくいきません。 当方iptableに関しては初心者なので初心者スレで質問すべきかもしれませんが、ここに質問します。 よろしくお願いします。 以下、実行したコマンド(設定したiptable) >/sbin/iptables -P INPUT DROP >/sbin/iptables -P FORWARD DROP >/sbin/iptables -P OUTPUT DROP >/sbin/iptables -A OUTPUT -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT >/sbin/iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.2 -j ACCEPT
612 :
611 :2005/04/12(火) 21:10:43 ID:dtgUqeLk
すみません。 実際に行ったコマンドで抜けているのがありました。 loopbackも設定してあります。(あまり関係ないと思うけど) 書き忘れたコマンド >iptables -A INPUT -i lo -j ACCEPT >iptables -A OUTPUT -o lo -j ACCEPT
613 :
login:Penguin :2005/04/12(火) 22:05:34 ID:anL1HlmQ
とりあえず iptables -L の結果でも貼ってください。
iptables -A INPUT -s xxxxxxxx -p tcp --dport 20 -j ACCEPT 192.168.1.2と192.168.1.5のマシンのみ接続許可したいのだが xxxxxxxxの部分はどうすればいいのでしょうか??
615 :
611 :2005/04/13(水) 13:56:15 ID:c7iL1UNc
613了解です >/sbin/iptables -L -v Chain INPUT (policy DROP 39 packets, 4587 bytes) pkts bytes target prot opt in out source destination 18 864 ACCEPT all -- eth0 any 192.168.1.0/24 192.168.1.2 0 0 ACCEPT all -- lo any anywhere anywhere Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy DROP 90 packets, 5974 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- any eth0 192.168.1.0/24 192.168.1.2 0 0 ACCEPT all -- any lo anywhere anywhere とりあえず、設定したルールはこれだけです。 簡単な試みとしてIP選別のみでパケットフィルタリングをしようと考えていたんですが、はまっています。 何が悪いんでしょうか?
"iptables -L" してって言われてるのに、ちゃんと "iptable -L -v" してる時点でネタだろw INPUT のパケットは 18 パケットちゃんと ACCEPT されてるけど、 OUPUT のパケットは全部 DROP されてるね。 ってことで、OUTPUT チェインの設定が悪いらしい。 こんな感じでいい?
拒否したパケットをログに保存する方法教えてください。
1イシデントを消費しますが、よろしいですか?
619 :
login:Penguin :2005/04/14(木) 03:23:16 ID:5xFZ8nAE
>>617 man iptables
ただし「拒否したパケットをログ」はできないので、「拒否する直前にログを取る」が正解です。
1インシデント消費しました。
>>620 man iptables 読んだけどいまいち理解できない。
622 :
611 :2005/04/14(木) 20:00:19 ID:O7+OP6KY
皆さん、レス遅れてすみません。
>>616 をはじめ皆さんに言っておきたいのですが、本当にネタではありません。
-vで印刷した理由は詳細なルールを皆さんに見せたかっただけです。
616の発言を受けて、ルールを初期化しあらためて試してみた結果、うまくいきました。
原因はポリシーをDROPに設定後、ルールを作成していたことでした。
ルール作成後にポリシーをDROPする事で解決です。
皆さん、ありがとうございました
globalでweb鯖立てるんだけどiptablesの設定は http, https, ssh, dns, これだけ空ければいいですか?
必要なポート開ければいいだろ。
625 :
DJM :2005/04/18(月) 23:45:43 ID:+KjMd6NH
Googleで検索しても出てこないので、書き込みさせて頂きます。
最近、Fedoraでサーバを建て、PPPoEとiptablesでLinuxPCをルータとして稼動させているのですが、
[iptables INPUT DROP] IN=ppp0 OUT= …
と、絶え間なく表示され、コマンドを入力するのも表示が邪魔して打てない場合があります。
ttp://fedorasrv.com/ こちらのサイトを参考にさせて頂いたのですが、どうすれば良いでしょうか?
もし、解決法を教えていただける方がいらっしゃったら、レスお願いします。
多分スクリプトの書き間違えだと思うよ。 内部と外部IF名を逆に書いてるとか。
628 :
DJM :2005/04/20(水) 00:53:11 ID:+n+WdDni
>>626 ,627様、どうもありがとうございました。
よくスクリプトを見れば解決できるコトを、
わざわざ親切・丁寧に返信までして頂いて…
ありがとうございますm(_ _)m 本当に助かりました。
もっと勉強して、LPIの資格、取ってみたいと思います!
おまいらsshのポート何番に変更してますか?
22
631 :
login:Penguin :2005/04/20(水) 07:06:25 ID:vbQAPzfO
iptablesが拒否したパケットのログのとり方教えてください。
632 :
login:Penguin :2005/04/20(水) 07:07:07 ID:vbQAPzfO
上の方に同じこと書いてる人いましたが 誘導先のサイト見てもいまいちわかりませんでした。
634 :
login:Penguin :2005/04/22(金) 04:37:00 ID:Okj4N6Lk
eth0, eth1, ppp0, vmnet8のインターフェースがあります。 外向きは http, https無条件で許可 ftp passiveじゃなくても許可したいけど、相手ポートが20だったら許可というのは危険 ntp サーバーを指定して許可 MS Network(135, 137-139, 445) LAN内なら許可 SSH サーバー(IPじゃなくて名前)を指定して許可 内向きは MS Network LAN内なら許可 ftp, http vmnet8からなら許可 dhcp LAN内からなら許可 ssh 指定されたIPからなら許可 という設定にしたいのですが、具体的にどう設定したらいいでしょうか?
過去ログや、検索サイト探せば、結構参考になるのがあるから、 一度にやろうとせず、一つずつ設定して行くのが理解の早道だと思う。 こんな設定してみたけど上手く行かない…とか、具体的な事例を挙げて 質問した方が、良いな。 他意はないのだろうけど、あの質問だと、何もせずに回答を求めている 100%他力本願の手抜きの見本みたいに聞こえて教える気が失せるよ。
636 :
634 :2005/04/22(金) 17:14:14 ID:Okj4N6Lk
自分でやってみました。 インターフェース ・eth0, eth1 LANにしかつながない(ゲートウェイ通してインターネット) ・ppp0 インターネットにつなぐ ・vmnet? VMWare用 やりたいこと ・ローカルネットワークからのssh, sambaへのアクセス ・このマシンからssh, http(s), ftp, ntp, MS Network, DNSへアクセスできるように ・DHCPでアドレスもらえるように です。 #!/bin/bash EXTIF=ppp+ INTIF=eth+ LOCALNET=192.168.0.0/16 /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp # 全てのチェインの内容を削除 /sbin/iptables -F # 全てのユーザー定義チェインを削除 /sbin/iptables -X # カウンタをクリア /sbin/iptables -Z # 全てのポリシーをDROPにする /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -P FORWARD DROP
637 :
634 :2005/04/22(金) 17:15:31 ID:Okj4N6Lk
##### ルール開始 ##### # ループバックは無条件に通す /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A OUTPUT -o lo -j ACCEPT # VMWareのインターフェースも無条件に通す /sbin/iptables -A INPUT -i vmnet+ -j ACCEPT /sbin/iptables -A OUTPUT -o vmnet+ -j ACCEPT # 内部から開始された接続のパケットは通す /sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # FTPパッシブが可能なように /sbin/iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT # 変なアドレスのパケットを破棄 /sbin/iptables -A INPUT -i $EXTIF -s 10.0.0.0/8 -j DROP /sbin/iptables -A INPUT -i $EXTIF -s 172.16.0.0/12 -j DROP /sbin/iptables -A INPUT -i $EXTIF -s 192.168.0.0/16 -j DROP /sbin/iptables -A INPUT -i $EXTIF -d 10.0.0.0/8 -j DROP /sbin/iptables -A INPUT -i $EXTIF -d 172.16.0.0/12 -j DROP /sbin/iptables -A INPUT -i $EXTIF -d 192.168.0.0/16 -j DROP # DHCPを通す /sbin/iptables -A OUTPUT -p udp --sport 68 --dport 67 -j ACCEPT /sbin/iptables -A INPUT -p udp --sport 67 --dport 68 -j ACCEPT # DNSを通す # TODO: 本当はサーバーを指定したい /sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p udp --sport 53 -j ACCEPT
638 :
634 :2005/04/22(金) 17:15:53 ID:Okj4N6Lk
# SSHを通す # TODO: 本当は名前でサーバーを指定したい /sbin/iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 22 -j ACCEPT # http, httpsを通す /sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 80 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 443 -j ACCEPT # FTPを通す /sbin/iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 21 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 20 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p tcp --sport 20 -j ACCEPT # ntpを通す # TODO: 本当はサーバーを指定したい /sbin/iptables -A OUTPUT -p udp --dport 123 -j ACCEPT #/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -p udp --sport 123 -j ACCEPT
639 :
634 :2005/04/22(金) 17:16:10 ID:Okj4N6Lk
# ローカルネットワークのMS Networkを通す(INPUTもOUTPUTも) # TODO: 本当は信頼できるホストに限定したい # Output /sbin/iptables -A OUTPUT -o $INTIF -d $LOCALNET -p udp --dport 137:138 -j ACCEPT #/sbin/iptables -A INPUT -i $INTIF -m state --state RELATED,ESTABLISHED -s $LOCALNET -p udp --sport 137:138 -j ACCEPT /sbin/iptables -A OUTPUT -o $INTIF -d $LOCALNET -p tcp --dport 139 -j ACCEPT #/sbin/iptables -A INPUT -i $INTIF -m state --state RELATED,ESTABLISHED -s $LOCALNET -p tcp --sport 139 -j ACCEPT /sbin/iptables -A OUTPUT -o $INTIF -d $LOCALNET -p tcp --dport 445 -j ACCEPT #/sbin/iptables -A INPUT -i $INTIF -m state --state RELATED,ESTABLISHED -s $LOCALNET -p tcp --sport 445 -j ACCEPT # Input /sbin/iptables -A INPUT -i $INTIF -s $LOCALNET -p udp --dport 137:138 -j ACCEPT /sbin/iptables -A OUTPUT -o $INTIF -m state --state RELATED,ESTABLISHED -d $LOCALNET -p udp --sport 137:138 -j ACCEPT /sbin/iptables -A INPUT -i $INTIF -s $LOCALNET -p tcp --dport 139 -j ACCEPT /sbin/iptables -A OUTPUT -o $INTIF -m state --state RELATED,ESTABLISHED -d $LOCALNET -p tcp --sport 139 -j ACCEPT /sbin/iptables -A INPUT -i $INTIF -s $LOCALNET -p tcp --dport 445 -j ACCEPT /sbin/iptables -A OUTPUT -o $INTIF -m state --state RELATED,ESTABLISHED -d $LOCALNET -p tcp --sport 445 -j ACCEPT # ローカルネットワークからのSSH要求を通す # TODO: 本当は信頼できるホストに限定したい /sbin/iptables -A INPUT -i $INTIF -s $LOCALNET -p tcp --dport 22 -j ACCEPT #/sbin/iptables -A OUTPUT -o $INTIF -m state --state RELATED,ESTABLISHED -p tcp -d $LOCALNET --sport 22 -j ACCEPT ##### ルール終了 ##### # ルールに一致しなかったパケットのログをとる /sbin/iptables -A INPUT -j LOG /sbin/iptables -A OUTPUT -j LOG
640 :
634 :2005/04/22(金) 17:19:19 ID:Okj4N6Lk
このマシンはノートでクライアント用途に使っています。sshdとsambaだけサーバーをあげて います。変なパケットを防ぐだけでなく、変なパケットを出さないようにルールを作成した つもりです。 今のところ動いているようですが、変なところないでしょうか?
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A OUTPUT -p tcp --dport ftp -j ACCEPT と -A OUTPUT -p tcp --dport ftp-data -j ACCEPT -A OUTPUT -p tcp --dport ftp -j ACCEPT クライアント的にはどっちがいいんだろう?
642 :
login:Penguin :2005/04/23(土) 00:32:58 ID:cp6uMcOu
hp
FTPにINPUTが無い
644 :
643 :2005/04/23(土) 12:27:05 ID:thDgghuL
入れる気はないのか。失礼しました
645 :
643 :2005/04/23(土) 12:46:37 ID:thDgghuL
すまん俺は素人なんでそっくりコピーしようと思ったんだが、 637のFTPパッシブが可能なようにの下の--dportは21じゃないかな?
646 :
643 :2005/04/23(土) 13:16:12 ID:thDgghuL
>>637 の変なアドレスを破棄。INET側からのローカルアドレスからのパケットを破棄するという意味だと思うが
eth0か1を明記しなくてもいいのん?
647 :
634 :2005/04/23(土) 15:10:13 ID:UVGG39HN
>>645 パッシブのデータチャンネルはポート決まってなかった(クライアントで適当に
指定したポート)はずなのであってると思います。(多分)
>>646 $EXTIFでppp+を指定しています。eth0, eth1はLANに接続しているので、ローカル
アドレスが来てもおかしくないです。というか、ローカルアドレスしか来ません。
あと、手元ではppp0へのOUTPUTも破棄するように追加しました。
ちなみに、このルールそのままだとDHCPでアドレス取得できてませんでした。
よくわからないので、INPUT, OUTPUTともにポートを67:68にしました。
本当はちゃんとしらべなきゃいけないんだけど。
#!/bin/sh # ルールの初期化 iptables -F iptables -X # 基本ルール設定 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # サーバー自身からのパケットを許可する iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # WEBサーバーを外部に公開・WEBサイト観覧 iptables -A INPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT # SSHサーバーはLAN内のみ接続許可 iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT # DNS問い合わせ iptables -A INPUT -p udp --dport 53 -j ACCEPT # 確立セッションのアクセスは許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 拒否したパケットをログに記録 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 OUTPUT -j LOGGING # 設定の保存 /etc/init.d/iptables save # サービス再起動 /etc/init.d/iptables restart 拒否したパケットをログに記録の設定はあってるかな? それとログの保存先はどこかで指定できますか?
過去ログ嫁
iptables -A INPUT -p tcp --sport 80 -j ACCEPT これって全ポート解放してるんですけど…
こうか? -s, --source [!] address[/mask] 送信元の指定。 address はホスト名 (DNS のようなリモートへの問い 合わせで解決する名前を指定するのは非常に良くない) ・ネットワ ー ク IP アドレス (/mask を指定する)・通常の IP アドレス、のいずれ かである。 mask はネットワークマスクか、ネットワークマスクの 左 側にある 1 の数を指定する数値である。つまり、 24 という mask は 255.255.255.0 に等しい。アドレス指定の前に "!" を置くと、そのア ドレスを除外するという意味になる。フラグ --src は、このオプショ ンの別名である。 -d, --destination [!] address[/mask] 送信先の指定。書式の詳しい説明については、 -s (送信元) フラグの 説明を参照すること。フラグ --dst は、このオプションの別名である。
ん? ソースのポートが80だったらどんなパケットでも入ってきちゃうってことでしょ
httpのセッション(ブラウザ)ならoutputで許可するべきってことか
>>654 httpのセッションに限らず、先ずその送信先ポート (Destination Port) で評価
するべきってこと。送信元ポート (Source Port) の評価だけで素通しさせる様な
設定ならば、そもそも何でそのファイアウォールが必要なのかが理解不能、と。
ちょっと質問。 ポート22だけ192.168.1.2から接続を許可して そのほかは特に指定しない場合は # iptables -P INPUT ACCEPT # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT でOK?
こうじゃないですか? iptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT
その前に全部ポリシーDROPにしとかなきゃ iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP これだと接続は受け付けるけど通信はできないけど
659 :
656 :2005/04/27(水) 07:06:17 ID:QUfa/Rj7
言い方が悪かったです。 基本ルールの設定をどうすればいいのか聞きたかったのです。 # iptables -F # iptables -X # iptables -P INPUT ACCEPT # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT # iptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT で、ポート22のアクセス元のIPが制限されますよね? あと他のポートはパケット通しますよね?
$iptables -P INPUT DROP $iptables -P FORWARD DROP $iptables -P OUTPUT DROP $iptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $iptables -A FORWARD -m state --state ESTABLISH,RELATED -j ACCEPT 通したいポートは各自記述すればいいのではと・・・
-state ESTABLISHED,RELATEDってどれくらい信用できるもんなんでしょね。
## ルールの初期化
iptables -F
iptables -X
## 基本ルール設定
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
## サーバー自身からのパケットを許可する
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
## SSHサーバーはLAN内のみ接続許可
iptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT
## 確立セッションのアクセスは許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## 設定の保存
/etc/init.d/iptables save
## サービス再起動
/etc/init.d/iptables restart
こんな感じに設定してるのですが
# ntpdate ntp1.jst.mfeed.ad.jp
# wget
http://www.hogehoge.com/ # apt-get update
が、タイムアウトしてしまいます。どのプロトコルとポート使ってるのかわからずに
設定できません。何方か教えてください。
>>662 /etc/services 見てみな。
それでも分からなかったらパケットキャプチャすればいいんじゃない。
>>662 ログを取ってファイアーウォールが撃墜しているプロトコルとポートを見ればいいじゃない。
>>639 の一番下の二行を"##設定の保存"の前に追加するとか
>>664 /sbin/iptables -A INPUT -j LOG
/sbin/iptables -A OUTPUT -j LOG
これ追加したらどこにログ保存されてるの??
>>662 それじゃOUTPUTの接続が通らないよ。ポリシーDROPで、
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
しかないから、接続開始できない。(DROPされる)
# ntpdate ntp1.jst.mfeed.ad.jp
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
# wget (p)
http://www.hogehoge.com/ # apt-get update
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT
こんな感じかなぁ
そもそものポリシーとして OUTPUT チェインは DROP でないと問題あるのん? こと OUTPUT に関しては原則 ACCEPT で構わんのではないのでしょうか。 もしくは、新規接続 (--state NEW) パケットだけユーザ定義チェインに回して チェックするとか。どないなものなんでしょう。
>>668 普通はOUTPUTはACCEPTでいいと思うよ
俺は
サーバー機
ウイルスとかで勝手にメール送信とかやらされたら嫌なのでDROP
ノート
VMWare上のWindowsがいらないパケットいっぱい出すのでDROP
してるけど
670 :
668 :2005/04/29(金) 00:13:25 ID:YuwWwHgp
>>669 > VMWare上のWindowsがいらないパケットいっぱい出すのでDROP
ワロタ
みんなはここで書かれたスクリプトをどのタイミングで呼んでるん? マシンが起動したとき? ネットワークに接続したとき? ネットワークに接続したとき呼んでるなら切断したときに破棄したりしてる?
マシン起動時かな。initスクリプトで読み込んでる。 切断時っつーかシャットダウン時には破棄してる。
673 :
login:Penguin :2005/04/30(土) 14:50:28 ID:mifO+bUM
わからん、こんがらがる inetd TCPWrapper(host.allow deny) iptables それぞれ設定したらどれが一番強いんだろうとか・・・
>>673 >どれが一番強いんだろうとか・・・
なぜそういう排他的な理解をしたがるんだ?そういう世代なのかね?
ま、それそれに偏る事無く「全て」適切に設定すれ。
675 :
login:Penguin :2005/04/30(土) 16:07:55 ID:mifO+bUM
同じ設定を複数で行うのはおかしい
inetdとWrapperは同じことだがiptablesは違うがな。
ルータ役ノートPCのiptablesの設定を、コピペだらけのユーザー定義チェインだらけから 自力で順番を考えて既存のチェインごとにまとめて書いたら WinクライアントのWebの閲覧速度の遅さが軽減されたような気がする。 気がするだけかもしれない。 このノートPCぺんた120の32MBで遅いしなー。 というよりむしろ正しく書き換えられたのかどうかが不安で不安で(w
>>676 多分、
hosts.denyに
ALL : ALL
と書くのと、
iptables -P INPUT DROP
とすること、みたいなことを言っていると思われ。
なぜ、片方だけじゃないと気に食わないのかは知らない。
680 :
login:Penguin :2005/04/30(土) 22:48:51 ID:mifO+bUM
例えばPGの世界では 設定ファイル系は一つにまとめたいっていうのがある なんか自分の思考回路がそうなの そうなってんの なので一箇所にまとめたいんだ
ネットワークの世界では、レイヤーごとにわけたいと思う。 1つの設定ファイルからジェネレートすればいいじゃん。
>>680 iptables(tcpwrappers)は存在しなかったことにする回路も組み込めばいいんでない?
というのは冗談として、普通は使い分けするかな
自分の切り口でのみ制御したいなら
>>681 の言う通り作るしかないかな
初心者向け(G)UIだったりすると受けるかもね、簡単ファイアウォールとして
おなじIPでsshdに5秒間隔ぐらいでアクセスがくるんだけど 弾くにはどうしたらいいですか。下はlogです。 ----------------------------------------------------- May 1 03:21:33 manko sshd[18897]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:21:41 manko sshd[18899]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:21:49 manko sshd[18901]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:21:53 manko sshd[18903]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:21:58 manko sshd[18905]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:22:06 manko sshd[18907]: User root from 202.98.203.29 not allowed because not listed in AllowUsers May 1 03:22:13 manko sshd[18909]: User root from 202.98.203.29 not allowed because not listed in AllowUsers
>684 とりあえずhosts.denyしる >686 外からのsynを落とせばかなり省略できそうだけどな あとは適当に開けたらどだ
690 :
login:Penguin :2005/05/01(日) 13:12:08 ID:AgB0fbvN
そもそも、iptablesの安全性はどうなの?
俺も暗黙的に信じてきたけど、実際どうなのかね?俺も知りたい
692 :
684 :2005/05/01(日) 13:32:12 ID:wxBI49Cq
>>689 そんなんできません。
レンタルで借りてるホスティング鯖です。
なんかスクリプトでアクセスしているらしい。
sshdのポートを変更すれば大丈夫なのだが、できれば22でsshd
起動したい。
>>692 このスレに嫌なほど書いてるけど・・・w
694 :
684 :2005/05/01(日) 15:00:50 ID:wxBI49Cq
ID:wxBI49Cq NG推奨
すごい数のIFRAMEだなw
698 :
login:Penguin :2005/05/01(日) 16:40:13 ID:AgB0fbvN
まじどうなの? みんな答え言うの避けてる? 690 login:Penguin New! 2005/05/01(日) 13:12:08 ID:AgB0fbvN そもそも、iptablesの安全性はどうなの? 691 login:Penguin sage New! 2005/05/01(日) 13:19:06 ID:41EUIK27 俺も暗黙的に信じてきたけど、実際どうなのかね?俺も知りたい
漏れは無料のソフト入れてる。 iptablesはトロイには無意味だからね。 iptablesは安全だと思うOSがハッキングされなければ。
701 :
login:Penguin :2005/05/01(日) 17:43:26 ID:AgB0fbvN
>iptablesはトロイには無意味だからね。 この表現って両方に取れる・・・「無意味」がどっちの意味になるのか・・・ 1.iptablesでトロイ系は防げない 2.トロイ系の仕組みではiptablesを破れない >iptablesは安全だと思うOSがハッキングされなければ。 ま、けっきょくそうですよね
$iptables -N troj $iptables -A troj -i ${EXT_IF} -j LOG --log-level warning --log-prefix 'troj: ' $iptables -A troj -j DROP $iptables -A OUTPUT -i ${EXT_IF} -p tcp --dport **** -j troj これでトロイのポート延々と記述していけば対策になる?
703 :
login:Penguin :2005/05/01(日) 19:04:37 ID:1082M1Ta
そのうち全部ふさがる算段だな。
iptablesが何かのサービスのように思われてるのだろうか? しかもトロイって....うーむ 無意味つーかレイヤ違いの話がどーして出てくるかね。
「ぱそこんをまもるふぁいあうぉーる」でひと括りだと思います。 まったく何も勉強せずに使えるのが理想ではあるけど、現状は無理っぽいな。
勉強したくなければ、iptablesを直接いじらず redhat-config-securitylevel の「高」とかで十分。 生兵法が一番危ないのだから、下手に穴を開けなさんな。
>>700 無料のソフトならおれも使ってるけど、
君が使ってるのはなんていうソフト?
>>704 馬鹿を撲滅することは誰にも不可能だから。
>>706 Linuxでルータ作ろうとかもってのほかですな。売り物買えと。
OSがロハでも、勉強や実験に費やす金額や時間が見えてない奴は、 素直に金払ってコンサル頼むなり、OS買っとけ。
ゴミがえらそうに。 プ
KopeteでMSNMessengerとチャットしようとtcpのポート1863をINPUT/OUTPUT ACCEPTしました。 サインインはできてメンバーリストも表示されますが肝心のメッセージ送受信ができません。 他に開けるべきポートは何番ですか? …っていうかスレ違い?
714 :
login:Penguin :2005/05/03(火) 14:44:36 ID:peZG41il
>>712 仕組みを考慮すると
通信相手ごとに動的ポート割り当ててるからそうなるのかな
そういう場合は、Kopeteをポート開ける権限持ってるユーザで立ち上げるとうまくいくのでは?
715 :
712 :2005/05/03(火) 16:14:50 ID:/xlYFCF1
できたっぽい。 iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 1863 -j ACCEPT iptables -A OUTPUT -p tcp ! --syn -m state --state NEW,ESTABLISHED,RELATED --sport 1863 -d $ANY -j ACCEPT iptables -A INPUT -p tcp --sport 1863 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 1863 -j ACCEPT
716 :
712 :2005/05/03(火) 16:23:27 ID:/xlYFCF1
まちがった。 iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 1863 -j ACCEPT iptables -A OUTPUT -p tcp ! --syn -m state --state NEW,ESTABLISHED,RELATED --sport 1863 -d 0.0.0.0/0 -j ACCEPT iptables -A INPUT -p tcp --sport 1863 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 1863 -j ACCEPT iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 6891:6900 -j ACCEPT iptables -A OUTPUT -p tcp ! --syn -m state --state NEW,ESTABLISHED,RELATED --sport 6891:6900 -d 0.0.0.0/0 -j ACCEPT iptables -A INPUT -p tcp --sport 6891:6900 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp --dport 6891:6900 -j ACCEPT どっかのサイトの請け負いなので自己責任で。
>>717 IPアドレスわかんねーのに攻撃も何も…
それよかホントにこれでいいと思ってる?
>IPアドレスわかんねーのに攻撃も何も… わかってますよ >それよかホントにこれでいいと思ってる? すいません、そこまでは確認していません まるで、私が設定したみたいに責められても・・・
>>719 こっちこそごめん。気を悪くしたならマジ謝るよ
まぁとにかくうまく動いているようなので参考にしたい人はどうぞ。
>>717 に攻撃されても知らないけどw
大穴があるようには見えんけど、念のためnmapしとけば?
722 :
login:Penguin :2005/05/07(土) 10:10:10 ID:0zmDWN2s
質問です。 LAN内のPCのパケットをLAN内のルーターからgatewayに転送したいのですが、どのように かけばよいでしょうか。 LANのPC======================ルーター============ゲートウェイ>>お外 192.168.0.0/255.255.0.0 192.168.1.2 192.168.1.1 かなりぐぐったのですが・・いい事例がみつからないでこまっちょります。
723 :
722 :2005/05/07(土) 10:13:05 ID:0zmDWN2s
最終的にはこの構成でLAN外とのやりとりがしたいです。 どうかどうか、お願いいたします。
iptablesに「IPマスカレード」の機能を持たせてルーターとして動くように設定 かな。
>722 netmaskに妙な設定をしてるな。 ルーターとゲートウェイアドレスの割り当ても変。 ルーターの意味が無いだろう。 この構成ではマスカレードうんぬん以前の問題。 1.LANのセグメントは1つか? 2.24bitマスクじゃ足らんのか? 3.ゲートウェイのLAN側のnetmaskは何bitだ? 4.WAN側の接続はPPPoE/DHCPか?スタティックか? 5.それぞれの機器は何なのだ? と、少なくともこれだけの疑問があるわけだが。
ルータはIPアドレス1こなのかよ iptables以前に普通のルーティングがわかってないよかん
>ルータはIPアドレス1こなのかよ 一個じゃないのか ふーん
ダメだ このスレ
次いってみよう(いかりや風
10秒に一回受け付ける場合 -m limit --limit 10/min -j ACCEPT これでいいですか。
>>730 > -m limit --limit 10/min -j ACCEPT
1分に 10 回受け付けるなら、それで良いんじゃないのでしょうか、と。
ログ見てるとNETBIOS系のポートへのアクセスが無茶苦茶多いわぁ(WAN->ルータ)。 あまりにも多いからログ採らずにDROPするようにしますた。
単にクライアントとしてftpを使いたい場合(NATも使っていないマシン)の設定って # 最初の接続 /sbin/iptables -A INPUT -p tcp --sport 21 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp --dport 21 -j ACCEPT # 確立した接続を通す passive ftp /sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT では何か間違っていますか?ftpサーバに接続した後 ls コマンドが応答しません。 これってpassive modeにすれば大丈夫だと思ったのですが。。。
## ルールの初期化 iptables -F iptables -X ## 基本ルール設定 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT ## サーバー自身からのパケットを許可する iptables -A INPUT -i lo -j ACCEPT ## FTPサーバーは接続許可 iptables -A INPUT -p tcp --dport 12 -j ACCEPT ## 確立セッションのアクセスは許可 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ## 設定の保存 /etc/init.d/iptables save ## サービス再起動 /etc/init.d/iptables restart これでどう?
735 :
733 :2005/05/11(水) 07:57:08 ID:k3hIY5dv
>>734 さん
どうもです。とりあえず
ip_conntrack_ftpを組み込んだら、
>>733 の内容でも動作しました。。。
ip_conntrackは入れてたんですが、ftpの方を入れ忘れていました。すんません。
アドバイスありがとうございます。
>>734 さんの設定も後で試してみます。
>>733 > # 確立した接続を通す passive ftp
> /sbin/iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
> /sbin/iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
これはip_conntrack_ftpを組み込まなきゃ動作しないのは当然でしょ
737 :
login:Penguin :2005/05/12(木) 03:55:15 ID:Yh4LOOui
ルーターで、TCP一つの接続あたり500KB以上のものについてだけ --set-markする方法などはありますか? つまり大きなファイルのダウンロードをしているパケットについてだけ markをつけておいて、QoSで制限したいと思っています。
738 :
login:Penguin :2005/05/12(木) 06:30:28 ID:GjOD6RA8
誰か--limit-burstの意味を教えてくれ・・・ --limitは分るんだけど、いくつか解説してある日本語ドキュメント読んでも なんのことかさっぱり分らん。
740 :
login:Penguin :2005/05/12(木) 12:06:10 ID:PuKuOPop
ようはqueueのサイズじゃないの?
limit は許容する平均的なアクセス頻度を指定。 limit-burst は突発的に起こりうるアクセス頻度を limit の倍数で指定。 例えば "--limit 3/minute --limit-burst 5" と指定すると、 平均的に1分に3回以下のアクセスがあるサービス等について、 たまたま 1分間に15回までのアクセスがあっても制限が有効にならない。 15回/分を超えると、limit で指定した 3回/分以下に落ち着くまで アクセスが制限されたままになる。 ・・・の認識で合ってる?
>>742 漏れもマニュアルやHOWTOを読んでもburstの数値の意味が分からずに悩んだ。
iptables -p tcp --destination-port 22 -m limit --limit 60/minute --limit-burst 10 -j LOG --log-prefix "60/m burst 5"
iptables -p tcp --destination-port 22 -m limit --limit 60/minute --limit-burst 10 -j REJECT
iptables -p tcp --destination-port 22 -m limit --limit 60/minute --limit-burst 5 -j LOG --log-prefix "60/m burst 5"
iptables -p tcp --destination-port 22 -m limit --limit 60/minute --limit-burst 5 -j REJECT
iptables -p tcp --destination-port 22 -j LOG --log-prefix "KOKOMADE KITA-"
としておいて、このホストに向かって連続で次のように接続を試みてから、
ログ見てみたら分かるよ、きっと。漏れはこれで理解できた。
$ while true; do (telnet TARGET-HOST 22 &) ; done
一行目と三行目のlog-prefixの中身が一緒だ。適当に直して。
windowsでゾーンアラーム使ってるけど このソフト、鬼のように難しい。
iptablesのGUIカワでも使へ
>>745 の日本語ではZoneAlarmがクソむずいのかと思ったよ
iptablesはあらゆる設定が静的だからな。 ZoneAlarmは基本設定を終えたら動的に 「今来た通信の扱いどうする?」と聞いてくれるようにもできるから、気楽っちゃ気楽。
そうか.pfwはその点で有利だな
750 :
login:Penguin :2005/05/14(土) 21:24:05 ID:U+zchfNQ
すみませんが教えてください /sbin/iptables -F /sbin/iptables -X /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -A INPUT -p icmp -j ACCEPT /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 22 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 10000 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --sport 10000 -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /etc/init.d/iptables save /etc/init.d/iptables restart これを実行したらhttpもsshもまったくつながらなくなりますた どこが悪いかご教授願います OSはRed Hat 9です
>>750 設定がいまいちわかってないなら
送信の設定を基本的にOFFでいいかと。
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
752 :
login:Penguin :2005/05/14(土) 21:56:49 ID:U+zchfNQ
>>751 スマソ
こんな間違いで・・・・・orz
>>743 んー、それを実行してもなんだかイメージが沸かない。頭悪いんだろうなオレ・・・
いくらんなんでも、このソフトひどすぎ。 まともに使いこなせる人なんて一部だけ。
そういう人は素直にお金出しましょう。
まともに使いこなす必要があるのもごく一部だしな
ポートフォワーディングさせてるパケットに対しては INPUTとOUTPUTチェインは適応されなくて FORWARDチェインでルールを書けばいいんですよね?
iptablesならね
ここiptablesのスレだからipchains時代の話しても仕方がない。 でもごくまれにipchains時代のを引き写してるサイトもまだあるので注意。
>>756 ファイアーウォールは使いこなさないとウィルスに感染するよ。
またよくわからん事を…
>>760 バカだねー.釣り?
とりあえず,
メイル受信すんのやめてくれる?
お前みたいなのがウイルスに感染して
迷惑なんだよねー.
764 :
login:Penguin :2005/05/16(月) 05:57:32 ID:k17AsuK5
先生、リンク切れですよ。
へ? 見れたけど?
おいらも見れないけど? ページがありません Mon Feb 28 21:58:24 JST 2005 指定されたページは存在しません。 文書の改廃やページ構造の変更などによって URL が移動したかもしれません。 トップページ の検索をお試しください。
スレ違いだけどな
イソターネット ↓ eth1 xxx.xxx.xxx.xxx Linux eth0 192.168.11.2 Network 192.168.11.0 subnet 255.255.255.0 ↓ 192.168.11.1 ルータ 192.168.2.141 ↓ 192.168.2.76 こんなネットワークがあります。 さて、"Linux"の設定をうまいことやって、 Linuxからルータの向こうにある 192.168.2.76 に PING 送ったり SSH したり したいのですが、どうすればいいのか教えて下さい。
イソターネット ↓ eth1 xxx.xxx.xxx.xxx eth0 192.168.11.2 Network 192.168.11.0 subnet 255.255.255.0 ↓ 192.168.11.1 ルータ 192.168.2.141 ↓ Linux 192.168.2.76
route コマンド使ったらできたよ。
>>773 /sbin/route add -net 192.168.2.0/24 gw 192.168.11.1
で。
おめでとうございます iptables関係なくね?
いや、内向きのINPUTとOUTPUTの設定を適切にする必要があるぞ。 …。
設問内に ただし、iptablesのポリシーは全てACCEPTとします。 という一文があれば良かったな。
「iptablesで他の通信はうまく通ってるんですが」でも良かったと思う
「ところでiptablesって何ですか?」が一番よかった思う。
iptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT ポート22で上記以外の接続の場合は 強制的にパケットを破棄して接続は許可するけど 転送を速度を遅くする方法はありますか?
それはQoSのお仕事じゃないかな。
っ[wondershaper]
784 :
781 :2005/05/27(金) 06:59:22 ID:qdjom2b0
そしたらiptables -A INPUT -s 192.168.1.2 -p tcp --dport 22 -j ACCEPT ポート22で上記以外の接続の場合は 特定の時間が経過すると接続を切断するのは 可能なのでしょうか?
>>784 それはiptablesの仕事なんだろうか。
サーバソフトウェア側の仕事のような気がするけど。
カーネルのnetfilterにできないことはiptablesでも指示できないよな。
質問です。 iptables -A INPUT -s ! .jp -p udp -j DROP みたいな使い方ってできるんですか?
∧∧ ミ _ ドスッ ( ,,)┌─┴┴─┐ / つ. ネタ禁止│ 〜′ /´ └─┬┬─┘ ∪ ∪ ││ _ε3 ゛゛'゛'゛
はじめはみんな疑問に思うことじゃね? 少なくともオレは疑問に思った. 残念ながらそういう使い方はできない.
790 :
787 :2005/06/01(水) 13:46:29 ID:jZZyfStr
>>789 ありっす。やっぱ無理ですか・・
メドイけど、ちまちまシェルでも書きますw
792 :
787 :2005/06/01(水) 19:51:16 ID:KPQq1+g9
てすと
794 :
login:Penguin :2005/06/06(月) 10:07:33 ID:EEtYNcGx
put
おまいらlogとってる? 最近、もれログなんかとってもしょうもねぇと思えてきた。
不正アクセスされて犯罪に使われた場合、おまいが犯人にされる確率がうpするだけの事。 気にするな。
ISPで保存されてるログのほうが詳細確実なのではないかと思うことはある
ログを取ることの意味として、ログの量だけでもずっと見ておくというのは有 効な手段。 普段あった attack のログが、突然なくなったらやばいと思え。
諦めたか成功したかどっちかだから。
iptablesのログにかかるなんて殆どbotじゃん。 それよか、ログ確認するときなにつかってる? もれはtail -n 50 /var/log/????? なんかいいつーるないか?
logwatch使ってる
Redhat では標準で動いているっぽいので、楽よね > logwatch
804 :
login:Penguin :2005/06/10(金) 01:42:21 ID:Om3+4KCm
まあ直前を見る時はtail使うが、 いつもはswatchで飛ばしてるだけだよ。 監視すんのマンドクセから
805 :
login:Penguin :2005/06/10(金) 04:37:39 ID:kTWL8RIO
ポート解放についてですけど iptableで例えばポート80を開いたつもりなんだけど 外部から解放できてるか調べるとできない。 で、httpdを走らせると解放できてる。 ポート10000とかを解放してもそれにあてはまるサービスがないと そのポート開いても意味ないのですか? それともなにか設定するとこがあるのでしょうか?
変な質問でスマソ。
ポートの偽装って技術的に可能なんでしょうか?
ルータでポート転送するような事をWAN側のPCが制御しちゃうとか…
>>805 の便乗質問になりますが…
例えば、外部から、空いているポート10000を経由してLAN内の
非公開鯖(ポート80)にアクセスしちゃうとか…
別にハッキングしたいとかじゃなく、技術的にできちゃうのかなぁ〜
って、ふとっ思った素朴な疑問でした (^^;
サービス動いてないとポーと開けてても意味ない。
『ポートをあける』、という言葉の意味がそもそも間違ってないか。 > 例えば、外部から、空いているポート10000を経由してLAN内の > 非公開鯖(ポート80)にアクセスしちゃうとか… 外----FW---非公開Webサーバ となっていて、FWをクラック出来るのならば可能。
>>806 でつ。
変な質問にレス Thanks.
そか、FWがクラックされたら…ってことね。なるほど。とすると…
一般に市販されているBBルータなんかは、クラックの危険度は
低いんでしょうかね。設定ミスで外から管理画面に簡単にアクセ
スできちゃうような場合を除いて…
外ーーーBBルーターーーFWーーー非公開Web鯖
みたいに多段になっていれば、より手間が掛かる分だけ「より安全」
って事なんですかね。
811 :
login:Penguin :2005/06/13(月) 12:18:16 ID:/ME5JXPJ
$iptables -N Trojan $iptables -A Trojan -j LOG --log-level warning --log-prefix 'trojan: ' $iptables -A Trojan -j DROP $iptables -A INPUT -i ${EXT_IF} -p tcp --dport 1024:65535 -m state --state NEW,INVALID -j Trojan $iptables -A FORWARD -i ${EXT_IF} -p tcp --dport 1024:65535 -m state --state NEW,INVALID -j Trojan $iptables -A INPUT -i ${EXT_IF} -p udp --dport 1024:65535 -m state --state NEW,INVALID -j Trojan $iptables -A FORWARD -i ${EXT_IF} -p udp --dport 1024:65535 -m state --state NEW,INVALID -j Trojan これで防げないかな・・・
812 :
login:Penguin :2005/06/14(火) 13:40:01 ID:kS8mx7dH
いま猛烈に22番へアクセスしてる輩がいるが、TIME_WAITが20個ぐらい。 /sbin/iptables -A INPUT -s ??????? -j DROP としてもTIME_WAITが残ったままになってしまいます。 ほかに何か値が必要ですか?
ifconfig で eth0のエイリアスeth0:0を作成しました。 いままでの設定で iptables -A -i eth0 ....のような感じで使用していたのですが、 速度的にどのパターンが一番ベターでしょうか。 1)それぞれのインターフェースごと設定 iptables -A -i eth0 .... iptables -A -i eth0:0 .... 2)-i eth+を使用する iptables -A -i eth+ .... 3) -i eth0 を記述しない iptables -A ....
>813 途中からDROPしても、それまでに開いたセッションについては タイムアウトするのを待つしかない。 めんどいから、REJECTすれば良いのでは。 -j REJECT 適合するパケットに対してリセットフラグのたったパケットを送る。 セッションが開いてるってことは、向こう側からパケットが来るだろうから、それを 拾ってResetしてしまえばOk。
192.168.2 192.168.0
--------eth1[Linux A]eth0---------------[NAT]---WAN
| |
win98 win2k
上のような構成で、win98からWANへアクセスしたくて
Linux Aでiptablesを設定しようとしています。
シェルは
http://easyfwgen.morizot.net/gen/index.phpで以下の設定で 作りました。
Dynamic Internet IP Addressにチェック
Gateway/Firewall にチェック
Internal Network Interface: eth0
Internal Network IP Address: 192.168.2.1
Internal Network: 192.168.2
Internal Network Broadcast: 192.168.2.255
>Internal Network Interface: eth0 Internal Network Interface: eth1 の間違いでした。すいません。 今はwin98からWANに対してpingも通らないです。
すいません。続きです。 win98はデフォルトゲートウェイは192.168.2.1で、これは eth1のアドレスです。 Linux AからWANへのアクセスはできています。
シェル作ったのか。すげー、尊敬するよ。
シェルそのものじゃなくてシェルスクリプトですよ。 文脈読めばわかるでしょ。
821 :
818 :2005/06/17(金) 21:23:31 ID:ZjL51WF/
/sbin/modprobe iptable_nat echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t filter -F FORWARD iptables -t filter -F INPUT iptables -t nat -F POSTROUTING iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t filter -P FORWARD ACCEPT でできました。 sage
822 :
login:Penguin :2005/06/23(木) 17:06:28 ID:Tmy5e0je
質問させてください。 現在、AAA というPCから、BBB というサーバに ssh で接続して、 そこから CCC というサーバに ssh で接続したいのですが、(踏み台) BBB から CCC への iptables で苦戦しております。 現在、BBB サーバには、 iptables -A INPUT -p tcp -s AAA -d BBB --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp -s BBB --sport 22 -d AAA -j ACCEPT の設定をしており、AAA から BBB への ssh は正常に行えています。 ここで、BBB サーバから CCC サーバに ssh 接続するために、 iptables -A OUTPUT -s BBB -p tcp --dport 22 -j ACCEPT を追加してみましたが設定が悪いのか接続できませんでした。 ちなみに CCC サーバは、全ての接続に対してフィルターはかけておらず、 BBB サーバの iptables を stop すると、問題なく AAA -> BBB -> CCC への ssh ができています。 すみませんが、ご教授の程よろしくお願いします。
> iptables -A OUTPUT -s BBB -p tcp --dport 22 -j ACCEPT BBB から CCC は開けてるけど、CCC から BBB 開けてないじゃん。
824 :
822 :2005/06/23(木) 18:39:28 ID:Tmy5e0je
>>823 レスありがとうございました。
何か iptables の INPUT と OUTPUT で
根本的な勘違いをしていたようです…。
仕切りなおして、BBB から CCC に ssh 接続するために、
iptables -A OUTPUT -p tcp -s BBB -d CCC --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s CCC --sport 22 -d BBB -j ACCEPT
としてみました。
が、やっぱりダメでした…。
INPUT は自分に入ってくるパケット、
OUTPUT は自分から出すパケットの考え方ですよね?
825 :
822 :2005/06/23(木) 21:28:35 ID:Tmy5e0je
自己レスですが iptables 解決しました。 sh で最初に iptables の設定をして、 その後に ssh の設定を追加していってたんですが、 sh の最後に LOGGING の設定があり、 その後ろに ssh が追加されていたのが原因でした。 設定の順番を変えたところ、うまく通信できました。 お騒がせしました… 有難うございました。
フーン
(´_ノ`)フーン
828 :
login:Penguin :2005/06/28(火) 17:10:28 ID:O0vsanP6
以下の様な事って可能か教えてください。 やりたい事 ローカル(eth0)から外部80番ポートのアクセスを一度ローカル鯖で拾って 「本当にアクセスしますか?」って出してOKならリダイレクトを行いたいです。 $LAN_IF="eth0" $WN_IF="eth0" $IPTABLES -t nat -A PREROUTING -i $LAN_IF -p tcp --dport 80 -j REDIRECT --to-port 8080 何となく透過串設定にしてみました。 で鯖で立ててるapacheの8080で拾ってくれてindexページは出すことが出来ましたが、外へ飛んでくれません。。。 ループするかと思いましたがループはしませんでした。 宜しくお願いしますm(__)m
そう言うときは串(squid)じゃないかな…
>>828 おいおい。。。
いったい何を出す気なんだ??
831 :
828 :2005/06/30(木) 02:03:56 ID:OMTCcdAz
やっぱ無理っすか・・・
>>831 無理とか無理じゃないとかじゃなくて、そもそも解決するべきレイヤーが全然違う。
IP firewall に HTTP 喋らせる気かよ。
TCPの1000-1002をあけるには iptables -A INPUT -p tcp --dport 1000 -j ACCEPT iptables -A INPUT -p tcp --dport 1001 -j ACCEPT iptables -A INPUT -p tcp --dport 1002 -j ACCEPT だけど、 iptables -A INPUT -p tcp --dport 1000-1002 -j ACCEPT って感じに一行でやる方法ないの?
833じゃないけど疑問になったので質問。
>>834 そんなやり方はじめてみたけどまじでできるのか?
>>836 カンマで区切る方法は知ってるんだけど・・・
zshスクリプトで書くというのはどうだろう
カス二号
>>837 iptables(8) を 100 回読んで出直してこい。
漏れは man 5 を見たいんだよー。 しかし、iptables(5)はないんだよー。
>>838 zshスクリプト覚えるくらいならperlのほうがというか
今回に限っていえばbashスクリプトでも用は足りるというか
まあ、bashスクリプトでなくても用は足りるんだが
シュッシュッ
845 :
login:Penguin :2005/07/02(土) 16:05:50 ID:QUmB5yr5
すいません iptablesで #iptables -F #iptables -P INPUT DROP ってやってしまった場合、解決方法はありますか?
(゚Д゚)ハァ?
>>845 はリモートのマシンでやってしまったのだと勝手に想像
>>846-847 すいませんそういうことです
saveしてないんで(つーか当然出来ないので)再起動すれば戻ると思います
今から、サーバの再起動に行ってきます
850 :
login:Penguin :2005/07/02(土) 21:02:34 ID:6rmoOeAp
リモートマシーンでINPUTポリチーをDROPにしちゃっても、 リモートから何とかできる方法があったら、iptables破綻しちゃわ ないか?
いや念のため聞いただけです #iptables -P INPUT DROP やるときに 「ほんとにOKですか?(y/n)」 みたいなダイアログ出てくればいいのに・・・
いちいちダイアログでてきたうざいわー!W
∧ ら わかりました
細かいなぁ。その細かさを以下略。 どうでもいいけど、「ほんとにOKですか?」って微妙。
>>853 もし仮に確認されても、どうせ慣れてきたら何も考えずに Yes にするだろ?
結局、君自身が意識的に気を付けるようにするしかないんだよ。
>>855 alias rm='rm -i'
とかしてあっても \rmしちゃうのと同じだな。
Enterキーに「本当にOKですか?」って貼っとけ。
そうすっと今度はみんな^M
859 :
login:Penguin :2005/07/08(金) 07:51:28 ID:jttAXitI
>今から、サーバの再起動に行ってきます 言っちゃ悪いがそんな質問するレベルなら再起動せず鯖止めとけ。最低でも iptablesまともに使えないと即効乗っ取られるぞ。
あーごめん、860は無かった事にして。寝ぼけてて別の意味にとってた・・
いつのネタに、
使い方もなにも Firewall Builder があれば無問題
>863 fwbuilderが使いやすいということか? とても信じられん・・・・あれ使うくらいなら、テキストベースのほうがマシだ・・・
人がどう感じるかは個人の自由 ちなみにオレもテキストベース派
firewall の設定を GUI でやるって、正直辛い。 安物のハードウェアルータに付いてる firewall の設定が出来る Web インターフェースも使いづらいと思うし。 まして、あんなのより多機能な Unix の firewall を GUI でっていうのは UI を相当工夫しないと難しいと思うが。
867 :
login:Penguin :2005/07/19(火) 19:59:55 ID:SwReTzF1
GUIはレスポンスが悪いから初心者用から脱しない。 UI工夫しても無理。使ってる奴はまじで無能。
>>867 それは言えてる。
GUIないとLinux使えないのにLinuxユーザと同じですね。
iptablesの設定なんて、GUIでもCUIでもレスポンスなんて関係ないと思うが。
ああ、GUIでやるのが辛いってのは同意だけどね。 ただ、後々のメンテとか一部変更の為、多少の知識があれば 自分でなくても設定できるようにGUIを用意したりする。
>>868 スレ違いネタだけど、鯖用途だけLunix使い(CUIのみ)な奴(俺もそうだが)より、
GUIとバイナリパッケージだけでもOpenOfficeやブラウザ/メーラーを使っているやつの方が
Linuxユーザという感じがする。
Lunixってなんだよ...orz
俺も CUI 派だけど FireWall-1 は使いやすいと思う。 むしろ FireWall-1 に慣れてしまったら Cisco の ACL が大嫌いになった。 iptables も定義は今のままでいいけど、ログビューワくらいは欲しいなぁ。
IOSとかはタルすぎるので論外. shorewallを使ってみなさい.楽だよー.
ちと聞きますが、INPUT、OUTPUT、FORWARDのポリシーってデフォルトACCEPTとDROPどっちにしてますか? 個人的には基本ポリシーはDROPなのですが、iptables関連のページを見てみると結構基本ポリシーACCEPTにしてる人がいるので。 最終的に「iptables -A INPUT -j DROP」とかやれば良いんだろうけど、なら最初から拒否っておけよって言えない鶏野郎です。
>>875 それこそポリシー次第でいいんじゃね。
俺は全てDROPにしているが、普段直接コンソールで叩くことをしないので、
>>845 のようなことにならないためにも、最後にDROPの方がいいのかもしれんw
>873 俺も使っている。確かに使いやすい。が、設定のファイルobjects.C等の リファレンスが欲しい、とサポートに言ったら 「お渡しできません、仕様は非公開です」 と言われた。 GUIで設定できない事は objects.Cをああせい、こうせいと言うくせに > サポート 設定を行うにはWindowsかSolaris (別途Motifのライセンスを購入しなければならない) が必要なのはつらい。 # とは言え、仕事ではFireWall-1以外を使う気にはなれなくなってしまった。 orz
878 :
864 :2005/07/26(火) 20:22:32 ID:6Rjqey26
GUIよりCUIのほうがマシだ、、という意味ではなく、fwbuilder に特定して、 あれはとても使いにくい(というか、不安定で使えない)ものだと認識してます。 ついでに言うと、fwbuider は、CicsoのPIXについても対応してます。 fwbuider はFW-1の管理コンソール(SmartDashBoard)を真似てるっぽいのですが、 激しく使いにくいっす・・・
iptablesでパケットのログにSRC=xx.xxx.xxx.xxxとか書かれていますが あれをSRC=aaa.xxxxxxx.comとかにいちいちlookupして書くようにする パッチとか無いでしょうか? わざわざ、自分でするのが面倒くさくて
>>879 1. xx.xxx.xxx.xxx を逆引きする。
2. aaa.example.com PTR を得る
3. その時に発生した domain クエリーがログに書き込まれる
4. DNS サーバを逆引きする
5. dns.mydomain.example.org が返ってくる
6. その時に発生s(ry
…とループするので、面倒くさくても自分でやりましょう。
どうでもいいけど、例示の時のホスト名は example.{com,net,org} 使おうな。
See RFC2606。
ログファイルなめて一括で逆引きしてくれるツールとかなかったっけ。 まぁでも逆引きより whois とか traceroute を活用すれ。
テスト
ルニックスってなに?
885 :
login:Penguin :2005/08/15(月) 23:43:07 ID:nTT0yJKB
886 :
login:Penguin :2005/09/01(木) 19:47:41 ID:2mxTH9n4
ステータス追跡で新規接続にもかかわらずsynが立っていないパケットを 落とすようにしたら、IMAPのクライアントが変なパケット送ってきて引っか かってしまうんですが、どうするのが良いのでしょうか。 具体的には、 iptables --append INPUT -tcp ! --syn -m state --state NEW -j ログ出してDROPのチェーン と設定すると、IMAPのクライアントからACKとPSHが立ったパケットや、 ACKとFINが立ったパケットがやってきて引っかかってしまいます。 見た目上動作に問題は無いみたいなんですが、どうも気持ち悪いので、 無理矢理回避しようかと思ってるんですが、いかがなもんでしょうか。 IMAPはIMAP/IMAPSの両方のポートで、サーバーはuw-imap、クライアント はoutlook expressとThunderbirdで、同様な症状が出ています。 何かアドバイスありましたら、よろしくお願いします。
鯖のコンソールがDROPのログで埋まってしまうんだけど、 これってなんとかならんのかなぁ。
普通はクライアントからの操作かと。
>>889 勿論クライアントから操作してるんだけど、たまに鯖の非常用モニタを見に行くと、、、
という話っす。
何とかなりませんかね?
つ klogd -c 4
>>891 をを。
でもそれだとレベルでぜんぶ抑制されるよね。
「iptablesの特定の(レベルの)ログだけコンソールには表示しない(/var/log/syslog等には記入)」
という芸はできないもんかしら。
iptablesはカーネルログに渡してるだけだから無理じゃなかろか? それとも--log-levelとかULOG(man iptables参照)とかでなんとかなるもんなのかな。 やったことないのでよく知らんのだが。
保守
iptables のログモードをverboseとすると、マックアドレスらしき MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx という記録が残りますが、この14桁のヘキサコードは何なのでしょうか。 最初の6桁は自分のマシンのNICのMACアドレスに一致します。 中国や韓国の複数のドメインから、不正なsshによるアクセスを受けているのですが、 上のMAC=の値が同じなのです。 同じMAC=値のアクセスのSRC=値(IPアドレス)中に、様々なサイトで危険とされている ものが含まれていますので、おそらく、同じマシンから異なるサイト経由で攻撃を 行っているのだろうと思われます。ですので、IPアドレスではなくMACアドレスで フィルタリングをしようと思っていますが、14桁のMAC=値のどこを使えばいいのかが わかりません。
>>896 ルータの MAC アドレスと比べてみた?
ルーターのMACアドレスの調べ方を知りませんが、 少なくとも14バイト分のヘキサ値のうち、最初の7バイト分は変わらず、 残りの7バイトが変化しています。したがって、その可変の部分はルーターの情報では 無いと思われます。 最初の7バイトが不変なのは、最初の6バイトが自分のマシンのNICのMACアドレスで 7バイト目がどのNICでもゼロだからなのだと思います。そうだとすると、 後ろの8バイト分が何であるのかが問題になります。6バイトなら、送信元の フィルタリング対象とすべきNICのMACアドレスだと予測できますが、何故8バイト なのでしょうか。 よく見ると、最後の2バイトが同じ値で不変です。この2バイトは何なのでしょうか。
>>898 手元のカーネル 2.4.27 のソースを見ると
出力してるとこは net/ipv4/netfilter/ipt_LOG.c の ipt_log_target() かな。
どうも Ethernet のヘッダを出力してるっぽい。
> よく見ると、最後の2バイトが同じ値で不変です。この2バイトは何なのでしょうか。
08:00 で固定ならタイプかな。
http://www.itbook.info/study/p2.html > ルーターのMACアドレスの調べ方を知りませんが、
arp -na
>>899 まさに、最後の2バイトは0800です。
リンク先のページあります、宛先MAC+(送信元MAC)+タイプに一致します。
私のマシンの場合、一つのMACアドレスから、実に16ものIPアドレスからのアクセスが
ありました。これは、IPアドレスによるフィルタリングを回避するためだと思われます。
このようなアクセスに対しては、MACアドレスによるフィルタリングが効率的で
良いかもしれないと考えています。
カーネルソースまで見て頂いたおかげで完全に謎が解けました。
これで、忌々しいアクセスに対して(当面の間は)簡単にフィルタを
かけられそうです。本当に助かりました。
さっきやっとFTPサーバーのパッシブモードの設定が一応形になった。 ホームページとか見て回ったけど、 iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT っていうのはサーバー側にはいらないよな? むしろクライアント側に(アクティブの時に)必要なんだよな? OUTPUTならまだ分かるけど。 まったくネットワーク管理は地獄だぜ
>>900 > カーネルソースまで見て頂いたおかげで完全に謎が解けました。
全然謎は解けてないと思うよ。
マスタリング TCP/IP でも読んでみれば。
903 :
login:Penguin :2005/09/25(日) 00:19:45 ID:pmFaL+k5
物凄く基礎で申し訳ないですがご教授願いたいです。 Internet=======[eth1]GW[eth0]=======DHCP(192.168.255.254)--クライアントPC という構成なのですが、以下のiptablesの設定でクライアントPC(192.168.255.135) からインターネット(port:80)に繋がりません。GW以外にpingすら通らない状態です。 /sbin/iptables -F INPUT /sbin/iptables -F FORWARD /sbin/iptables -F OUTPUT /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -A INPUT -i eth0 -j ACCEPT /sbin/iptables -A OUTPUT -o eth0 -j ACCEPT /sbin/iptables -A INPUT -i eth1 -p udp --sport 53 -j ACCEPT /sbin/iptables -A OUTPUT -o eth1 -p udp --dport 53 -j ACCEPT /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE /sbin/iptables -A INPUT -i eth1 -m state --state ESTABLISHED -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT どなたか何卒ご教授お願い致します。
>>900 > 私のマシンの場合、一つのMACアドレスから、実に16ものIPアドレスからのアクセスが
> ありました。これは、IPアドレスによるフィルタリングを回避するためだと思われます。
そんなことできんの?
>>903 eth1からeth0へFORWARDされてないから
クライアントPCまで戻ってこれないんじゃないかなぁ。
わざとかどうか知らんが、教示を教授と言うやつにろくなのいねー
師弟関係を結びたがってるんでまいか
保守ほしゅホシュホシュ・・・
逆引き不可なIPは弾くって可能ですか?
パケット飛んでくるたびに逆引きさせるつもり?
>>903 > /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
これは、たぶん以下の2行になるのでは
/sbin/iptables -A FORWARD -i eth0 -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
people.1gb.ru pervertbot.com pharma-diet-pills.com こんな感じのIPでないリストをdenyのそのまま設定って可能ですか?
>>912 可能だけど、iptables コマンドの実行時に IP アドレスに変換されるだけですよ。
カーネル内部のフィルタリングテーブルは IP アドレスのみです。
韓国と中国からのIPを全てiptablesで弾いたのですが iptables -A INPUT -i $WAN_IF -s 韓国、中国IP -j DROP これだと中部ランから韓国と中国への接続が出来なくなりました。。 内部ランから韓国と中国へのアクセスすを許可 したいのですがどの様に設定したら良いかご教授下さい。 宜しくお願い致します。
内部LANから接続確立されたパケットの通過許可した?
>>917 以下のルールは発行してます。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
これじゃないですか?
順番は大丈夫?
歯ぁ磨いたか?
>>919 ありがとうございます。
iptables -A INPUT -i $WAN_IF -s 韓国、中国IP -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
を
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $WAN_IF -s 韓国、中国IP -j DROP
に変えたら動きました。
ちょっと基本を勉強しないと。。。
サーバ関係を一切使わず、単にメールとかネットサーフィンとかIMをするだけのユーザの場合に どう設定すればいいのか分かりません。 内側からのメッセージに応答するもの以外、外から一方的に入ってくるパケットは全て塞き止め たいのですが・・・。調べているんですけど、調べ方が悪いのか、なかなか見付かりません。
924 :
login:Penguin :2005/10/25(火) 17:30:45 ID:bL5l3KF2
>>923 これは 922 への返答?
かなり違うと思うけど。
>>922 とりあえず、ディストリビューションは?
その手のシンプルな設定は、Fedora ならインストール時に
指定できるレベルの話だ。他は知らないけど。
925 :
922 :2005/10/26(水) 16:38:54 ID:VtBSxkdD
>>924 > とりあえず、ディストリビューションは?
申し訳ありません。書き忘れました。Debian GNU/Linux 3.1(sarge)を使っております。
> その手のシンプルな設定は、Fedora ならインストール時に
> 指定できるレベルの話だ。他は知らないけど。
実はついこの前、Fedora Core 2から乗り換えたんです。
Fedoraではインストール時に自動的に設定してくれていたようなので知らなくてもスルー
できたのですが、Debianではそういう訳にはいかず・・・
> これは 922 への返答?
そうかなぁと思って参照してみました。で、そのページに書かれてある一部を少し使わせて
いただくことにしました。スクリプトに関する知識が皆無なので、まだ分からない点もあります。
とりあえず使わせていただいたのは以下の記述部分です。
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
>>925 すべてアクセプトポリシで十分だろ。
グローバルIPアドレス直じゃあるまいに。
PPPoEでプロバイダーに繋いで、iptablesでnat使ったルーターとして動かして いるんですが、再設定すると、なぜか一部のネトゲなどが動かなってしまいま す(他は正常)。リブートすると、またちゃんと動くようになるので、何か初期設定 が足りないような気もするのですが、初期化時に--flushや--delete-chainを filterテーブル以外のnatやmangleにも行なうようにしているし、思い当たる節 がありません。 テーブルの完全な初期化を行なうために、何か他に行なわなければいけない ことがあるのでしょうか。お心当たりのある方いらっしゃったら、アドバイス いただけませんでしょうか。
一旦全部のポリシーをACCEPTにしてからフラッシュしてみるとか? とりあえずlogにパケットのドロップ情報を吐き出させるべし
929 :
922 :2005/10/28(金) 22:58:48 ID:BdzE9hkl
>>925 (自己レス)
英文だけど、このページが分かりやすかったです。
ttp://www.howtoforge.com/linux_iptables_sarge 上のページを参考に下のように訂正しました。
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT DROP
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
>>929 > # iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
これは不要と思われ。
931 :
login:Penguin :2005/11/06(日) 15:42:35 ID:8GhXv3DX
あーん、 nfsの設定むじゅいー ポートが動きまくって落ち着いてくんないよー
934 :
931 :2005/11/07(月) 03:16:44 ID:AWjke8bE
見事に解決しました。 いい勉強になりました。
935 :
login:Penguin :2005/11/14(月) 22:23:14 ID:idLPqzJ2
すみません、勉強中なのですが、基本的なところが分からない〜 どなたか教えてくださいm(__)m Linux(192.168.0.100)とWindows(192.168.0.128)で、その2台の間の通信は全て許可、にしたいとします 以下のように設定してみたのですが、 /sbin/iptables -F /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -A INPUT -s 192.168.0.100 -j ACCEPT /sbin/iptables -A INPUT -d 192.168.0.100 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.0.128 -j ACCEPT /sbin/iptables -A INPUT -d 192.168.0.128 -j ACCEPT /sbin/iptables -A OUTPUT -s 192.168.0.100 -j ACCEPT /sbin/iptables -A OUTPUT -d 192.168.0.100 -j ACCEPT /sbin/iptables -A OUTPUT -s 192.168.0.128 -j ACCEPT /sbin/iptables -A OUTPUT -d 192.168.0.128 -j ACCEPT 上記の全部指定してやっと繋がるようになるようです。 そこでどうも分からないのは、例えばINPUTチェインで、 自分(192.168.0.100)をソースにした設定と、相手(128)をデステネーションにした設定 って、なんだか矛盾していると思うのですが (「INPUT=入ってくる」のに行き先に相手(128)を指定しなくてはいけない変な気が・・・) 何故必要なんでしょうか? -s と -d の意味を混同している?
936 :
login:Penguin :2005/11/14(月) 22:46:38 ID:6x1ycr9H
自分宛に流れているRTPを次のような感じでDNATをかけて 別PCに転送したいのですが、うまくいきません。 # iptables -t nat -A PREROUTING -p udp -s 192.168.0.1 -d 192.168.0.2 --dport 1024 -j DNAT --to-destination 192.168.0.3 RTPが流れ出す前に設定するとうまくいきます。 すでに流れているRTPにDNATをかけるのは 無理なのでしょうか。 アドバイスをいただけないでしょうか。
>>936 nat -> mangle にすれば動くかも。
>>935 >>2 やfirewall解説siteでも参考にして、まず基本的なルールを覚えましょう
939 :
935 :2005/11/14(月) 23:58:32 ID:idLPqzJ2
特定のパソコン間の通信を全て許可する設定って、どのようになるか教えていただけるとありがたいのですが・・・ >935は間違っていますよね?
941 :
login:Penguin :2005/11/15(火) 10:27:51 ID:H8P10of/
シクシク(;_;)
(いまどきはシクシクなんて言わないんだっけ?)
トン
>>940 読みますけど・・・
参考までにどんなふうになるのかサンプルをどなたかプリーズ・・・m(__)m
942 :
login:Penguin :2005/11/15(火) 10:37:06 ID:H8P10of/
色々実験していて、ちょと進展 やっぱり、 /sbin/iptables -A INPUT -s 192.168.0.100 -j ACCEPT /sbin/iptables -A OUTPUT -d 192.168.0.100 -j ACCEPT だけでよかったみたいorz 直接IP指定ならそれで接続できる 問題は、NetBIOSが名前解決できなくなる? ブロードキャストがなんたら・・・・(何度も聞いたことはあるのだけど、理解していない) 出直してきますm(__)m
>>942 ネットワークの基礎知識から勉強したほうがいいと思うぞ。
いまどきの表現はこれ (´・ω・`)ショボーン
945 :
942 :2005/11/15(火) 23:58:19 ID:MhOBZF7c
UDP137番をローカルのみ開放したら普通に使えるようになりました(^_^;)v
946 :
936 :2005/11/16(水) 00:10:29 ID:e2gjrMIN
>>937 mangleではDNATが使えません。
うーん、無理なのかなあ。
>>942 >/sbin/iptables -A INPUT -s 192.168.0.100 -j ACCEPT
>/sbin/iptables -A OUTPUT -d 192.168.0.100 -j ACCEPT
>
>だけでよかったみたいorz
ほ、本当ですか?
948 :
942 :2005/11/16(水) 21:16:26 ID:rEPFUMpy
>947 ちっ、違うんですか?!
___ ミ ┌ ┌ | ζ ┌ ┌ | ┌ ┌ | ┌ ┌ | ┌ ┌ | ┌ ┌ | ┌ ┌ |
iptables -N fragment iptables -A fragment -j LOG --log-prefix "iptables fragment: " iptables -A fragment -j DROP iptables -A INPUT -f -i ppp0 -j fragment iptables -A FORWARD -f -i ppp0 -j fragment これよく見かけるんだけど、 iptables のフィルタまでパケットが到達するときはすでに、 リアセンブリされてるからフラグメントしてるパケットあるのは、 おかしいよ!!logる!捨てる!ってことですか?
sambaスレからの若干マルチになります。ご容赦ください。 現在 社外win端末<---VPN--->社内VPNサバ 218.***.***.*** VPN時 社外のWINクライアントには192.168.1.51が割り振られます。 社内のローカルIPは192.168.1.***になっております。 社内VPNサバにはグローバルがふってあり 社内はローカルとグローバルが混在しています。 社内のVPNサバにはローカルIPは振られていませんが、 SSHログイン後 192.168.1.5等の社内のローカルIPを持つマシンにping可能です。 社外のWIN端末はiptableのマスカレードが設定されており。 VPNサバを通して、社内LANのマシン、および社外のWEBサーバへのアクセスが 可能になっております。 VPNのクライアントマシンから社内LANマシンへのpingはOKですが 逆はマスカレードのためかだめな状態です。 社内LANのマシンから社外クライアントにふられた192.168.1.51に対して アクセスできるようにするのはiptableの設定で可能でしょうか。 また、その設定のヒントをくだされば幸いです。
iptable と言うよりは、FireWall(192.168.1.51側) の設定じゃない?
953 :
login:Penguin :2006/01/04(水) 23:07:35 ID:ucpYBJ+X
すみません、二ヶ月悩んで分かりません、どなたかヒントを頂けないかと・・・ windowsとのファイル共有を行いたいのですが、 192.168.0.0/24をすべて許可してしまえば可能なのですが、 明示的にファイル共有に必要なポートだけ開くように設定するとしたら、どのようにすればいいのでしょうか? 以下のようにやってみたのですが、繋がりませんorz すべて許可にすると繋がります /sbin/iptables -A OUTPUT -p udp -d 192.168.0.100 --dport 137 -j ACCEPT /sbin/iptables -A INPUT -p udp --sport 137 -s 192.168.0.100 --dport 137 -j ACCEPT /sbin/iptables -A INPUT -p udp --sport 138 -s 192.168.0.100 --dport 138 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -d 192.168.0.100 --dport 139 -j ACCEPT /sbin/iptables -A INPUT -p tcp --sport 137 -s 192.168.0.100 --dport 137 -j ACCEPT /sbin/iptables -A INPUT -p tcp --sport 138 -s 192.168.0.100 --dport 138 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.255 --dport 137 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --sport 138 -d 192.168.0.255 --dport 138 -j ACCEPT
954 :
953 :2006/01/04(水) 23:08:23 ID:ucpYBJ+X
あ、windows側が192.168.0.100です
っブロードキャスト
956 :
login:Penguin :2006/01/05(木) 00:20:24 ID:3Qm8RMBl
>955 ヒントthx ブロードキャストはこれではダメなんでしょうか? /sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.255 --dport 137 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --sport 138 -d 192.168.0.255 --dport 138 -j ACCEPT ってダメだから繋がらないんですよね・・・orz
なんでtcpだけなのか > ユニキャスト
958 :
login:Penguin :2006/01/05(木) 00:30:40 ID:3Qm8RMBl
>957 えっ? NetBIOS データグラム サービス UDP 138 NetBIOS 名前解決 UDP 137 NetBIOS セッション サービス TCP 139 以外に必要なポートがあるのでしょうか? 思いつく変更を片端から試しているのですが、でたらめにやっていてもみつかりませんね(T。T)
959 :
953 :2006/01/05(木) 01:53:59 ID:3Qm8RMBl
ダメ、どうしても分からない・・・(T_T)
>>959 dropなりrejectしたパケットのログは?
tcpdumpした結果とか。
961 :
login:Penguin :2006/01/05(木) 02:29:35 ID:3Qm8RMBl
>960 サンクス なんか139番の設定がおかしかったぽいス こんな感じでできたかも?↓ /sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.100 --dport 137 -j ACCEPT /sbin/iptables -A INPUT -p udp --sport 137 -s 192.168.0.100 --dport 137 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --sport 138 -d 192.168.0.100 --dport 138 -j ACCEPT /sbin/iptables -A INPUT -p udp --sport 138 -s 192.168.0.100 --dport 138 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -d 192.168.0.100 --sport 139 -j ACCEPT /sbin/iptables -A INPUT -p tcp -s 192.168.0.100 --dport 139 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --sport 137 -d 192.168.0.255 --dport 137 -j ACCEPT なんか変ですかね? まだ理解が足りないのですが、とりあえず今日は寝ますm(__)m
うちはこんなかんじかな。 /sbin/iptables -A IN_LAN -p tcp --dport 139 -j ACCEPT /sbin/iptables -A IN_LAN -p tcp --dport 445 -j ACCEPT /sbin/iptables -A IN_LAN -p udp --dport 137:138 -j ACCEPT /sbin/iptables -A OUT_LAN -p tcp --dport 139 -j ACCEPT /sbin/iptables -A OUT_LAN -p tcp --dport 445 -j ACCEPT /sbin/iptables -A OUT_LAN -p udp --dport 137:138 -j ACCEPT ・うちのは最初にアドレスやインターフェースなどを見て専用のチェーン(IN_LAN/OUT_LAN)に 送ってから処理してのでその辺は了承されたし。 ・実際にはconnection trackingも使っているがそこは省く。 ・状況によってはsrc portがhigh portになる場合があるので、dst portだけで見ている。 たとえばnmblookupとか。 んで、IN_LANチェーンでのアドレスチェックがあるので、ブロードキャスト受信のルールだけ別。 /sbin/iptables -A INPUT -i $ETH_LAN -p udp --dport 137:138 -j ACCEPT
多分下のでできるけど、 問題の切り分けができていないのでよくない。 ファイアウォールをOFFにしてみて接続できるのか、 iptablesを設定したときにマシン名ではなくIPアドレスで接続はできるのか、 等々何をやったのかがさっぱりわからん。 /sbin/iptables -A INPUT -p tcp -m multiport --source-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A INPUT -p udp -m multiport --source-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m multiport --destination-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A INPUT -p udp -m multiport --destination-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -m multiport --source-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A OUTPUT -p udp -m multiport --source-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A OUTPUT -p tcp -m multiport --destination-port 135,137,138,139,445 -j ACCEPT /sbin/iptables -A OUTPUT -p udp -m multiport --destination-port 135,137,138,139,445 -j ACCEPT
sambaデーモンが握ってるポートはこんな感じ。 # netstat -lpn|grep mbd tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 956/smbd tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 956/smbd udp 0 0 0.0.0.0:137 0.0.0.0:* 962/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 962/nmbd 開ける必要があるのはTCP139、TCP445、UDP137、UDP138。 TCPはユニキャストのみ。UDPはユニキャスト/ブロードキャスト両方あり。 あと、ip_conntrackを使えば帰りのパケットについてのルールまで細かく設定しないですむ。
>>964 TCPはその仕様上ユニキャストだけだと思われ・・
966 :
login:Penguin :2006/01/05(木) 23:42:26 ID:3Qm8RMBl
うえ・・・帰ってきてもう一度試してみたのですが、やっぱりだめだったorz と思ったらレスが・・・アリガトウゴザイマスm(__)m アドバイスをよく咀嚼してみます ※ポリシーを全部ACCEPTにしてしまえば接続は普通にできました IPアドレスで検索かけると表示されてちゃんと読み書きはできます でも近くのコンピュータの一覧とかに表示されないのです これをなんとか表示できるようにしたい
967 :
login:Penguin :2006/01/05(木) 23:45:27 ID:3Qm8RMBl
すみません、何がやりたいかと言うと、今までローカルエリア(192.168.0.0/24)は全部許可、というふうに やっていたのですが、それでも運用上は問題ないかも知れないのですが、パラノイア的に、明示的に ファイル共有のみにアクセスを制限したいのです。 ※さらに言うなら、同じネットワーク上にいる他のPCからは見えないように、許可した特定のPCからのみ見えるようにしたいのですが、 そこまではまだ良く分かっていないので、とりあえずは後回しで・・・
968 :
login:Penguin :2006/01/05(木) 23:52:09 ID:3Qm8RMBl
一度iptablesを全部許可にして接続が成立してからは、iptablesのルールを制限しても普通に使えます PCを再起動すると、ネットワーク上に見えなくなります
969 :
login:Penguin :2006/01/06(金) 00:08:18 ID:eW1Qt+9f
あれ?windows側の問題かも・・・orz
>>965 いやまあそうなんだけど、UDPだけだとつい寂しくて書いちゃいました。
>>966 うーん、ほんじゃうちのiptables設定で、samba周りとかをきっちり抜き出して書いておくよ。
参考になればいいが。
>>967 私だったらCIFSでのブラウジングと名前解決をiptablesで止めちゃって、名前解決は
DNSの名前解決にしちゃうかな。んで、TCP:139だけ開けるとか。
こんなんです。 ETH_LAN=eth0 ADDR_LAN=192.168.6.6 NET_LAN=192.168.6.0/24 TCP=" -p tcp -m state --state NEW " UDP=" -p udp -m state --state NEW " ICMP=" -p icmp -mstate --state NEW " /sbin/modprobe ip_conntrack &> /dev/null /sbin/iptables -P INPUT DROP /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT --modprobe=/sbin/modprobe /sbin/iptables -N IN_LAN /sbin/iptables -A INPUT -i $ETH_LAN -s $NET_LAN -d $ADDR_LAN -j IN_LAN /sbin/iptables -A IN_LAN $TCP --dport 139 -j ACCEPT /sbin/iptables -A IN_LAN $TCP --dport 445 -j ACCEPT /sbin/iptables -A IN_LAN $UDP --dport 137:138 -j ACCEPT /sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT --modprobe=/sbin/modprobe /sbin/iptables -N OUT_LAN /sbin/iptables -A OUTPUT -o $ETH_LAN -s $ADDR_LAN -d $NET_LAN -j OUT_LAN /sbin/iptables -A OUT_LAN $TCP --dport 139 -j ACCEPT /sbin/iptables -A OUT_LAN $TCP --dport 445 -j ACCEPT /sbin/iptables -A OUT_LAN $UDP --dport 137:138 -j ACCEPT /sbin/iptables -A INPUT -i $ETH_LAN -p udp --dport 137:138 -j ACCEPT
あ、OUTPUTのポリシーがACCEPTになってたのはちょっとした間違いです。 DROPに戻しとかないと‥
973 :
969 :2006/01/06(金) 11:02:47 ID:whgGFtCr
とうとう、ネットワークにつながらなくなってしまいました Win2kから見ると、Linuxマシンの名前があるのに(iptablesは全てACCEPTにしてあります) 「サーバーはリモート管理用に構成されていません」といわれます これはWin側の問題なのかLinux側の問題なのかも分からない・・・orz #遠隔でSWATは操作できるのですが、リモートコンソール(putty)はログインした瞬間に閉じてしまいます・・・
974 :
login:Penguin :2006/01/06(金) 11:04:41 ID:whgGFtCr
Linux再インストールしたら直りますかね(TT)
975 :
login:Penguin :2006/01/06(金) 11:13:20 ID:8n5t7raw
>>974 Windowsじゃあるまいし、何でもかんでも再インストールすれば
いいと言うものではないぞ。きちんと原因を追及すべきだ。
まずはLinuxマシン側のログ(/var/log/messages など、とりあえず /var/log 以下)
を確認すれ。
>>974 なんか急にレベルが下がったな。
わりとネットワークの知識はある香具師だと思ってたのに。
再インストールしても、結局同じところではまる。
978 :
login:Penguin :2006/01/06(金) 13:27:42 ID:whgGFtCr
>>975 >
>>974 > Windowsじゃあるまいし、何でもかんでも再インストールすれば
> いいと言うものではないぞ。きちんと原因を追及すべきだ。
すみません、それで一度、問題の原因を突き止めることができて大幅な改善をしたことがあったもので^^;
(複数のマシンにLinuxを入れ、問題のマシンと別にインストールしたてのマシンを比較した)
今回は比較するマシンがないのですが、安易な発想でしたm(__)m
> まずはLinuxマシン側のログ(/var/log/messages など、とりあえず /var/log 以下)
> を確認すれ。
確認してみますですm(__)m
>>976 すみません、多分初心者とは言えないくらいの知識はあると思うのですが、
Linuxは始めて数ヶ月、ようやっとファイルサーバーくらいは実用になるようになったくらいのレベルです・・・m(__)m
979 :
login:Penguin :2006/01/06(金) 13:33:52 ID:whgGFtCr
>>975 > まずはLinuxマシン側のログ(/var/log/messages など、とりあえず /var/log 以下)
> を確認すれ。
なんかめっちゃ怪しい行を発見・・・^^;
smbd[1396]: '/tmp' does not exist or is not a directory, when connecting to [IPC$]
さて、どうしたものか・・・・orz
もう iptables 関係ないな。 あと、引用は最小限に。
981 :
login:Penguin :2006/01/06(金) 13:52:18 ID:whgGFtCr
ごめんなさい、でもほんとにもうお手上げ状態です・・・(TtT) またiptablesの問題で思い当たるところがあったのですが、 それを試すところまでたどり着けませんorz とりあえず、他を当たってみますね・・・m(__)m
983 :
login:Penguin :2006/01/06(金) 13:59:21 ID:whgGFtCr
>982 既におもいっきりあるんですよ、中身満載で・・・ 全部消してもう一度作り直してみますねm(__)m ※sambaでIPC$と言う共有を作ってみましたがダメですね^^;
984 :
login:Penguin :2006/01/06(金) 14:03:37 ID:whgGFtCr
だめですた・・・orz とりあえず仕事に戻りますです(TT)
980 越えたことだし、くだ質に移動すれ。
さて、新スレだけど 【ファイアウォール】iptablesの使い方【ルーティング】 とかどうですか? 本当はもっと需要があるスレだと思うんですが。
普通に「iptables その3」でいいじゃん。
/tmpのパーミッションがえらいことになってるのではない? 普通はdrwxrwxrwtで、所有者はrootだと思うが。
989 :
login:Penguin :2006/01/06(金) 16:45:23 ID:whgGFtCr
>>988 あども。仕事終わりました。てか仕事ない・・・orz
それはともかく、パーミッションも確認したんですが、関係ないようで・・・
一応全部許可にしてみましたが症状かわらず・・・
でも、どうみても/tmpがないか、ディレクトリでないって言われてるんですよね・・・
ホントにわからん(--ll)
inode不足とか?だったら別のエラーが出そうなもんだが。
>>987 ファイアウォールとかルーティングで
検索に引っかかればいいかなと思ったんだけど・・・・
iptablesってファイアウォールとしか使ってなかったんだけど、ルーティングもできるの?
>>989 まずディレクトリサイズの確認。
$ df -h /tmp
で、それでも問題無いようならsmbdのsambaデーモンをを再起動してみる。
>>992 ルーティングの際のフィルタリングはiptablesのFORWARDチェインで制御できる。
が、ルーティング自体はiptablesの仕事じゃないな。
>>994 まあカーネルっちゃあカーネルだよね。
でも行き先を制御するしルーティングっちゃあルーティング?
つiproute
じゃあ 【鉄壁】iptablesの使い方 3【ファイアウォール】 でいい?
埋め
1000 :
login:Penguin :2006/01/07(土) 09:30:37 ID:E9qfrv39
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。