1read 100read
2013年06月セキュリティ138: 【鉄壁】iptablesの使い方 5【ファイアウォール】 (103) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【NEC】121ポップリンク (167)
ウイルス警告がでたらageるスレ Part01 (174)
これ全部いれとけばセキュリティは安心だからさ (147)
SIRCAM送信者を曝すスレ (136)
スパイウェアで口座情報盗まれる? (137)
【NEC】121ポップリンク (167)

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


1 :2011/07/19 〜 最終レス :2013/06/04
iptablesを使って素敵なファイアウォールとか、
快速ルータを作ったりするために、
情報を出し合うスレ
iptablesを使って素敵なファイアウォールとか、
快速ルータを作ったりするために、
情報を出し合うスレ
【鉄壁】iptablesの使い方 4【ファイアウォール】
http://pc11.2ch.net/test/read.cgi/linux/1273059751/
【鉄壁】iptablesの使い方 3【ファイアウォール】
http://pc11.2ch.net/test/read.cgi/linux/1136593433/
おい、iptablesの使い方を(ry その2
http://pc8.2ch.net/test/read.cgi/linux/1079277604/
おい、iptablesの使い方を具体的に詳しく教えろ!
http://pc.2ch.net/test/read.cgi/linux/1000817457/


2 :
Iptablesチュートリアル 1.2.2(GNU 一般公衆利用許諾契約書バージョン2)
http://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/ipttut_all.html

3 :
GUIでiptablesフィルターを作成する場合。
fwbuilder
http://www.fwbuilder.org/
Turtle Firewall
http://www.turtlefirewall.com/
IPMenu
http://users.telenet.be/stes/ipmenu.html
Easy Firewall Generator
http://easyfwgen.morizot.net/gen/
Integrated Secure Communications System
http://iscs.sourceforge.net/

4 :
テンプレ以上。
質問・自分のフィルターなど公開して語り合いましょう。

5 :
iptables使っている人あまりいないのかな。
あっているかどうか自信ないけど、私の構成。
ルーターがあって、自分のパソコンがlinuxだった場合。
インターフェイスは,eth0の場合
(初期化)
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X
iptables -t raw -X
(ポリシー 全て破棄)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
(フィルター設定 パソコンからネットや同じlan内の端末にたいしては無制限に接続、他からの接続要求はすべて破棄)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o lo 0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT

6 :
書き込みない・・・・
ubuntu使っている人とか、標準では全て通す設定のはずだけど、セキュリティきにならないのかなぁ。

7 :
>6
そもそもその事実を知らない人が大部分でそれ以外の人は対処済みと見た。
ここで言っても仕方がないけどWindowsのPFWで慣れてしまっているからかアプリごとに通信制御をしたくてしたくて。

8 :
>>7
おお、私入れて2人目の書き込み。
ありがたや。
そうなんですかね。
windowsだと比較的GUIでわかりやすいイメージがありますね。
あくまでイメージなんで、ポートとかの概念がないとだめですけども。
ただ、初めての通信が発生したときに追加するかどうか聞いてくるのは、よさそうですよね。
悪意のあるプログラムであれば被害にあうでしょうけども、たぶんまれだと思うし。
Linuxは、設定がディストリビューションごとに微妙に違っていたりするからちょっと戸惑います。
ただわからない場合は、スクリプトファイルに、フィルターなどを全てクリアしてから設定すると
綺麗になるのでそこはすばらしいかなと思います。
構成などありましたら、書き込みしてくださいませ。

9 :
むぅ

10 :
Linuxでルーター作るときの設定(間違っているかも)
br-lanがインターネット側、eth1などのインターフェース名の場合もある。
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F
iptables -t raw -F
iptables -t filter -X
iptables -t nat -X
iptables -t mangle -X
iptables -t raw -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i br-lan -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o br-lan -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i br-lan -o pppoe-wan -s 192.168.1.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -o pppoe-wan -j MASQUERADE
こんな感じであってるかな?

11 :


12 :
なんかネタないかのう

13 :
OpenVPNを構築しようとしてるんですが、
手元の文献ではiptablesの設定として
# iptables -A PREROUTING -d (gloabal address) -p tcp -m tcp --dport 1194
-j DNAT --to-destination (dedault gateway):1194
(続く)
などなどと書いてあります。しかし
/etc/sysconfig/iptables
に書いたりなんかしたらコメント行だらけで意味をなさないんじゃ???
と戸惑っております。そもそもこういうものを有効にするにはどうすればいいのでしょうか?

14 :
なんのディストリビューション使っているか知りませんが・・・・
コマンド行で、iptables ほにゃららって実行すると即時適用じゃないですか?

ディストリ名とiptables -lvで出力されたものをコピペすると、詳しい人が教えてくれるかもしれません。

15 :
すみません。
iptablesの設定方法がどうもよくわかりません。
現在の/etc/sysconfig/iptablesの内容です。
# Generated by iptables-save v1.4.7 on Fri Sep 9 23:53:36 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [107:10164]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Sep 9 23:53:36 2011
ネットワーク内のPCからHTTP通信ができるようにしたいのですが、
ネットで調べると、
-A INPUT -p tcp --dport 80 -j ACCEPT
を追加するように書いていますが、接続できません。
どのように記述すればいいでしょうか?


16 :
ディストリビューションなんでしょうか?
http通信をしたいpcがlinuxで、通信をしたいクライアントがwindows/linuxなどの場合。
INPUT ACCEPTってなっているから、HTTP通信をしたいサーバーでHTTPのサービスが起動できていれば接続できるはずだけども・・・
ルーターとして構成しているなら、FORWARDを見ればよい。
サーバーとして構成しているなら、INPUTとOUTPUTを見ればよい。
ポリシーが全てACCEPTになっているから、つながっているのは考えにくいからサーバー構成が間違っているような気がするとエスパーする。
iptables -vlとディストリビューションおよびその端末はどのよう使用しているか書くと、詳しい人からレスがくるかもしれません。

17 :
そもそも本当に繋がってるのか最初に調べないとダメだよ。
iptables無しかポリシーACCEPTだけのルールセットで試して、接続可能な事を
確認してから他のルール適用していかないと。

18 :
「ネットワーク内のPC」ってNAT?
だとしたらINPUTをいじっても意味ないんじゃないの?
http://www.atmarkit.co.jp/flinux/rensai/iptables201/iptables201a.html
↑の一番下の図を見ればわかりやすいと思うけど。

19 :
保守

20 :
>>19
保守って荒らしなんだぜ。知ってた?

21 :
即死判定って20レスだったっけ?

22 :
>>20
知らん刈った

23 :
使ったことないけど、ip6tablesもあるようだ。
そろそろip6使い始めている個人もいるんではなかろうか。

24 :
あるルールに合致したパケットを、wiresharkで読める形式で
保存することって可能ですか?
LOGのオプションにはtcpヘッダやipヘッダを出力することはできるようなのですが...

25 :
無線LANルータで プライバシーセパレーターって機能があるけど
あれを iptables で実装できないかな?
複数のバーチャルマシンをローカルのNICにブリッジして運用してるんだが
個別のバーチャルマシンごとの通信を遮断したいんだ
バーチャルマシンを動かしているホストで制御ができると思うんだけど
FILTER の OUTPUT が適切なのか FORWARD が適切なのか検討がつかない
具体的には次のようなことがしたいんだ
eth0 がホストのNIC eth0:1 と eth0:2 がバーチャルマシンの仮想NIC のとき
eth0:1 と eth0:2 の間の通信を遮断して
eth0 <=> eth0:1 , eth0 <=> eth0:2 は通したい
2台だけで説明書いたが実際には10台ほどあって
それぞれの間を遮断したい
きっと VPN でも接続ユーザごとの通信を遮断するなんてアプリケーションありそうだから
そのあたりも探してみたけど検索ワードが悪いせいか欲しい情報が見つからない
なにかヒントだけでもいいから教えてくれないかな


26 :
>25
自己解決
iptables -P FORWARD DROP
iptables -A FORWARD -m physdev --physdev-out eth0:1 --physdev-in eth0 -j ACCEPT
iptables -A FORWARD -m physdev --physdev-out eth0 --physdev-in eth0:1 -j ACCEPT
下の2行を必要なだけ繰り返せばよいみたい
無事に個別VM間での通信を遮断できた
なにか見落としがあったら識者の方アドバイスください

27 :
メールでやりとりしろよもう

28 :
linuxのデスクトップ上で、iptablesを視覚的に見るツールないですかね?
windowsのファイアーウォールの設定のようなもの。

29 :
Android端末のiptablesネタとかここに書くとスレチかしら?
専用スレ立てても過疎りかねないので思案してみたり…。

30 :
のほうがいいんじゃまいか。
このスレ見ても人いないから、専用たてるとさらに過疎りそう。

31 :
検索していろいろ見たのですが
IPスプーフィング対策って
インターフェイスを複数用意して
外側のインターフェイスからLAN内のIPアドレスを名乗っている時にはdropする
という方法しかないのでしょうか?
つまりインターフェイスが一つの時はIPスプーフィング対策できない、ということでしょうか?

32 :
>>30
ありがとう、ではここでAndroidなiptablesネタもぼちぼち展開していきますね。
>>6
超亀なレスですまないが、アプリごとの通信制御、 -m owner --uid-owner でできるんじゃないかな。
Droidwallってやつが、まさにアプリ毎に通信可否を設定するiptablesスクリプトを生成してくれるんだけど、
以下のような感じなのね。 (一部書き直してるが)
iptables -A OUTPUT -m owner --uid-owner 1000 -j ACCEPT
これで、uidが1000で動いてるアプリからの通信が許可される感じだ。
Androidでしか試したことないけど、普通のディストリビューションでも可能かと。

>>31
基本はインターフェイス2個で、外と中を分ける。
インターフェイス一個LANとWANを共用するってことは、
想像だけど、ONUやらADSLモデムやらのポートからLANのハブに挿さってて、
その先に件のLinux機や他のPCが繋がってる状態なのかな?
もしそうならあんまりお勧めできないな…。何かNICx2にできない事情があるの?

33 :
VPSのvncserverにSSH経由で接続しています。
SSHを経由した場合のみ許可して、SSHを経由しない場合遮断するルールは作れるでしょうか?
よろしくお願いいたします。

34 :
>>33
SSHでトンネル掘ってそこからのパケットだけを通したい感じ?
それともSSHで接続した状態で何か通信する操作を許可したい感じ?
できれば具体例を。何を許可して何を禁止したいのかを挙げてくださいな

35 :
>SSHでトンネル掘ってそこからのパケットだけを通したい感じ
VNCに関してはまさにそのとおりです。
VPSのvncserverがTCP5901で待ち受けていて、SSHはTCP1234で待ち受けています。
自宅PCの127.0.0.1:5555をSSHポートフォワーディングでVPS:5901に転送しています。
VPSからすると使用しているポートは1234だけだと思うのですが、iptablesで5901を許可しないと接続できません。
何とかならないでしょうか?

36 :
現在のルールはこのようになっています。
Chain INPUT (policy DROP)
target   prot opt source        destination
ACCEPT   all -- anywhere       anywhere      state RELATED,ESTABLISHED
ACCEPT   icmp -- anywhere       anywhere
ACCEPT   all -- 127.0.0.0/8     127.0.0.0/8
ACCEPT   tcp -- anywhere       anywhere      state NEW tcp dpt:http
ACCEPT   tcp -- anywhere       anywhere      state NEW tcp dpt:https
ACCEPT   tcp -- anywhere       anywhere      state NEW tcp dpt:1234
ACCEPT   tcp -- anywhere       anywhere      state NEW tcp dpt:5901
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

37 :
>>35
SSHトンネル通ってやってきたパケットは、VPSの視点で言うと
「 loインターフェイスから出てloインターフェイスのTCP5901に入る 」 パケットになるのかな。
iptables -A INPUT -i lo -j ACCEPT
これ最初に入れとくだけでオッケーだと思うけど、
変化なければ、ifconfigも確認しておくといいかも。
あとはトラブルシューティング用に末尾にこんなの置いておくとか。
iptables -A INPUT -j LOG --log-prefix "IPTABLES INPUT DROP"

38 :
>>37
勉強になります。
無事、VPS:5901を拒否しつつ、SSH経由のVNCは許可することができました。
有難うございました!

39 :
あけおめ

40 :
おめめ。今年も順調に過疎ってるな

41 :
.

42 :
iptables で -m state が使えません
modprobe ip_conntrack してもそんなモジュールないよと言われてしまいます
どうすれば使えるようになりますか
カーネルの再構築が必要でしょうか?

43 :
ディストリビューションとバージョンが知りたい。

44 :
>>43
ありがとうございます.
ちょっと特殊なんですが,
Landiskにdebian etchを入れております.
http://eggplant.ddo.jp/www/pukiwiki/
このページから
base26-sh4-20070709-etch
を入れました.
カーネル?はlinux-2.6.22をベースとしているっぽいです.

45 :
>>44
nf_conntrack, xt_state も探してみて
あともし、/boot/config-カーネル名 があるなら、
中に CONFIG_NETFILTER_XT_MATCH_STATE があるかどうか確認
ないなら、自分でカーネルコンパイルするしかないかな
うちは玄箱だけど、limit他いろいろ無かったので自分でコンパイルした

46 :
# iptables -F
# iptables-save
:INPUT ACCEPT [1292:99728] # 一部抜粋
[0:0]でクリアしたいんだけど、毎回その値がランダムで変わってしまう。
時には[71:12702]であったり、[2:96]だったり。これを0:0で初期化するにはどうすればいいですか?

47 :
わからない。

48 :
>>46
内部カウンターをリセットするのが目的なら
iptables -Z
iptables-saveの出力を0にするのが目的なら
sed 's/\[[0-9]\+:[0-9]\+\]$/[0:0]/'

49 :
NTPの戻りパケット(123/udp)は、以下で許可される?
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

50 :
いつもwebminで設定してる。

51 :
>>49
自己レス。
tcudumpで確認したところ、ESTABLISHEDでNTP(123/udp)の戻りパケットが戻るようになる。

52 :
お知恵をお貸し下さい。
http://vine.1-max.net/iptables.html を参考にして、
シェルコマンドを作ってiptablesファイルを生成しています。
一部のアクセス元からのみ許可したいため、
(一部省略しますが)下記のように書いてあります。
 DM1='google.com'
 DM2='docomo.ne.jp'
 DM3='ocn.ne.jp'
 DM4='odn.ne.jp'
 iptables -A INPUT -s $DM1 -p tcp --dport 80 -j ACCEPT
 iptables -A INPUT -s $DM2 -p tcp --dport 80 -j ACCEPT
 iptables -A INPUT -s $DM3 -p tcp --dport 80 -j ACCEPT
 iptables -A INPUT -s $DM4 -p tcp --dport 80 -j ACCEPT
実行すると、「google」と「odn」は 正引きに成功して、
iptablesファイルにIPアドレス範囲が書き込まれているのですが、
「docomo」と「ocn」は正引きに失敗してしまいます。
シェルコマンド実行時結果としては↓が表示されます。
iptables v1.4.7: host/network 'docomo.ne.jp' not found
docomo と ocn の正引きに成功させたいのですが、
どうすれば良いのでしょうか?

53 :
×シェルコマンド
○シェルスクリプト

54 :
>>52
google.comなどのドメイン名からIPアドレスを(複数)得ても、
そのIP(のどれか)からアクセスしに来るわけじゃないよ
では、どんなIPからアクセスしに来るか、ほとんどの企業は公開していない
ここは、Webサーバ側で制御するのがよろしいかと

55 :
>>52
「-s」は、IPアドレスかネットワークアドレスを指定するオプションで、ドメイン名なら解決した値になるが、docomo.ne.jpは登録されていないので解決できないというだけ。
その書き方では、意図している「一部のアクセス元からのみ許可」のようには動きません。
それぞれのドメインに該当するネットワークアドレス、IPアドレス分だけ、コマンドを列挙しましょう。

56 :
>>54 >>55
とても納得でき勉強になりました。
ありがとうございました。
一旦、自分でその回線でアクセスしてIPアドレスを取得し、
whois で範囲を見つけて登録していこうと思います。

57 :
>>56
docomoは公開してます。

58 :
教えて頂きたいことがあります。
文章による説明が難しいので絵にしました。
http://gyazo.com/1432e0d84ebbbb8d84f68278ebd00b8d
どのようにiptablesを設定したら良いでしょうか?
アドバイスよろしくお願いいたします。

59 :
イメージとしては
サーバAのポート9090に来たパケットを
サーバBのポート8080に転送する
って感じでいいのかな。
その場合はサーバAのSquidは使わなくて良いのね?

60 :
>>59
はい、その通りです。
それで、こうやってみたのですが、
-A PREROUTING -p tcp --dport 9090 -j DNAT --to 192.168.10.2:8080
サーバBにパケットが来ない状況です。

61 :
こういうのってルーティング設定しなくていいんだっけ?

62 :
>>60
DNATだけだと送信元アドレスが変換されないのではないのかな。。。
通ってもお返事が通らない気がする。こういう場合は MASQUERADE ではないかしら?
あと ip_forward 使用設定と、 iptables の FORWARD チェインは ACCEPT になってる?

63 :
ひょっとしてセグメントの異なるパケットが通らないように DROPやREJECT してるルールが存在して、
サーバAのOUT時またはサーバBのIN時にフィルタされてる可能性はないかな?
フィルタをどの程度やってるかわからんけど、DROPとかREJECT書いてるなら、
その直前でログ残すようにして何か引っかかってないか確認してみてね。

64 :
>>62-63
ありがとうございます。
ip_forwardとFORWARDのACCEPTは抜けていました。
しかしながら未だサーバBログに何も届かない状況です。
すみませんが、一度下記設定を見て頂けますでしょうか・・・

65 :
---------------------
【サーバAiptables】
 :FORWARD ACCEPT [0:0]
 :INPUT ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 *filter
 -A OUTPUT -p tcp --dport 8080 -j ULOG --ulog-nlgroup 1 --ulog-prefix "FILT-OUT-8080"
 -A FORWARD -p tcp --dport 8080 -j ULOG --ulog-nlgroup 1 --ulog-prefix "FILT-FOR-8080"
 -A FORWARD -j ACCEPT
 -A OUTPUT -j ACCEPT
 (中略)
 *nat
 :PREROUTING ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 :POSTROUTING ACCEPT [0:0]
 -A PREROUTING -p tcp --dport 9090 -j ULOG --ulog-nlgroup 1 --ulog-prefix "NAT-PRE-9090"
 -A PREROUTING -p tcp --dport 9090 -j DNAT --to 192.168.10.2:8080
 -A POSTROUTING -p tcp -m tcp --dport 9090 -j MASQUERADE
---------------------
【サーバBiptables】
 *filter
 -A INPUT -p tcp -m tcp --dport 8080 -j ULOG --ulog-nlgroup 1 --ulog-prefix "FILT-INP-8080"
 (以下略)
---------------------

66 :
【ログの結果】
1.クライアントからサーバAの9090ポートに接続
  ・サーバAログ=NAT-PRE-9090 → FILT-FOR-8080 → NAT-PRE-9090 → FILT-FOR-8080 ...
  ・サーバBログ=ログ無し
2.サーバAからサーバBの8080ポートに接続
  ・サーバBログ=FILT-INP-8080
以上です。
長々とすみませんが、何かアドバイス頂けると助かります。
よろしくお願いいたします。

67 :
PREROUTING でポートを変えているなら
POSTROUTING の時点で --dport 8080 になってるんじゃないかな?
それからトラブルシューティングでログ残すなら --dport とか限定せず、
dropとか rejectとかの行の直前ですべて残すほうがいいよ。途中省略したとこにあるよね?
思い違いしてる可能性がある場合は、ログ取得は破棄ログすべて残したほうが確実。

68 :
ひとまず途中報告です。
サーバA
 *nat
 -A POSTROUTING -p tcp -m tcp --dport 9090 -j MASQUERADE
  ↓
 -A POSTROUTING -p tcp -m tcp --dport 8080 -j MASQUERADE
に変更したところ、サーバBのログに載りました。
ただ、クライアントに返答が来ない状況。
引き続き、色々試してみます。

69 :
>>67
おおお、ありがとうございます。
書き込み前に更新すべきでした。
あとは、サーバAが受け取った時に、
変換してクライアントに返すための設定ですかね。
調べてみます。

70 :
サーバBからの返答が遅かったようで、
>>67でご指摘頂いた所をなおしただけで思い通りに動いてくれました。
大変助かりました、ありがとうございました。m(._.)m
以下、まとめ。
【やりたいこと】
 http://gyazo.com/1432e0d84ebbbb8d84f68278ebd00b8d
---------------------
【サーバA /etc/sysctl.conf】
 net.ipv4.ip_forward=1
---------------------
【サーバA iptables】
 :FORWARD ACCEPT [0:0]
 :INPUT ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 *filter
 -A FORWARD -j ACCEPT
 -A OUTPUT -j ACCEPT
 (中略)
 *nat
 :PREROUTING ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 :POSTROUTING ACCEPT [0:0]
 -A PREROUTING -p tcp --dport 9090 -j DNAT --to 192.168.10.2:8080
 -A POSTROUTING -p tcp -m tcp --dport 8080 -j MASQUERADE
---------------------

71 :
うまくいったようでなにより。オツカレ!

72 :
>>71
的確にアドバイスして頂き本当に助かりました。
ありがとうございました!!

73 :
先生!
ドメイン名でフィルタを指定するにはどうすればいいのでしょうか!
-A INPUT  -m state --state NEW -p tcp --dport 1234  -s .example.com -j ACCEPT
こんな感じで設定してもNGでした…
もしiptablesで出来ないとすれば何を使えば言いのん?

74 :
>>73
スクリプトを組んで、
逆引きした結果を登録するような仕組みにする
…とかしか無いんじゃないかなぁ。
ルール登録する時点でアドレス解決していないと仕組み上動けないもの。

75 :
おゥ、正引きだ。まちがいた。
まあとりあえず設定ファイルでは書けなくて
スクリプト化してひと仕事挟むしかないんじゃないかな

76 :
先生、教えて下さい!
条件一致時に任意のスクリプトを実行させたいのですが、
何か方法ないでしょうか?
具体的には、
あるポートにアクセスがあった際にスクリプトを実行したいのです。
ご助言、お願いいたします!!

77 :
iptablesはパケットをどう処理するかに特化してるから、
イベントトリガー的な使い方は難しいんじゃないかな〜。
リアルタイム性がそれほど重要でないなら -j LOG でログ吐いたりrecentモジュールでファイル吐かせたりして
cronやら常駐スクリプトやらで監視処理させるとかかなぁ…。
リアルタイム性が重要なら…もうちょい具体的にどんなことしたいか書いてくれたらアイデア出るかも。

78 :
iptables以外の何かでホスト名での拒否って出来ないんかな

79 :
>>78
そうなるとiptablesではACCEPTしておいて、パケット受け取ったサービスごとに個別対処するって形になるかな。
となると、ポートにかかわらず一括で処理はできないから用途次第ってとこじゃないか?
そういやsnortとか侵入検知系でなんかできないだろうかね。使ったことない上にスレチですまんが、

80 :
ドメイン制御だとxinetdで処理するって手もあるかな
ttp://unixlife.jp/unixlife/linux/s-xinetd.jsp

81 :
>>77
recent → cronでファイルサイズを比較 → 発火。
この流れで処理することにしました。
ちなみに、incronでの監視も検討しましたが、
recentからのファイルは常に更新日時が変わってしまい断念しました。

recet機能を教えて頂き助かりました。
ありがとうございました。

82 :
iptablesには夢がある

83 :
ソウカ
死・ね
ソウカ
死・ね 
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね 
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね 
ソウカ
死・ね
ソウカ
死・ね
ソウカ
死・ね

84 :
COMODOが一番じゃないの?

85 :
とりあえず簡単に質問させて下さい
説明が足りなければ追加します。
マスカレードされたLAN内にメールの送信先ポートを変更できない、古いネットワークカメラがあります。
そこで、ゲートウェイのdd-wrt(192.168.1.1,globalIP)をカスタマイズして、
LAN内から192.168.1.1の25番ポートにアクセスすれば、WAN側smtpサーバの587番ポートに転送されるようし、
加えて、そのレスポンスのWAN側smtpサーバの587番ポートからのパケットのsportを25番に
書きかえて、ネットワークカメラに戻るようにしたいです。
どんな構文になりますか?
smtpサーバがLAN内にあって、WAN側にクライアントがあるならポート変換は
webインターフェースで設定できますが、今回のように関係が逆に場合には、特別にスクリプトを書く必要があります。

86 :
すいません。以下のように設定しているのですが、smtpだけが開きません。
--略--
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 25 -j ACCEPT
iptables -A INPUT -j DROP
他のhttpやimapなどは開いており、自分に対してnetstatしてもsmtpはリッスンしている状態です。
なぜsmtpだけ開かないのでしょうか?
ご教示お願いします><

87 :
すいません。自己解決しました。
25ではなく587ですね><

88 :
:INPUT DROP [12:1032]
のこの後ろの数字の意味をおしえて

89 :
-A INPUT -p ICMP --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
って感じでpingの受付だけ許可してるんだけど、この設定で
FW内からほかのマシンにpingを打っても応答が帰ってくるのは
なんで?

90 :
>>89
inはping許可でoutは全部許可なら
このマシンからの他へのpingも、
他のマシンからのここへのpingも
両方向とも通るので正しいかと

91 :
>>90
これだと、許可してるのは 8 (Echo Request) だから
pingを受け付けるのはわかる
逆に内側からpingを投げたときは、Echo Reply が返ってくるんだから
--icmp-type 0 もアクセプトしないとドロップしちゃうんじゃないかと
ミーはシンクしたのよ

92 :
ESTABLISHED

93 :
>>92
やっぱりね。
そうじゃないかと薄々感づいてはいたんだが、確信が持てなくてね。

94 :
iptablesの80番を開放したいだけなんですけど開放できない・・・。
ターミナルで「#iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT」を実行するだけですよね・・・。
いくらブラウザでポート開放確認しても「開放できてない」って出てくるし、iptablesをstopしたら接続できるし、いみわからん。
初心者ですみませんが、どなたかご教授くださいまし。
Vine Linux 6.1でapache2を動かそうとしてます。

95 :
>>94
-Aの後のRHなんたらってチェイン名を INPUT に変えてみ?
あと iptables -L とか使って状態を確認することかな

96 :
>>95
早速のご返答ありがとうございます。
そちらを実行してみましたが、残念な結果に・・・。
nmapでも80/tcp open httpとなっているのですが、もしかして80番ポートが原因じゃないのでしょうか・・・。

97 :
>>96
-j LOG 使ってログ残して確認しなさいよ

98 :
iptables6!

99 :
そういえばUbuntu 12.10使ってるんだけど、久々にiptablesいじってたら
×(旧) " -s ! 192.0.2.0/24 "
○(新) " ! -s 192.0.2.0/24 "
てな感じに書式が変わってることに気づいた。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
『新興』 KLEZ は神!『宗教』 (106)
◇Avira Internet Security 2013 Part.1◇ (217)
【最強】ガンガンウイルス【新種】 (124)
■■■貴方が聞いたインチキなセキュリティ■■■ (186)
セキュリティのことなら俺に聞け! (176)
PC Tools Internet Security2008 (177)
--log9.info------------------
青春譜の問題点について語るスレ (188)
BEST・コーラス100 作ろうぜ (164)
【目が合った】合唱の演奏会で一目惚れ【瞬間】 (135)
お前ら他にどんな板見てる?in合唱板 (159)
嫌いな奴集まれーー (100)
合唱界で俺の地位を高めたいのだが (126)
間宮芳生の合唱曲 (124)
【今年は】全国高文祭 合唱部門【青森】 (153)
おやつが食べたいな〜 7小節目 (337)
日本には誕生日を祝う歌が無いのか? (101)
テスト用スレin童謡・唱歌板2 (174)
童謡の聖人・中田喜直 (106)
仰げば尊し (111)
アンパンマンの歌に感動 (171)
「旅立ちの日に」卒業式定番ソング (109)
NHK「みんなの童謡」がひどすぎる件 (136)
--log55.com------------------
【モリと】The Smiths【マー】
【祝来日】 ★★★Boston vo2★★★
ローリングストーンズ Part2
† TOTO 12th〜MINDFIELDS†
イーグルス / EAGLES ♯5
【天脂と】ケイト・ブッシュ Kate Bush8【小悪魔】
ビリー・ジョエル Billy Joel Vol.4
■□■カセットテープについて語るスレ□■□