1 名前:初心者 [01/09/18 21:50 ID:vcHWxUb2] 家庭内LANのルーターとして使いたい。 web, ftp, mailサーバーをうごかしつつ、IPマスカレードして LANのPCをそとにつなげたい。 コネクションはADSL、IPはグローバルひとつだけ。 具体的なiptablesのコマンドを教えろ。 それと、/etc/sysconfig/iptablesって何なの?これについてもね。 急いでいるのですばやい解答を求む
286 名前:284 mailto:sage [02/09/29 00:22 ID:KOduZhHX] ######################################################################################### # #!/bin/sh # iptable configration script # ######################################################################################### LOCAL_NET='192.168.0.0/24' THIS_HOST='192.168.0.2' ANY='0.0.0.0/0' IPTABLES='/sbin/iptables' IPTABLES_CONFIG='/etc/sysconfig/iptables' ######################################################################################### # デフォルトのチェインの初期化 ${IPTABLES} -F INPUT ${IPTABLES} -F FORWARD ${IPTABLES} -F OUTPUT ######################################################################################### # 各チェインのポリシー ${IPTABLES} -P INPUT DROP ${IPTABLES} -P FORWARD DROP ${IPTABLES} -P OUTPUT ACCEPT ########################################################################################## # ループバックデバイス以外で 127.0.0.1 が指定されていたら拒否。(spoofing 防止) ${IPTABLES} -A INPUT -s 127.0.0.1 -i ! lo -j DROP ${IPTABLES} -A INPUT -d 127.0.0.1 -i ! lo -j DROP
287 名前:284 mailto:sage [02/09/29 00:22 ID:KOduZhHX] # LAN 外からの SAMBA 接続を拒否 ${IPTABLES} -A INPUT -p tcp -s ! ${LOCAL_NET} --sport 137:139 -d ${LOCAL_NET} --dport 137:139 -j REJECT ${IPTABLES} -A INPUT -p udp -s ! ${LOCAL_NET} --sport 137:139 -d ${LOCAL_NET} --dport 137:139 -j REJECT # LAN 外からの SSH 接続を拒否 ${IPTABLES} -A INPUT -p tcp -s ! ${LOCAL_NET} --sport 22 -d ${LOCAL_NET} --dport 22 -j REJECT # NTP サーバー ${IPTABLES} -A INPUT -p udp -s ${ANY} -d ${ANY} --sport 123 -j ACCEPT # DNS サーバーからの名前解決要求を許可 ${IPTABLES} -A INPUT -p udp -s ${ANY} -d ${THIS_HOST} --sport 53 -j ACCEPT # 全ホストからの名前解決要求を許可 ${IPTABLES} -A INPUT -p udp -s ${ANY} -d ${THIS_HOST} --dport 53 -j ACCEPT
288 名前:284 mailto:sage [02/09/29 00:23 ID:KOduZhHX] ########################################################################################## # LAN内外を問わず、echo reply を拒否 ${IPTABLES} -A INPUT -p icmp --icmp-type 0 -j DROP ${IPTABLES} -A INPUT -p icmp --icmp-type 0 -j DROP # LAN内外を問わず、 echo request を拒否 ${IPTABLES} -A INPUT -p icmp --icmp-type 8 -j DROP ${IPTABLES} -A INPUT -p icmp --icmp-type 8 -j DROP # LAN 内での SSH 接続を許可 ${IPTABLES} -A INPUT -p tcp -s ${LOCAL_NET} --sport 22 -d ${THIS_HOST} --dport 22 -j ACCEPT # LAN 内での HTTP 接続を許可 ${IPTABLES} -A INPUT -p tcp -s ${LOCAL_NET} --sport 80 -d ${THIS_HOST} --dport 80 -j ACCEPT # LAN 内での SAMBA 接続を許可(source,destiantion ともに LAN 全体にしないと駄目) ${IPTABLES} -A INPUT -p tcp -s ${LOCAL_NET} --sport 137:139 -d ${LOCAL_NET} --dport 137:139 -j ACCEPT
289 名前:284 mailto:sage [02/09/29 00:23 ID:KOduZhHX] ########################################################################################## # canna のポートを閉める(ローカルホストのみ開ける) ${IPTABLES} -A INPUT -p tcp -s ${THIS_HOST} --sport 5680 -d ${THIS_HOST} --dport 5680 -j ACCEPT # X11 のポートを閉める(ローカルホストのみ開ける) ${IPTABLES} -A INPUT -p tcp -s ${THIS_HOST} --sport 6000 -d ${THIS_HOST} --dport 6000 -j ACCEPT # 外部からの ping を拒否 ${IPTABLES} -A INPUT -p icmp -s ! ${LOCAL_NET} -d ${THIS_HOST} -j REJECT ########################################################################################## # LAN 側および loopback からの入力のデフォルトフリー設定 ${IPTABLES} -A INPUT -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT ${IPTABLES} -A INPUT ${IPTABLES} -A INPUT -p tcp -s ${ANY} -d ${THIS_HOST} -j REJECT ${IPTABLES} -A INPUT -p udp -s ${ANY} -d ${THIS_HOST} -j REJECT
290 名前:284 mailto:sage [02/09/29 00:24 ID:KOduZhHX] 以上です。。。
291 名前:284 mailto:sage [02/09/29 00:42 ID:KOduZhHX] ↓これでいけました。どうもです。 # LAN 外からの SAMBA 接続を拒否 ${IPTABLES} -A INPUT -p tcp -s ! ${LOCAL_NET} --dport 137:139 -j DROP # LAN 外からの SSH 接続を拒否 ${IPTABLES} -A INPUT -p tcp -s ! ${LOCAL_NET} --dport 22 -j DROP
292 名前:login:Penguin [02/09/29 00:47 ID:y1eCLsd8] あー、レスしなきゃ良かったよ(w あっちこっち間違いだらけだなぁ。 >>289 の最後のほう ${IPTABLES} -A INPUT ${IPTABLES} -A INPUT -p tcp -s ${ANY} -d ${THIS_HOST} -j REJECT がまず謎だねぇ。このへんに何か居そうなんだけど。 それから、UDP が開きっぱなしの状態だ。ソースポートを 123 か 53 にするだけでどのポートにもアクセス出来る。これはまずい。 Samba や SSH の接続を拒否する時にソースポートを指定する必要はない。 SSH に接続するのに 22 番ポートを使う奴は居ないから拒否した事にならない。 (22 -> 22 のアクセスは結構ログに残るけど、それは明らかに怪しいアクセス) 逆に canna や X11 は開いてない。これもソースポートの指定が不要。 厨房ほど ping を拒否したがるが、通常 ping を拒否する必要はない。 その指定では ICMP を全て拒否している。それは大変いけない事。 ICMP ECHO REQUEST は一般に無害で、逆に ICMP ECHO REPLY のほうが危険。 意味が解らないなら勉強しなおせ。ちなみに俺は両方とも通過させている。
293 名前:284 mailto:sage [02/09/29 00:50 ID:KOduZhHX] >>292 ありがとうございます。精進します。
294 名前:284 mailto:sage [02/09/29 00:57 ID:KOduZhHX] >>289 の最後のほう ${IPTABLES} -A INPUT ${IPTABLES} -A INPUT -p tcp -s ${ANY} -d ${THIS_HOST} -j REJECT これは単なるコピペミスです。
295 名前: [02/09/29 14:57 ID:JmykEK0/] >>284 ${IPTABLES} -A INPUT -p icmp --icmp-type 0 -j DROP ${IPTABLES} -A INPUT -p icmp --icmp-type 0 -j DROP INPUT が二つになってるけどひとつ OUTPUT だしょ?
296 名前:login:Penguin [02/09/30 01:20 ID:t5CLIlq+] FletsADSLが2セッション張れるようになるらしいので、 図のようにppp0とppp1で別々のISPに接続して、 defaultはppp0を使い、 LANからのmasqueradeのみppp1で接続したいのですが、 これってiptableだけでは駄目なのでしょうか? パケットがppp1に流れていってない感じなので、 iproute2とかいうものが必要なのかなあ。 +----------+ ISP1---|ppp0 | | | ISP2---|ppp1--eth1|---LAN +----------+ linux-2.4
297 名前:login:Penguin [02/09/30 01:35 ID:PRE+q7c8] >>296 そういう接続形態にすると、発信元 IP アドレスを見て、 ふたつのデフォルトルートを使いわけなければならない。 そうしないとプロバイダの ingress/egress フィルタにひっかかる。 一般に宛先 IP アドレス以外の情報を加味してルーティングしたい 場合、iproute2 が必要になる。 別の解としては UML や VMWare 等の仮想マシンを使って、 二台のマシンがそれぞれのプロバイダにつながっている状態にすれば、 この情况を回避出来る。
298 名前:296 mailto:sage [02/09/30 08:33 ID:T8f//J7v] >>297 なるほど。iptablesではパケットの行き先を決定できるわけではないですね、 よく考えてみると。仕方がないのでkernel recompileしてiproute2使ってみました。 これで上手くいったみたいです。ありがとうございました。
299 名前:login:Penguin [02/10/06 21:47 ID:0RDqM9Sn] >>297 routed ではだめなの?
300 名前:login:Penguin mailto:sage [02/10/06 21:56 ID:kqhyD1Co] >>299 だめ。ていうか関係ない。走らせても無意味。 プロバイダでの ingress/egress フィルタ対策の事を話してるのさ。 こういうデュアルホームのマシン上で 厨房が routed 走らすなんてそもそも論外だけど。
301 名前:ぷららマンセー [02/10/09 20:59 ID:R4la+IFX] おい、お前ら! Linuxマシンをルータに使ってるんですが、 NATで「特定のIPアドレス」のみはじく方法教えてくだちい #現在の設定 /usr/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 7743 -j DNAT --to-destination 192.168.0.5:7743 現在こうなっているんだけど、plala.or.jpのアドレスだけはじくように したい、しかし7743以外は通したい・・・というわがままな要望なんですが 参考スレ ぷらら検閲開始?、電気通信事業法に抵触の可能性 pc3.2ch.net/test/read.cgi/isp/1033382486/
302 名前:login:Penguin [02/10/09 22:21 ID:/ICav2VA] >>301 iptables にはドメイン名を使って拒否する機能は無い。 (単一のホストを拒否する機能ならある) まず plala.or.jp が使っている IP アドレスの一覧を入手する必要がある。 それは whois 等を使うか、plala 自身に問い合わせるかしないといけない。 しかも随時新しいアドレスが追加される可能性があるので面倒。 IP アドレスの一覧が入手出来たら、 forward チェインにおいて発信元 IP アドレスが plala で、TCP で 宛先ポートアドレスが 7743 のものを拒否するルールを書けばいい。
303 名前:login:Penguin [02/10/13 09:39 ID:DiMILE+J] Generated by iptables-save v1.2.6a on Thu Sep 26 21:51:21 2002 *mangle :PREROUTING ACCEPT [262442:109990189] # Generated by iptables-save v1.2.6a on Thu Sep 26 21:51:21 2002 *mangle :PREROUTING ACCEPT [262442:109990189] :OUTPUT ACCEPT [135225:8616464] COMMIT # Completed on Thu Sep 26 21:51:21 2002 # Generated by iptables-save v1.2.6a on Thu Sep 26 21:51:21 2002 *nat :PREROUTING ACCEPT [6393:307512] :POSTROUTING ACCEPT [61571:3694917] :OUTPUT ACCEPT [61569:3694821] -A POSTROUTING -s 192.168.10.0/255.255.255.0 -o eth1 -j MASQUERADE COMMIT # Completed on Thu Sep 26 21:51:21 2002 # Generated by iptables-save v1.2.6a on Thu Sep 26 21:51:21 2002 *filter :INPUT ACCEPT [134982:7257840] :FORWARD ACCEPT [127355:102728219] :OUTPUT ACCEPT [135224:8616628] -A INPUT -p tcp -m tcp --dport 5680 -j REJECT --reject-with icmp-port-unreachable -A INPUT -p tcp -m tcp --dport 199 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -o eth1 -p tcp -m tcp --dport 137:139 -j DROP -A OUTPUT -o eth1 -p udp -m udp --dport 137:139 -j DROP COMMIT # Completed on Thu Sep 26 21:51:21 200 うちのiptables、これで大丈夫ですか?
304 名前:&rle; mailto:age [02/10/20 22:55 ID:iNvBWceH] 保守age
305 名前:login:Penguin [02/10/20 22:58 ID:7OS5ZMai] gooo.jp 無料掲示板 無料レンタル掲示板
306 名前:login:Penguin mailto:sage [02/10/21 00:18 ID:IrigbI/B] >>303 全開ですねw
307 名前:login:Penguin mailto:sage [02/10/21 02:09 ID:EZ2ktZfa] ポリシーはDROPでeth0がInternet、eth1がLANの環境で iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE と、その他諸々の設定をしています。 Yahoo!メッセンジャーを思う存分使いたいのですが ファイル転送や声を聞いたりするにはどう設定すればいいでしょうか?
308 名前:login:Penguin mailto:sage [02/10/21 19:20 ID:SFseX0l/] 自分にPortscanかけて、変なの開いてなけりゃとりあえずOKってことで。
309 名前:login:Penguin [02/10/24 16:24 ID:dz+eJia/] /proc/net/ip_conntrack の情報ってどのくらいで消えるの?
310 名前:login:Penguin mailto:sage [02/10/24 18:48 ID:B3TTxskl] ポートスキャンしてくれるサイトもあるよ ttp://scan.sygate.com/
311 名前:login:Penguin [02/10/27 06:35 ID:H05H5cdm] iptableだけど、うまく特定のポート塞げないんだけど? FreeBSDのipfwは分かり易かったのになぁ・・・・。 NICが二つあってeth0の80番ポートだけを塞ぐにはどうしたら いいんでしょかっ??
312 名前:login:Penguin mailto:sage [02/10/27 11:21 ID:P4g23C7O] >>311 iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP だけですが何か?
313 名前:login:Penguin [02/11/01 19:53 ID:aLRuoZ8E] iptablesを使ってNATboxを作ってるんですけど、このマシンでup2dateを正常に動かすにはどうしたらいいでしょうか? ポリシーはデフォルトDROP、OSはredhat8です。
314 名前:login:Penguin mailto:sage [02/11/01 20:05 ID:9a+OYH6y] >>313 普通にマシンの中からHTTPが通るようにすればいいのではないかと。
315 名前:login:Penguin [02/11/01 20:09 ID:aLRuoZ8E] >>314 w3m www.redhat.com/ とかちゃんと行けてるんでそこら辺は大丈夫だと。 service iptables stop をやってからだと通るんでiptablesの設定が悪いのはわかってるんですけど。
316 名前:313 [02/11/01 20:15 ID:aLRuoZ8E] [root@choge /root]# netstat -t tcp 0 1 hoge:4291 xmlrpc.rhn.redhat:https SYN_SENT で止まってるので、返事が受け取れてないのかな〜
317 名前:login:Penguin mailto:sage [02/11/01 20:18 ID:9a+OYH6y] >>316 w3m https://rhn.redhat.com/ も見れる?
318 名前:313 [02/11/01 20:37 ID:aLRuoZ8E] >>317 あああ〜 $IPT -A OUTPUT -p tcp --dport 443 -s $GW_OUT_IPADDR_1 -o $GW_OUT_INT -j ACCEPT とすべき所を $IPT -A OUTPUT -p tcp --dport 443 -d $GW_OUT_IPADDR_1 -o $GW_OUT_INT -j ACCEPT にしてました〜お恥ずかしい... ありがとうございました。
319 名前:login:Penguin mailto:sage [02/11/01 21:18 ID:9a+OYH6y] >>318 おめでd(笑。DROPするときにログ取るようにすればよかんべ。
320 名前:login:Penguin [02/11/03 04:53 ID:G3JoEIER] 特定IPからのアクセスを全て排除したいんですが、どうやればいいですか?
321 名前:login:Penguin mailto:sage [02/11/03 05:13 ID:Vb8sy9bN] 単に INPUT に -s そこ を DROP するのを add すれば? なにか難しいこと考えてる??
322 名前:login:Penguin mailto:sage [02/11/03 10:31 ID:G3JoEIER] それだけでよかったんですね、、、ありがとうございました。 いろんなもの読んでたからごっちゃになってた
323 名前:-=- mailto:sage [02/11/03 13:01 ID:BxoxQO3I] >>321 なんか頭がくらくらする日本語だなぁ。
324 名前:login:Penguin [02/11/04 01:28 ID:PU/4tXi9] WinMXが使えるようにするには どう設定すればいいべ?
325 名前:login:Penguin mailto:sage [02/11/04 02:13 ID:ADBnbWDA] >>324 しかたねーな。 こんかいだけだぞ↓ ---ここから--- #/bin/sh IPTABLES="/sbin/iptables" $IPTABLES -t filter -F $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT ---ここまで---
326 名前:login:Penguin mailto:sage [02/11/04 02:23 ID:d1MzMELP] わは。正しい。
327 名前:login:Penguin mailto:sage [02/11/04 04:13 ID:m1UvyWOx] 1行めは #!/bin/sh な。ここを直せば完璧。
328 名前:324 [02/11/04 06:15 ID:PU/4tXi9] あー確かに正しいな。 $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT このあとどのポート開ければいい?
329 名前:login:Penguin mailto:sage [02/11/04 09:01 ID:sAR73GwM] 目的は達成しただろ
330 名前:325 mailto:sage [02/11/04 12:04 ID:olVic91l] >>327 ワハハ、オチでtypoしてもーた。
331 名前:login:Penguin mailto:sage [02/11/04 12:25 ID:1IQaPnUa] >>328 iptables winmx で検索すりゃ、いくらでも出てくるだろうに… win厨はすっこんでろよ。
332 名前:login:Penguin [02/11/08 01:05 ID:2dyMgnfp] ブリッジを使った透過型ファイアウォールを構築する場合、 例えば、eth1 から eth2 にブリッジングされるパケットは FORWARD チェーンに引っかかるという認識でよろしいか? #ブリッジングはレイヤー2だからどうなんだべと思ったわけさ。
333 名前:login:Penguin [02/11/08 12:12 ID:UFxBpD5o] eth0=内部LAN eth1=インターネット にした場合 送信元アドレスがプライベートアドレスのパケットをeth1から入ってくるのを 拒否するには $IPTABLES -A INPUT -i eth1 -d 192.168.0.0/16 -j DROP などで拒否しているが、FORWARDチェーンにも同じように転送の拒否を記述 しなくてもいいのですか? FORAWDチェーンの前にINPUTチェーンで弾かれるのでいらないですよね?
334 名前:login:Penguin [02/11/08 13:54 ID:Mmy4aspR] >>328 それでいいはずだけど。「いい」の意味によるけど。やってみろ。
335 名前:login:Penguin [02/11/08 14:43 ID:DQfNQY3o] >>332 違うと思うがブリッジを試したのは遠い過去の話なので確信はない。 ソース読むか実際にやってみれ。 >>333 違う。 ipchains の場合は forward の前に input で弾くが、 iptables の場合は forward しか通らない。
336 名前:login:Penguin [02/11/08 14:45 ID:DQfNQY3o] >>332 ていうか、ブリッジを使った透過型ファイアウォールは Linux と iptables では出来ないのでは? 最近のバージョンでは出来るつーのなら情報キボン。 俺は proxy-arp で擬似的に透過型ファイアウォール的動作をさせてる。
337 名前:login:Penguin mailto:sage [02/11/08 15:39 ID:DQfNQY3o] >>336 なんか最近は出来るみたいだな。 bridge.sourceforge.net/ に情報があった。
338 名前:login:Penguin mailto:sage [02/11/08 16:00 ID:DQfNQY3o] ebtables ってのを使うとブルータにも出来るみたいね。
339 名前:332 mailto:sage [02/11/08 18:29 ID:2dyMgnfp] 各人、情報ありがとう。 ちょっと調べてみた結果、どうやらカーネルにパッチを当てると可能になるようだ。 336がリンクしてくれたサイトの、 Firewalling for Free というのが詳しげ。 これからちょっと頑張ってみます。
340 名前:332 mailto:sage [02/11/08 21:58 ID:2dyMgnfp] 言うまでもないかもしれないが、 そのままのカーネルでは実際にやってみたら、 ブリッジングしてるパケットは iptables では引っかからなかった。
341 名前:login:Penguin [02/11/10 11:04 ID:FCe696gT] bridge.sourceforge.net から bridge-nf-0.0.7-against-2.4.19.diff をダウンロード。 ringから、カーネルのソース linux-2.4.19.tar.gz をダウンロード。 # cd /usr/src # tar xzvf ~/linux-2.4.19.tar.gz # cd linux-2.4.19 # patch -p1 < ~/brige-nf-0.0.7-against-2.4.19.diff
342 名前:332 mailto:sage [02/11/10 11:05 ID:FCe696gT] # make menuconfig まず、vineのデフォルトの設定を読み込む。 一番下から2番目の、"Load 〜" で、元からあるバージョンの デフォルト設定を読み込む。 /usr/src/linux-2.4.18/arch/i386/defconfig 次に必要なモジュールを組み込む。 Network Option ---> "Network Packet filtering (replaces ipchains)"(CONFIG_NETFILTER) を yes "Network packet filtering debugging" は off にしないと大量のログがでる。 "802.1d Ethernet Bridging" を yes。 すぐその下の "netfilter (firewalling) support" を yes。 この項目は上の2つを組み込むことにしないと現れない。 次に、Netfilter Configuration ---> に入って、 必要なオプションを組み込む。 全部 y or m にしておいていいと思う。
343 名前:332 mailto:sage [02/11/10 11:06 ID:FCe696gT] コンパイルなど。 # make dep # make bzImage # cp arch/i386/boot/bzImage /boot/bzImage.bridge # vi /etc/lilo.conf で /boot/bzImage.bridge を追加。 # lilo で確認して。 リブート。 bridgeカーネルを選択。 ブートしたら、次にモジュールのインストール。 # cd /usr/src/linux-2.4.19 # make modules # make modules_install
344 名前:332 mailto:sage [02/11/10 11:08 ID:FCe696gT] >>341-343 これで、iptablesで透過型ファイアウォールができました。 ブリッジングされるパケットはFORWARDのみに引っかかります。
345 名前:login:Penguin mailto:sage [02/11/10 11:16 ID:FCe696gT] ごめん、わすれてた。 これをやったら黒画面で日本語が化けるようになりました。 どうしたらなおる?
346 名前:login:Penguin [02/11/11 18:07 ID:nGR4bMZA] iptables の入門書みたいの出てないの? とりあえず、cbook24 で iptables で検索したけどダメだったよ。 現在、RedHat 7.3 で実験ちゅ〜 ipルータは、外からのtcp、udpすべてカットする設定で、現在は鯖を公開 してない。中からのパケットは全通し。 ルータに繋がってるeth0と、PC1台だけのeth1で、とりあえずFTPだけとお るようにしてみようとしてるんだけど、なぜか到達できないと言われる。 もしかして、iptables起動してないのかな〜 googleでiptablesで検索>あちこち彷徨った限りでは、動いてそな気がす るんだが‥‥
347 名前:login:Penguin [02/11/11 18:23 ID:pjorG7KZ] >>346 出てる。amazon で Linux と ファイアウォール のキーワードで検索。
348 名前:login:Penguin [02/11/11 20:45 ID:OP0t1/jV] 以下のiptablesの設定をしているのですがFTPが通りません。 Kernelの再構築で[IP:Netfilter Configuration] - [FTP Protocol Support] は有効にしています。どなたかわかる方お教えください。 ------------------------------------------------------------ (一部省略しています) $IPTABLES -P FORWARD DROP # INPUT $IPTABLES -A INPUT -s $LAN -i eth1 -j DROP # from internet $IPTABLES -A INPUT -s $LAN -i ppp0 -j DROP # from internet $IPTABLES -A INPUT -s ! $LAN -i eth0 -j DROP # from lan # FORWARD $IPTABLES -A FORWARD -s $LAN -j ACCEPT $IPTABLES -A FORWARD -d $LAN -p tcp --sport 20 -j ACCEPT # FTP-DATA $IPTABLES -A FORWARD -d $LAN -p tcp --sport 21 -j ACCEPT # FTP # MASQUERADE $IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
349 名前:login:Penguin mailto:sage [02/11/11 20:54 ID:h6qHpKhg] >>348 省略しすぎなのか、それだけじゃ FTP は全然動かないよ。 FTP が 20 番と 21 番ポートをどう使うかも理解出来てないようだな。 それに iptables で FTP を通そうと思ったら connection tracking の機能を使わなきゃ駄目。
350 名前:login:Penguin [02/11/11 22:07 ID:waULcaae] >>346 あまりいい本はないみたい。 2冊ほど買ったけれど間違いだらけで参考にならない。 一冊は捨てました。捨てた本は初めてのファイヤウオールという本です。 もう一冊は今会社にあるのでタイトル覚えていない。 Linuxセキュリティ何とかだったと思う。 これも間違いだらけ。 よい本が出版されないかなといつも思っています。
351 名前:350 [02/11/11 22:24 ID:waULcaae] >>346 上に書いた本のタイトル名分かりました。 「絵で分かるLinuxセキュリティ」という本です。 これも間違いが多いので嫌気が差してます。 アーア誰かiptablesの解説書出してくれないかな。 必ず買います。
352 名前:login:Penguin mailto:sage [02/11/11 22:24 ID:GhtkW3P0] >>345 バニラカーネルでなくVineのカーネルソースからつくるよろし。 Vineのにはuniconパッチがあたってまふ。
353 名前:login:Penguin [02/11/12 00:28 ID:qQ2X9emg] >>350-351 駄目そうなタイトルの本ばかり買っているように思えるが... パケットフィルタをする奴が読むべき本は実は一冊だけだ。 タイトルは「詳解TCP/IP」。あーそこそこ、コケないで(w TCP/IP を知らずしてパケットフィルタを設定するなど笑止! TCP/IP を理解すれば man iptables と若干の設定例で充分。
354 名前:350 [02/11/12 00:48 ID:hQ0qs5QW] >>353 そうですね、TCP/IPの勉強をしてみます。 でもやっぱり、iptablesの解説本は欲しい。
355 名前:糞野郎 mailto:sage [02/11/12 02:29 ID:cWfwaRR3] LinuxWorldの8月号にiptablesの記事があって 結構詳しく書いてありました。 すみません糞レスです。
356 名前:login:Penguin [02/11/12 13:53 ID:xGLG2Wvj] >>353 www.pearsoned.co.jp/washo/inet/wa_int92-j.html か? ¥6,000もするじゃないか! もっと安い本はないのか!? ビンボーSEに愛の手を!!!
357 名前:login:Penguin mailto:sage [02/11/12 16:33 ID:sEp0SfYt] >>356 「資料」ということにして、経費で落とす。
358 名前:login:Penguin mailto:sage [02/11/12 19:30 ID:5AkTvPtc] eth1が外部、etf0がLAN内部で外部からweb、mail、ssh、DNSを許可 ルータとしてLAN内部にマスカレードなんですが、これで大丈夫でしょうか? 改良したらいいとこなどあれば指摘おねがします。 #!/bin/sh # global variance # LOCALNET='192.168.10.0/24' # clear rules /sbin/iptables -F INPUT /sbin/iptables -F FORWARD /sbin/iptables -F OUTPUT # set default policy /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD ACCEPT /sbin/iptables -P OUTPUT ACCEPT ## for loopback (ローカルホスト自身の設定) # 自分自身は許可(ACCEPT) /sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # for localnet (ローカルネット) # eth0(内部)からのアクセスはすべて許可(ACCEPT) /sbin/iptables -A INPUT -i eth0 -s $LOCALNET -j ACCEPT /sbin/iptables -A OUTPUT -o eth0 -d $LOCALNET -j ACCEPT
359 名前:続き mailto:sage [02/11/12 19:31 ID:5AkTvPtc] # reply # 接続が確立したパケットの応答は許可(ACCEPT) /sbin/iptables -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT # dns の問い合わせは許可(ACCEPT) /sbin/iptables -A INPUT -p udp --sport 53 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #apache # wwwサーバへの問い合わせ許可 /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p udp --dport 80 -j ACCEPT #メールサーバ /sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT #SSH /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT #win file share /sbin/iptables -A OUTPUT -o eth1 -p tcp --dport 135:139 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p udp --dport 135:139 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p tcp --dport 445 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p udp --dport 445 -j DROP #masquerade # IP マスカレードの定義 /sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE
360 名前:350 mailto:sage [02/11/12 22:59 ID:RduSsZon] >>355 ありがとう。その雑誌持ってます。 他の雑誌にも時々iptablesの記事があるので それらを参考に、フィルタリングしています。 皮肉にもLinuxWorldの8月号には 「絵で分かる・・・」 の紹介記事が載ってます。 もっといい書籍を紹介して欲しいですね。
361 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] インターネット上の適当なFTP鯖 ↑ ルータ ↑ eth0 Linux BOX eth1 ↑ HUB ↑ +----------------+ | | Windows の Windows の クライアント1 クライアント2 ってな構成で、クライアント1・2からそれぞれ適当な鯖にFTP接続したい。
362 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] それで、いろいろサイトをみて、実験用に #!/bin/sh ##モジュールをロードする /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp ##初期化 /sbin/iptables -t filter -F FORWARD /sbin/iptables -t filter -F INPUT /sbin/iptables -t nat -F POSTROUTING ##ポリシー /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 eth1 -j ACCEPT ##FW発は通せ /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ##IPマスカレード /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
363 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] ってなファイルを組んで、実行してみた。 iptables -L をみると組み込まれるようなのだが、クライアントからFTPでき ないし、pingすらとおらねぇ。 しかも、突然めー務サーバが引けなくなって焦った。 漏れはどこをミスしてますか?
364 名前:login:Penguin mailto:sage [02/11/14 13:37 ID:hJK7WNBJ] >>363 これ足してもだめかな /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
365 名前:iptablesはじめて [02/11/15 17:48 ID:7+Xxugzu] >>364 だめでつた。 ##FW発は通せ /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT に変更して起動したとたん、sambaが全滅。 Windowsクライアントのnslookupが、LinuxのDNSを捕まえられない様子で、 内部クライアント同士もわからなくなってしまっていました。 #Linux鯖にdhcpさせてるんだから、そりゃそうか。 仕方が無いので再起動しました。 起動した途端、クライアントからDNSが見つからなくなるって事は、iptables そのものは動いてるって事なのかな? その結果、LAN内部からのパケットを全部DROP してしまっている‥‥ でも、iptablesについて記述のあるサイトのほとんどが、「まず全部破棄する ポリシーにしてから、通すルールを決めていく」とあるから、最初にDROP を仕込んでるのは間違いじゃないと思うし‥‥ 本屋にLinux Worl のバックナンバー(8月号)は注文してあるけど、2週間くらい かかりそうだし‥‥ なんか判る方が居たら、教えてくださ〜い。
366 名前:login:Penguin [02/11/15 18:00 ID:KrHxUKTN] ファイアウォール越しにアクセスすると HTTP 403 エラーがでる サイトがあるんですがどうすればいいんでしょう? ファイアウォール機からそのサイトにアクセスするとちゃんと見れるので 設定が悪そうなんですが... 結構 FAQ っぽいんですが検索しても見つかりませんでした。
367 名前:login:Penguin mailto:sage [02/11/16 00:42 ID:HsVr6NVP] >>365 LAN側のソースアドレスが抜けてるからかな? ここ参考になるよ ttp://naoya.dyndns.org/tips/tips18.html >>366 わかりませぬ
368 名前:login:Penguin mailto:sage [02/11/16 06:19 ID:s3bIXOmD] sportとdportの違いがいまいち・・・ どっかわかりやすいサイトあればきぼん。
369 名前:login:Penguin [02/11/16 07:18 ID:e2RXVuI8] >>366 -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu を追加して味噌
370 名前:login:Penguin mailto:sage [02/11/16 15:04 ID:lfX1KTEu] >>368 ソースポート(送信元ポート)とディストネーションポート(宛先ポート)の違い…? (よくわかっていませんが…)
371 名前:login:Penguin mailto:sage [02/11/16 17:09 ID:dJo3xOZR] >>370 もっと自信をもて。そのとおりだ。
372 名前:login:Penguin [02/11/16 22:52 ID:Uvq8ir3l] >346 linux World8月号よりはUNIX MAGAZINE10月号のほうが詳しく 書かれていましたよ。 ttp://ascii25.com/25/mag/unixmag/2002/09/18/638654-000.html iptablesの構文がわかればipchinsの本でも代用が効くと思います。 FWの概念は変わらないと思います。 ttp://www.pearsoned.co.jp/washo/operate/wa_ope13-j.html 上の本ipchainsの本ですが役に立ちました。 また、オライリーより12月に下のサイトの本が翻訳されます。 iptablesは詳しく載ってなさそう。 ttp://www.oreilly.com/catalog/fire2/toc.html
373 名前:login:Penguin [02/11/16 23:14 ID:JTUI2d+e] 本じゃないけど、定番の ttp://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO.html は短くてわかりやすかったよ。大体判っててとにかく指定の仕方が知りたい とかいう人にはいいと思う。
374 名前:login:Penguin [02/11/17 20:14 ID:kURotrjf] 話題のアレで特定IPのみ弾きたいのです。 IPの範囲指定の仕方で、 218.47.0.0-218.47.255.255 の場合は 218.47.0.0/12 とすればよいのでしょうけれど 210.153.0.0-210.153.79.255 や 219.96.96.0-219.96.125.127 などはどう表記すればよいのでしょうか。 210.153.0.0/255.255.176.0 では駄目なのですよね?
375 名前:login:Penguin [02/11/17 20:44 ID:fpuO0VEN] >>374 「話題のアレ」ってなーに?
376 名前:login:Penguin mailto:sage [02/11/18 01:41 ID:Wv4qDYb+] >>374 80 を HEX や BIN にしたら何になる?96 は?126 は?128 は?
377 名前:374 [02/11/18 04:33 ID:/WnEyB7s] >>335 勘弁してください。 >>376 80のhexは50でbinは10100000ですね。 これがどうつながるかわかりません。 ネットマスク24は255.255.255.0で11111111 11111111 11111111 00000000となったり 23は11111111 11111111 11111110 00000000 となるのはわかるのですが それで表現できないということは、やっぱりひとつずつ指定していくかないのでしょうか。
378 名前:login:Penguin [02/11/18 05:06 ID:UUKFyJtH] 80はbinaryで 01010000となって1がふたつ立ってるから、 210.153.0.0/18 210.153.64.0/20 ってふたつ指定すればよいってことなんじゃない? 面倒だけど、これ以上はどうしようもなさそう。 で「話題のアレ」ってなに?俺も知りたい。 ここからのIPは弾いた方がいいの?
379 名前:login:Penguin mailto:sage [02/11/18 05:11 ID:Wv4qDYb+] >>377 わはは。ごめん。ちょっと混乱させてみたかった。 具体的には、ぷららを弾きたいわけね。whois してみると、どういう申請の 仕方してるかわかるから、参考になるよ。 早い話、>>378 の方法でないとだめなんだ。 ちなみに、話題のアレって何?
380 名前:login:Penguin mailto:sage [02/11/18 05:29 ID:UUKFyJtH] >>379 ああ、ぷららか。やっと分かった。
381 名前:login:Penguin [02/11/18 13:39 ID:/8fBeZl6] ドキュメントによって /etc/init.d/iptables stop # この状態でルールを追加します。 とあるものとないものがあるが、stopしてしまったらどうやって起動する んだろう? やっぱ、マシンを再起動しないとダメ?
382 名前:login:Penguin mailto:sage [02/11/18 13:41 ID:k259CCr6] >>381 start じゃねーの? よく知らんけど。
383 名前:login:Penguin [02/11/18 14:17 ID:Fsz1lfyI] >>381 再起動は必要ないはず。stop する必要はないけど、既存のルールを クリアしないといけない。俺は % iptables -F; iptables -t nat -F; iptables -t mangle -F とやったけど。で、適当にルールを決めて、決まったらsave する、 という感じで設定した。
384 名前:login:Penguin mailto:sage [02/11/18 15:12 ID:yHq95x2c] >>381 > やっぱ、マシンを再起動しないとダメ? んなわきゃない。Windows じゃないんだから(わら 再起動の必要があるのは、カーネルを再構築した時くらいなもんだ。 他はせいぜい、libc に大きな変更があったときは再起動した方が安全 かもしれないって程度。 普通、init.d 以下にあるスクリプトは、start/stop/restart などを持っている。 それに、iptables にルールを追加する場合、別に stop する必要はない。
385 名前:login:Penguin [02/11/18 16:46 ID:/8fBeZl6] >>384 う〜ん、じゃぁなんでstopしてルール追加なんて書いてあるんだろう?? >>367 の教えてくれた、 ttp://naoya.dyndns.org/tips/tips18.html でもstopしてルール追加になってるんだよね。 #!/bin/sh # iptables のパス IPTABLES="/sbin/iptables" # 外向けインターフェース名 GLOBALDEV="eth0" # 内向けインターフェース名 OURDEV="eth1" # LANのアドレス OURNET="192.168.1.0/24" # 初期化 /etc/init.d/iptables stop # ポリシー $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P PREROUTING ACCEPT $IPTABLES -P POSTROUTING ACCEPT # LAN側からの入力、ループバックへの入力を無条件に許可 $IPTABLES -A INPUT -i $OURDEV -s $OURNET -j ACCEPT $IPTABLES -A INPUT -i lo -j ACCEPT # 内部から発生した接続に関連するパケットを許可 $IPTABLES -A INPUT -i $GLOBALDEV -m state --state ESTABLISHED,RELATED -j ACCEPT
386 名前:login:Penguin [02/11/18 16:46 ID:/8fBeZl6] を試してみたけど、eth1側のHUBにつながったWindows機からは、インター ネット側にpingもFTPも通らないね。 ただ、>>363 のようにネームサーバ(だろうな、あれは)を引けなくなったり することは無かった。 あと気になったのは、上のを通すと、2行、エラーが出るんだよね。 $IPTABLES -P PREROUTING ACCEPT $IPTABLES -P POSTROUTING ACCEPT で出ているようで、これをコメントアウトすると、出なくなる。 RedHat 7.3 で、rpmしてみたら、1.2.5-3だったけど、もしかしてなんかまずい のかな?