粟飯島と申します SUSE 9.2 Pro 版の SUSEFirewall について質問させてください。 「同一セグメントであっても特定のホスト以外からの特定の サービスへの接続を不許可に」というルールを yast から 作成することは可能でしょうか。 Firewall が動作しているホストそのものへの接続での話しです。 他のディストリビューションでは普通に iptables でルールを 作成していたのですが、SUSE では可能な限り yast での操作を 行いたいと考え、このような質問をさせていただきました。 yast 内の Firewall 設定や /etc/sysconfig エディターでは このような設定方法がどうにも見つかりませんでした。 yast を使わずに設定するしかない、ここを見ろ、など、 ポインタだけでも構いませんのでよろしくお願いします。
粟飯島 さん こんばんは。 k7-koyamaと申します 役に立たない情報かもしれませんが....
他のディストリビューションでは普通に iptables でルールを 作成していたのですが、SUSE では可能な限り yast での操作を 行いたいと考え、このような質問をさせていただきました。 yast 内の Firewall 設定や /etc/sysconfig エディターでは このような設定方法がどうにも見つかりませんでした。
yast を使わずに設定するしかない、ここを見ろ、など、 ポインタだけでも構いませんのでよろしくお願いします。
私も、同じような現象で悩みました。 /etc/init.d/boot.local に iptables の起動スクリプト を記入する事で行いました。 boot.local は 他のディストリビューションの rc.local のようなものだそうです。 それから、以下のURL に SuSE9.0 ですが、 サーバー関係の設定情報が掲載されています。 私には、添付マニュアル以上にとても役に立ちました。 http://acorn.zive.net/~oyaji/
粟飯島です koyama さん 、情報ありがとうございます。 koyama wrote:
粟飯島 さん こんばんは。
k7-koyamaと申します
役に立たない情報かもしれませんが....
他のディストリビューションでは普通に iptables でルールを 作成していたのですが、SUSE では可能な限り yast での操作を 行いたいと考え、このような質問をさせていただきました。 yast 内の Firewall 設定や /etc/sysconfig エディターでは このような設定方法がどうにも見つかりませんでした。
yast を使わずに設定するしかない、ここを見ろ、など、 ポインタだけでも構いませんのでよろしくお願いします。
私も、同じような現象で悩みました。
/etc/init.d/boot.local に iptables の起動スクリプト を記入する事で行いました。 boot.local は 他のディストリビューションの rc.local のようなものだそうです。
なるほど、boot.local ですか、この存在は気づきませんでした。 yast に影響を与えずに設定できそうです。 同じように悩む方がいらっしゃるということから SuSEfirewall2 を 拡張して、サービス単位とか自セグメント単位だけではなくて サービスとアドレスをセットにしたルールとかが yast から 設定できるとよいのですけどね。望みすぎですかね。
それから、以下のURL に SuSE9.0 ですが、 サーバー関係の設定情報が掲載されています。 私には、添付マニュアル以上にとても役に立ちました。
いろいろ参考に見させていただきます。
k7-koyama です。
koyama さん 、情報ありがとうございます。
私は、SuSEや、Linuxに関して 余り知識がないので、 お役にたてたかどうかわかりませんが.....
なるほど、boot.local ですか、この存在は気づきませんでした。 yast に影響を与えずに設定できそうです。
未だに、サービスのエキスパートモードの、 B の印の意味が つかめてません。 chkconfig なんかでは表示されないのです。
同じように悩む方がいらっしゃるということから SuSEfirewall2 を 拡張して、サービス単位とか自セグメント単位だけではなくて サービスとアドレスをセットにしたルールとかが yast から 設定できるとよいのですけどね。望みすぎですかね。
私は、サーバー関係は、以下のように利用しています。 Bind SuSEのものを利用 yastは最初適当にセットして、後は confを 編集 (chroot してくれるので、楽ちん お気に入りです ゾーンファイルは、chroot の方に、最初に作成しました) PostFix SuSEのものを利用 yastには、conf を作成させない (yastの設定が理解できなかった) apache2 SuSEのものは利用しない etc/sysconfig から設定ファイル削除 (yastの設定が理解できなかった) postgres SuSEのものは利用しない /etc/sysctl.conf に 共有メモリの設定を書いておいて、/etc/init.d/boot.sysctl を B にしておけば、make check が通ります tomcat SuSEのものは利用しない (SuSE提供のパッケージは、更新頻度が遅い為) resin や JBoss は試していませんが、JBoss は EnterPriseにパッケージされているそうなので、 動作すると思います Java SuSEのものは利用しない (SuSE提供のパッケージは、更新頻度が遅い為) ntp SuSEのものを利用 confは、yastで最初適当にセットして編集 (yast には、NTPクライアントとありますが、NTPサーバーの事だと思います) yast に入っているハードウエア認識は、すごく気に入っています。 (PSP まで認識できました スゴイ!!) サーバー設定関係は、yastを理解できないので、最初適当に作成して、 あとは、モジュールの設定ファイルを webで調べながら編集しています。 但し、apache や Postfix といった複雑なものは、yastに作成させず、 自分で編集した方が、早く立ち上げる事ができました。 SuSEFirewarll2 は、何度か試しましたが、分からずに断念 iptables を 機械的に作成した方が、早かったです。
今井です。 水曜日 12 1月 2005 21:51、koyama さんは書きました:
ntp SuSEのものを利用 confは、yastで最初適当にセットして編集 (yast には、NTPクライアントとありますが、NTPサーバーの事だと思います)
「NTPクライアント」の意味合いがkoyamaさんの考えてる事とは微妙に違ってる んじゃないでしょうか。 NTPサーバーの動いているマシン(親)のNTPクライアント(子)として自ホストをセッ トアップするんので......。 私はそう思ってましたけど。 というか他のNFSとか見るとその様な意味合いでつけてるような気がします.....。
SuSEFirewarll2 は、何度か試しましたが、分からずに断念 iptables を 機械的に作成した方が、早かったです。
9.1なら混乱しないでしょうけど.....。 9.2だとOSを何度もスクラッチビルド繰り返すとごちゃまぜになる可能性がありますね。 私の場合だとipp、ntp、ssh、rsync位しか利用しないのでSuSEfirewall2で設定済 ませてますけど....。 開けるポートの指定とか9.1までのYaSTだと微妙なところがありましたけど、9.2になっ たら少し判りやすくなりました。 動的にポート番号が変わるものに関しても9.2でちょっと簡単になったかも.....。 ただファイアーウォールの設定がちょっと微妙なとこに隠れてたりするけど.....。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
k7-koyama です。
「NTPクライアント」の意味合いがkoyamaさんの考えてる事とは微妙に違ってる んじゃないでしょうか。 NTPサーバーの動いているマシン(親)のNTPクライアント(子)として自ホストをセッ トアップするんので......。 私はそう思ってましたけど。 というか他のNFSとか見るとその様な意味合いでつけてるような気がします.....。
NSFは、利用していないので、わかりませんが、 国立天文台なんかのNTPサーバーから見れば、稼働マシンは、 クライアントになりますね。 しかし、LAN環境なんかの、別のマシンから、時刻問い合わせを受ける場合は、 サーバーになると思ってます。 私の認識では、 クライアント--> /usr/sbin/ntpdate を cronで定期的にまわす xntpd は 稼働しない 設定は、crontab 1行編集 終わり サーバー --> 時刻問い合わせを受ける相手に対して 制限事項を加える ntp.conf デフォルトポリシーは、xxxxxx xxからのアクセスは、yyyを許可、zzz は無視細かく設定 xntpd を稼働 といった認識です。
SuSEFirewarll2 は、何度か試しましたが、分からずに断念 iptables を 機械的に作成した方が、早かったです。
9.1なら混乱しないでしょうけど.....。 9.2だとOSを何度もスクラッチビルド繰り返すとごちゃまぜになる可能性がありますね。
私の場合だとipp、ntp、ssh、rsync位しか利用しないのでSuSEfirewall2で設定済 ませてますけど....。 開けるポートの指定とか9.1までのYaSTだと微妙なところがありましたけど、9.2になっ たら少し判りやすくなりました。 動的にポート番号が変わるものに関しても9.2でちょっと簡単になったかも.....。 ただファイアーウォールの設定がちょっと微妙なとこに隠れてたりするけど.....。
そうですか。 SuSEFirewall2 は、どのような仕組みで動くのかも良くわかっていない (内部で、iptablesのルールを自動でセットしているのかな??) 英語があまり得意でない といった理由から、 WEBをちょっと調べるだけで、 たくさんの例が掲載してある、iptables の方が手軽に設定できました。 EnterPrise 使ってないので、わかりませんが、きっとマニュアルも ちがっているのでしょうね。
M. Takeyamaです。
#NTPに関して解説モード。
On Fri, 14 Jan 2005 03:20:40 +0900
koyama
k7-koyama です。
「NTPクライアント」の意味合いがkoyamaさんの考えてる事とは微妙に違ってる んじゃないでしょうか。 NTPサーバーの動いているマシン(親)のNTPクライアント(子)として自ホストをセッ トアップするんので......。 私はそう思ってましたけど。 というか他のNFSとか見るとその様な意味合いでつけてるような気がします.....。
NSFは、利用していないので、わかりませんが、 国立天文台なんかのNTPサーバーから見れば、稼働マシンは、 クライアントになりますね。 Yastの文言なんですけど, NTP(設定) or NTPクライアント(+ちょっとサーバ) というようなことになるかと思います。 #NTPの設定(/etc/ntp.conf)ですけど、サーバとしての設定、クライアント #としての設定 両方できます。 #yastからの設定できるのは、主にクライアント的な使い方なので #そうような名称になっていると理解します。
しかし、LAN環境なんかの、別のマシンから、時刻問い合わせを受ける場合は、 サーバーになると思ってます。
私の認識では、
クライアント--> /usr/sbin/ntpdate を cronで定期的にまわす xntpd は 稼働しない 設定は、crontab 1行編集 終わり
サーバー --> 時刻問い合わせを受ける相手に対して 制限事項を加える ntp.conf デフォルトポリシーは、xxxxxx xxからのアクセスは、yyyを許可、zzz は無視細かく設定 xntpd を稼働 時刻同期の場合、ntp(デーモン)を使うとかなり正確で時刻 同期します。(たとえ単なるクライアントとして使っても) #ロジックがそうなっているから、
<ntpd(デーモン)とntpdateの違い --- 簡単違い> + ntpdate ・一発で時間を合わせる。 ・同期する上位のサーバの距離に誤差が依存する。 (近いサーバだと誤差が少ないが、遠いサーバだとそれりに誤差もでる) ・大きく時間ずれていても時刻同期ができる + ntpd(デーモン) ・一発で正確な時間を合わせることはない。 (正確に時刻同期するには、少し時間がかかる) ・同期する上位のサーバの距離に誤差が依存しない設計になっている。 (データ取得の伝播時間の平均値などを取って補正している) ・大きく時間ずれていると時刻同期ができない。 #過去(xntpdの時)に、40分ぐらいまで試したことありますけど、 #1日とか大幅に時間ずれている絶対同期できないと思う。 ntpdを使うかntpdateを使うかは、ケース by ケース ・トラステッドな時刻同期をやるなら --- ntpd ・単なる時刻同期でも正確性を求めるなら --- ntpd になると思います。 で、話を戻しますが、実際(現場運用)として、サーバ機能しか しないNTPサーバ(トラステッドな)は、stratum1だけですね。 stratum1以外は必ず上位のNTPのクライアントになるわけ で、そういう意味で”NTPクライアント”で十分なけでしょう。 最近は、アプラインアスのNTP(stratum1)サーバが あるわけで、GPSアンテナ+GPS受信装置+Unixサーバ という構成でstratum1なNTPサーバを作るチャンスって あまり無いように思えます。 #複数のピアーなstratum2を作るのだって、それなりに注意 #が必要ですから。(トラステッドになるような工夫(条件をそろえる)) ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
M. Takeyamaです。
#NTP雑談モード(& 自己フォローモード)
On Fri, 14 Jan 2005 13:00:07 +0900
"M. Takeyama(takezou)"
最近は、アプラインアスのNTP(stratum1)サーバが あるわけで、GPSアンテナ+GPS受信装置+Unixサーバ という構成でstratum1なNTPサーバを作るチャンスって あまり無いように思えます。 #複数のピアーなstratum2を作るのだって、それなりに注意 #が必要ですから。(トラステッドになるような工夫(条件をそろえる))
前から感じていたことなんですけど... #NTPって数学的にかなり厳密に同期できるようにに設計されていたと思います。 #(私自身、数学は得意でないので仮にソースみても判断できなかったりして...) --> 単なるMS-WindowsのPC(一般的なクライアント)にNTP で同期するのってかなりオーバースペックなのでは と思っていました。 (と言っても少し前までは、"桜時計"ぐらいしかなかったですけど。) 最近、知ったのですが、SNTP(Simple Network Time Protocol)という RFC2030 で定義されているプロトコルがあることを知りました。 linuxの世界で SNTPサーバ(クライアント)は聞いたことないですど... <まあ、参考までにどうぞ。> http://www.atmarkit.co.jp/icd/root/41/5784941.html http://www.atmarkit.co.jp/icd/root/61/5784861.html http://www.atmarkit.co.jp/fwin2k/win2ktips/050nettime/nettime.html ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
今井です。 金曜日 14 1月 2005 19:24、M. Takeyama(takezou) さんは書きました:
最近、知ったのですが、SNTP(Simple Network Time Protocol)という RFC2030 で定義されているプロトコルがあることを知りました。 linuxの世界で SNTPサーバ(クライアント)は聞いたことないですど...
そういやブロードバンドルータで時刻同期対応とか書いてあった某ルータは NTPやSNTPではなくTime対応だったっていうのもありました.....。 NTPサーバーと同期できなくておかしいなぁと思ったらポート37番使ってたという.....。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
M. Takeyamaです。
#余談モードです...
On Sat, 15 Jan 2005 01:18:30 +0900
Masaru Imai
今井です。
金曜日 14 1月 2005 19:24、M. Takeyama(takezou) さんは書きました:
最近、知ったのですが、SNTP(Simple Network Time Protocol)という RFC2030 で定義されているプロトコルがあることを知りました。 linuxの世界で SNTPサーバ(クライアント)は聞いたことないですど...
そういやブロードバンドルータで時刻同期対応とか書いてあった某ルータは NTPやSNTPではなくTime対応だったっていうのもありました.....。 NTPサーバーと同期できなくておかしいなぁと思ったらポート37番使ってたという.....。
<Linux, MS-windowsの背景> Linuxって 多くのUnixの世界の文化を引き継いでいると思うんですよ。 UnixのXクライアントとかNFSクライアントとかいうサーバ/クライアント の思想を受け継いでいる。当初からある程度厳密な時刻同期が要求されて いた。 ---> 最初から xntpがあった(ntp(4系))。 Linuxはそれで十分だった。 今でも「SNTPサーバ(クライアント)」特に必要ない。 MS-Windowsの世界だと時刻同期の要求があまりなかった.(当初) ネットワーク化が進んた(必然的に時刻同期の必要性が出てきた) ---> ntp(xntp)の実装(移植)を考えたが... 精度的に 1msの精度が要らない。stratum1-stratum15のような 階層的な構造は不用。(実装が楽になりじゃないですか。) <ブロードバンドルータも...> PCとかクライアント数ベースで考えると、圧倒的にMS-Windows優位 ですよね。そうなると 時刻同期 != NTP となるわけで... 今後は、ブロードバンドルータでもSNTPサポートはdefualtに なるのではないでしょうか。 #ちなみに、NTPもSNTPも同じ 123(TCP/UDP)を使うようです。 ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
今井です。 金曜日 14 1月 2005 03:20、koyama さんは書きました:
NSFは、利用していないので、わかりませんが、 国立天文台なんかのNTPサーバーから見れば、稼働マシンは、 クライアントになりますね。
しかし、LAN環境なんかの、別のマシンから、時刻問い合わせを受ける場合は、 サーバーになると思ってます。
私の認識では、
クライアント--> /usr/sbin/ntpdate を cronで定期的にまわす xntpd は 稼働しない 設定は、crontab 1行編集 終わり
そこで既に勘違い?があります。 ntpdateは有無を言わせずいきなりntpサーバーと時刻を同期させます。 ntpdは基本的に徐々に時刻を合わせていきます。 オプションの指定によってはntpdateと同様な動作もできますけど。 時刻の狂いやすいマシンでntpdateをcronで定期的にやるのはmakeコマンド 使ったコンパイルとか時刻に依存するプログラム実行するマシンだと自殺行為です。 ソース変更したのにコンパイルされてなくて、いざフルコンパイルしたらおかしくなった みたいな現象招きやすいです。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
k7-koyama です。 Takeyamさん、今井さん ご返答ありがとうございます。
クライアント--> /usr/sbin/ntpdate を cronで定期的にまわす xntpd は 稼働しない 設定は、crontab 1行編集 終わり
時刻の狂いやすいマシンでntpdateをcronで定期的にやるのはmakeコマンド 使ったコンパイルとか時刻に依存するプログラム実行するマシンだと自殺行為 です。 ソース変更したのにコンパイルされてなくて、いざフルコンパイルしたらおかし なった みたいな現象招きやすいです。
おおっ!! いわれて見れば、全くその通りですね。勉強になりました。 コンパイルでは、ファイルのタイムスタンプは重要ですし.....なるほど。 早速、デスクトップマシンも、xntpd に変更する事にします。 これを聞いたからには、やはり、「NTPクライアント」が妥当だと思いました。
今井です。 肝心なの忘れてた。 金曜日 14 1月 2005 03:20、koyama さんは書きました:
そうですか。 SuSEFirewall2 は、どのような仕組みで動くのかも良くわかっていない (内部で、iptablesのルールを自動でセットしているのかな??) 英語があまり得意でない
YaST上で設定すれば面倒くさくなかったりします。 外向きのインタフェース、内部インタフェース、開けるポートの指定位なんで。 9.1だと動的にポート番号が変化するサービスの設定はエディタで直接編集 するしかないと思いますけど.....。 /sbin/SuSEfirewall2はシェルスクリプトなのでエディタですぐ内容を見る事が 可能です。(まあ見たからと言ってすぐ理解できるとは思わないけど....) やってることはiptablesを呼び出して指定された事をやってるだけですけど....。 9.2だとSuSEfirewall2はデフォルトで有効なんで、それ忘れて自前であれこれ やるとどつぼにはまる可能性があるかもしれません。 私も最初それに気づかなくてNISが使えずちょっと悩みました。 sshやntpとかだけ通すんなら自前で書くより簡単?かも。(9.2だと特に) iptables -Lで出力される結果見ると130行ほど出力されて、それを自前で書くの は辛いなぁと思うことがあります。 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 今井 優 mail: maimai@coral.ocn.ne.jp web: http://www10.ocn.ne.jp/~masimai/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
M. Takeyamaです。
On Wed, 12 Jan 2005 15:25:41 +0900
Katsuaki AWAIISHIMA
粟飯島と申します
SUSE 9.2 Pro 版の SUSEFirewall について質問させてください。
「同一セグメントであっても特定のホスト以外からの特定の サービスへの接続を不許可に」というルールを yast から 作成することは可能でしょうか。 Firewall が動作しているホストそのものへの接続での話しです。 突っ込みを入れるようで申し訳ないのですが...
(1)ケース1(手が2本以上出ているケース) セグメント1(仮で外側) セグメント2(仮で内側) ----------------------[SUSE 9.2Pro]----------------------- (2)ケース2 セグメント1 ----------------------[SUSE 9.2Pro] より具体的なポリシールールを示してくれたほうが... 例として 80, 443(web)ポートを利用したり、 ソース(IP, Networkとか)とディストネ−ション(IP, Network) を仮想IPでもよいです。 やったことないですけど。 ・yastからできないけどcustomファイルをいじればできそう。 ・yast(/etc/sysconfig エディター)からでもできそうですけど。 #ルールがわからないの判断がつかない。(& 検証もできない) ちなみに、やりたいことって、多分、xinetd, SuSEfirewall2+xinetd という方法論でもできそうですけどね。 #yast からだと xinetd 設定できませんから、YASTの閉じた世界で問題 #解決したいのであれば。やはり SuSEfirewall2のみというですよね。 ----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
粟飯島です M. Takeyama(takezou) wrote:
M. Takeyamaです。
On Wed, 12 Jan 2005 15:25:41 +0900 Katsuaki AWAIISHIMA
wrote: 粟飯島と申します
SUSE 9.2 Pro 版の SUSEFirewall について質問させてください。
「同一セグメントであっても特定のホスト以外からの特定の サービスへの接続を不許可に」というルールを yast から 作成することは可能でしょうか。 Firewall が動作しているホストそのものへの接続での話しです。
突っ込みを入れるようで申し訳ないのですが...
(1)ケース1(手が2本以上出ているケース) セグメント1(仮で外側) セグメント2(仮で内側) ----------------------[SUSE 9.2Pro]-----------------------
(2)ケース2 セグメント1 ----------------------[SUSE 9.2Pro]
より具体的なポリシールールを示してくれたほうが... 例として 80, 443(web)ポートを利用したり、 ソース(IP, Networkとか)とディストネ−ション(IP, Network) を仮想IPでもよいです。
シンプルに質問しようとして漠然としすぎましたかね。 同一セグメントの中でとだけ限定していましたし、 図で書くほどのものじゃないと思ったものですから、すみません。 172.16.17.0/24 ____________________________________________________ | | | 172.16.17.23(a) 172.16.17.34(b) 172.16.17.45(SUSE) (上記は全部適当)この状態で、 1. a からは SUSE の ssh に接続できる 2. b からは接続できない こう設定したいのです。と書きましたが
やったことないですけど。 ・yastからできないけどcustomファイルをいじればできそう。
・yast(/etc/sysconfig エディター)からでもできそうですけど。 #ルールがわからないの判断がつかない。(& 検証もできない)
ちなみに、やりたいことって、多分、xinetd, SuSEfirewall2+xinetd という方法論でもできそうですけどね。 #yast からだと xinetd 設定できませんから、YASTの閉じた世界で問題 #解決したいのであれば。やはり SuSEfirewall2のみというですよね。
ああ、なるほど、ここまで読んでわかりました。 SuSEfirewall2 のコマンドの中で、 FW_CUSTOMRULES ってのでファイル定義すれば読んでくれるんですね。 これなら yast で設定変えても使えるし、yast の動作に影響を 与えることもなくすみそうです。 逆に考えるとこれを定義できるってことは凝った設定はこっちに 書けということですね。 ありがとうございました。
----- M. Takeyama __________________________________ Do You Yahoo!? Upgrade Your Life http://bb.yahoo.co.jp/
participants (4)
-
Katsuaki AWAIISHIMA
-
koyama
-
M. Takeyama(takezou)
-
Masaru Imai