いつ持っても参考にさせていただいてます。
まじめにunixの勉強しているつもりなのにあとからあとからわからんことが湧き出してくる今日この頃で
す。
今回、あるサイトを参考にしながらカーネルモードPPPOEに挑戦しようとしていきなりつまずきました。
pppのソースをダウンロードしようと
cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co ppp
とやったところ
connect to pserver.samba.org(66.70.73.150):2401 failed: Connection timed out
と帰ってきました。
そこでとりあえず
$IPTABLES -A INPUT -p tcp --sport 2401 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --dport 2401 -j ACCEPT
を追加して急場をしのいだのですが、「毎回こんな方法を取るのか?」と疑問です。
wgetでも同様なことをしなければなりませんでしたがポートがポコポコ開いていくのがちょと怖いです。
皆さんはどのように対処しているのでしょうか。
こんにちは。
> 今回、あるサイトを参考にしながらカーネルモードPPPOEに挑戦しようとしていきなりつまずきました。
> pppのソースをダウンロードしようと
> cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co ppp
> とやったところ
> connect to pserver.samba.org(66.70.73.150):2401 failed: Connection timed out
> と帰ってきました。
> そこでとりあえず
> $IPTABLES -A INPUT -p tcp --sport 2401 -j ACCEPT
> $IPTABLES -A OUTPUT -p tcp --dport 2401 -j ACCEPT
> を追加して急場をしのいだのですが、「毎回こんな方法を取るのか?」と疑問です。
> wgetでも同様なことをしなければなりませんでしたがポートがポコポコ開いていくのがちょと怖いです。
下記のように、ステートフルインスペクションを使えばいいのではないでしょうか。
他の設定にも依存しますが、おやじは外部FTPサーバへのPASVのアクセスの関係で,事実上家庭内から外へ始まる通信は、ポートが相手依存なので全てのポートが通過するようになっているため、CVSも問題なく通過します。
下記は、上の設定で2401(CVS)向けの新規セッションは通過させ、下は共通の設定ですが一旦セッションが確立した外部からの返りのパケットは通過させるというものです。
従って、新規では外部からアクセスはできませんので、セキュリティ上は効果があります。wgetもだめだとすると、通常のWebアクセスもできないのではありませんか?
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 2401 -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
早速ありがとうございます
ご指摘の通りステートフルインスペクションは利用してますが、先ほどは手っ取り早く開けてしまいました
。
2401番って何だろう?と思ってしまったけどftpのバックコネクションなんですね、
自分がftpポートモード(家庭内)しか使ってなかったので見落としました。
外部のパックコネクションを使用するサーバーの為の設定が必要だったのですね。
そうなるとバックコネクションポート番号は相手サーバーの設定によるので
$IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 1024: -j ACCEPT
と書けばいちいち追加設定をしなくてすみますが、
私が1024以下に関してはサーバーごとに
$IPTABLES -A OUTPUT -o $EXT_IF -p $protocol --dport $port -m state --state NEW -j ACCEPT
とやっているのはあまり意味は無いのでしょうか。
どうもセキュリティの危機感がないせいか設定があいまいになってしまいます。
> 下記のように、ステートフルインスペクションを使えばいいのではないでしょうか。
> 他の設定にも依存しますが、おやじは外部FTPサーバへのPASVのアクセスの関係で,事実上家庭内か
ら外へ始まる通信は、ポートが相手依存なので全てのポートが通過するようになっているため、CVSも問題な
く通過します。
> 下記は、上の設定で2401(CVS)向けの新規セッションは通過させ、下は共通の設定ですが一旦セッシ
ョンが確立した外部からの返りのパケットは通過させるというものです。
> 従って、新規では外部からアクセスはできませんので、セキュリティ上は効果があります。wgetもだ
めだとすると、通常のWebアクセスもできないのではありませんか?
>
> $IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 2401 -j ACCEPT
> $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
こんにちは。
> 2401番って何だろう?と思ってしまったけどftpのバックコネクションなんですね、
> 自分がftpポートモード(家庭内)しか使ってなかったので見落としました。
> 外部のパックコネクションを使用するサーバーの為の設定が必要だったのですね。
少し違います。通信形態からすると単に2401番のWebサーバにアクセスするのと同じですから、
OUTPUTで2401向けを開け、返りはステートフルインスペクションで通すという考えです。
> そうなるとバックコネクションポート番号は相手サーバーの設定によるので
> $IPTABLES -A OUTPUT -p tcp -m state --state NEW --dport 1024: -j ACCEPT
> と書けばいちいち追加設定をしなくてすみますが、
> 私が1024以下に関してはサーバーごとに
> $IPTABLES -A OUTPUT -o $EXT_IF -p $protocol --dport $port -m state --state NEW -j ACCEPT
> とやっているのはあまり意味は無いのでしょうか。
> どうもセキュリティの危機感がないせいか設定があいまいになってしまいます。
家庭内から外向けに通信が始まるもの(SYNフラグ付きパケット)は、相手サーバが待ち受けている
ポートに向かって始まり、一般的なサービスのポートは1023以下ですから、このアプローチでいい
のではないでしょうか?FTP・PASVのデータコネクション設定が特殊と思っています。
家庭内から外向けに通信が始まるもので、気をつけなければならないのは、トロイの木馬みたいな
もので、これはいたちごっこでしょう。仕込まれないようにするのが、防御と思います。
お答えありがとうございます。
なるほどcvsはcvsという独自のサーバーということですね。
> 家庭内から外向けに通信が始まるもので、気をつけなければならないのは、トロイの木馬みたいな
> もので、これはいたちごっこでしょう。仕込まれないようにするのが、防御と思います。
サイトを巡っていると「ファイヤーウォールに頼ってはいけない」という言葉を目にしますが、やっぱり楽はできないんですね。
tripwireやらsnortやらlogwatchやらいじってはいるのですが、やはりまだピンとこないというのが本音です。じっくりやります。
いまはカーネルモードpppoeで英文と格闘中です。成果が出たら報告させていただきます。