トップページ⇒network
69コメント50KB

メールサーバー設定に関して質問

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこうNGNG
えー某所で働くネットワーク管理者なんですが。
昨日会社に言ったら上司が
「内部->外部のメールすべてをCCで特定アドレスに送信できるようにしてね」という(他人事なら)なかなか笑える事を命令されました。
出来そうなんだけどなあ、できるのかなあ?
外部->内部ならまだ考え付くんですが、何か手段おもい浮かぶ方いらっしゃいますか?
ちなみにSMTPサーバーはFreeBSDでqmailです。内部のマシンはファイアウォールで区切った所にあります。
あ、ちなみにパケットスキャナ走らせて25番ポートを掠め取るとか、そういうのは思いついたんでいいです。
0002名無しさん@そうだ選挙にいこうNGNG
メイルを検閲したいということね。でも、その上司もアホね
メイルのヘッダに勝手に、

Cc: 上司

とか付けばいいと考えてるのかな。
fj.mail.system.sendmailでたまにそういう話が出てますね。
sendmailだったらSMTPメイラーに一段かませばよさそうだけど、
qmailはわからないなぁ。
00031NGNG
アホですよねえ。それはさておきご回答ありがとうございます。

んー、最悪SENDMAILに戻っても構わないんですが、できればqmailで、有りませんかねえ?
あ、もしかするとsmtpを二段にしてしまえばいいかなあ?
内部にNTベースかなんかのメールサーバー置いて、
(第一こんな事やってもメールサーバーを他のサーバーを指定されたり、hotmailとか使われたら無意味なのになあ・・・)
0004名無しさん@そうだ選挙にいこうNGNG

「特定アドレスに送信」というのはありませんが、FAQ に以下のような
ものがあります。これで要望は満たされませんかね?

http://www.jp.qmail.org/q103/faq/faq8.html#8.2.

あとはmess822 を駆使すれば何とかなるんじゃないかなって気はします。
http://www.jp.qmail.org/mess822/
00051NGNG
ご返答ありがとうございます、
あ、これ私も見ました。ただ、再コンパイルが必要なので、後で戻すこと(上司が気が変わって)を考えるとちと考え物だったんですが、
やっぱりこれしかないですかね・・・。設定ファイルだけで何とか事を済ませ様と不精してちゃ駄目ですね、確かに。
これでlogに書き出して空いてる時間にcronで送信&clean・・・となるか・・・。
00062NGNG
sendmailだったら、全セッションのlogを取ればいいのなら -X
でできますね。特定の奴のメイルを検閲したいとなるとちょっと
難しいかな。

考え方の一つとして、sendmail.cfの検閲用のものを作り、例えば
sendmail -bd -C /etc/sendmail.censor.cf とかして起動してお
きます。sendmail.censor.cfはsmtpメイラを検閲用プログラム
に渡すようにします。Msmtp@` P=/usr/local/bin/censor@` ...
みたいな感じで。censorがメイルを受け取るので、中身を吟味
して必要なら上司に送りつつ実際の転送のために再度sendmail
に食わす。再度起動されたsendmailは通常の.cfで外部に配送
するという感じでどうでしょうか。
00071NGNG
ご返答ありがとうございます
なるほど、Sendmailの場合はそういう風にすればいいですね。
ただ、Sendmailのconfigfileをまた書くのか・・いやいやすみません独り言です。
ただ、ちょっと資源のとぼしいマシンなので、負荷がかかるとまずいんですよね。
ファイルの転送にもよく使われてるので数十メガのファイルが受け渡される場合がザラなんですよね・・・。(というかかなり無茶ですよね、コレ)
二度参照する様に書いてありますが、大丈夫かなあ・・・、
ですが、とても有効な案です、ありがとうございます。

sendmailに戻すか、qmailをリコンパイルするか、悩みます・・・。
他のMUAでそういうことが元々実装されている物をご存知の方いらっしゃいますかね?UNIXでもWIN系でもいいんですが、


0008名無しさん@1周年NGNG
> 二度参照

普通は

外部・内部 -> sendmail with Daemon Mode (censor.cf) -> /usr/local/bin/censor -> sendmail (sendmail.cf)

という流れになるから、参照される .cf が違うということで問題にならない。
心配しないでよい。

もし問題があるとしたら、最後の sendmail (sendmail.cf) で配送しようとした
ときに、何らかの理由で配送先のホストと自分自身が定義してあった場合。
この場合、

sendmail -> sendmail (Daemon) -> censor -> sendmail -> sendmail (Daemon)

という風に無限ループが発生する。Too Many Hops エラーで落ち着くまで
面倒な事態になるだろう(当然上司は怒る)。DNS の MX の設定をミスっていて、
本来自分で受け取る設定になっていないホスト・ドメインへのメールが届くように
なっているといった場合にそういう事態が発生する可能性がある。

メールルーティングについて慎重に構成し、さらに censor プログラムで同じメールを
何度も配送しないようにする必要があるだろう。Message-ID を見れば(むぎ茶みたいに)
偽装していない限りメールをユニークに識別できるはずだから、Message-Id を記録して
比較するとかの仕組みが有効だろう。Perl + MySQL とかで簡単にできるだろ(作れるやつを
探すのは簡単だろ)?
00091NGNG
返答ありがとうございます、
なるほど、勉強になります、私が最初にメールサーバーを扱ったのがqmailだったので、理解できていませんでした、勉強不足です、申し訳有りません。
ただ、いかんせんメールサーバーのマシンが遅いので、perlやmysqlでちゃんとしたシステムを構築させてあげる事は難しいんです。(pen60Mhzだし・・・。)
そろそろメールサーバーも速いマシンにするべきですね・・・解決方法を示唆して頂いているのに試す事が出来ないではもったいない。

ただ、内部のメールすべてが改良すべきメールサーバーを経由しているので、その可能性が実際にあります。
sendmailを使った方法を行う場合はDNS周りの設計を見直す事から始めないとまずそうです。
やはりqmailを再コンパイルする方法が一番安全なのかと思ったりしています。

情報ありがとうございました。
00102>8NGNG
MXの設定を間違った場合とか考えてなかったなぁ。
検閲用のプログラムはprocmailでよいかも。これなら設定は
簡単ですね。転送のときはformailで特定のヘッダを付けちゃっ
て、それがあれば無視するとか。上司がアホそうだから、
X-Censored: yes とか。
00111NGNG
ご返答ありがとうございます
あ、確かにそれなら簡単で確実かもしれません、しかし、さすがにsendmailは長い事使われてるだけあって色々なスイッチがありますね・・・。
qmailはいいサーバーだと思うのですが、今回さすがにsendmailを使う事になりそうですね・・・。
さっきからqmailの文書を見ているのですが。やっぱりlogファイルに書き出した物をコピーするしかないようです。
これ以上になると自分で拡張しないとまずいですね・・・。うーむ、微妙です。
情報ありがとうございました。
0012名無しさん@そうだ選挙にいこうNGNG
「qmailで設定変更だけ」という条件なら、仮想ドメイン作って
内部からのSMTPはいったんそこに配送させ、.qmailでその上司とやらに
転送、その後おもむろにqmail-injectに渡してやるってのはどう?
0013名無しさん@そうだ選挙にいこうNGNG

「内部->外部のメールすべてをCCで特定アドレスに送信できるようにして」
という要件を「内部->外部のメールのみ特定アドレスにコピーを転送する」
という意味だと、結構qmail の標準の機能ではアレなのかなって気がする。


まぁ私なら面倒で出きるならやりたくないというオーラを発しながら
「技術的に不可能じゃありませんけど、テストに手間と時間がかかります
し運用が大変になりますよ?」と上司に言ってあきらめさせるような
試みをまずはしますね。
あと「そんなことやらせるとサーバの負荷が上がって使い物にならなく
なりますよ(新しいマシン買ってくれるの?)」という嘘をブラフで言って
見るのもいいかも。
0014名無しさん@1周年NGNG
上司のメールボックスに1Gぐらいメール送ったれ。
自分の考えがおろかであったことに気づくだろう。
00151NGNG
ご返答ありがとうございます

>12
それも一案ですね。ただ。エラーのトレースを考えるとちょっと・・・・。それで残業代が出ればいいけど・・・でないんだろうなあ・・・。
でも解りやすい方法です、ありがとうございます。

>13
>結構qmail の標準の機能ではアレなのかなって気がする。
ありがとうございます、なるほど、了解です。

もちろん上司にはそういってます(笑)。とりあえず、私は在宅でも給料が出るので、水増し清算するつもりではいます(笑)。
ここ見てないことを祈りますが(笑)<上司
とりあえず、そろそろいいサーバーが欲しいので負荷がかかるやり方もまた一つの手ですね(笑)

上司はプログラマなので、詳しいつもりなんですが、詳しいつもりの人間が一番できそうで出来ない事を言ってくれるんで困ります。
出来そうだからこっちも「出来ない」といえないわけで・・・。

>14
確かに(笑)。やってしまおうかな・・・(笑)。
でも1G送って、メールボックスがあふれたら私が処理するんだよな(笑)サーバー担当者が変わってからですね(笑)

皆さん情報ありがとうございました。
0016名無しさん@そうだ選挙にいこうNGNG
>>1
MTA さっさと改造してしまえないオマエも上司と大して変わんねえよ
0017名無しさん@そうだ選挙にいこうNGNG
>16
「MTA」を「改造」かぁ。すごいね。
00181NGNG
>16
なにぶんちゃんと報告書を書いてからはじめないとまずいので・・・。ちゃちゃっと改造して出来ました、と報告するだけじゃ問題ですし。当たり前ですけど。
まあ、期限は特に設定されていなかったので、ちゃんと調査してからやりたいんで。

>17
まあ、QMAILをリコンパイルを改造、と言ってるんでしょうね。
0019名無しさん@そうだ選挙にいこうNGNG
>1
rootとかpostmasterに来るメールをすべて上司に送ってやれ。
あとは、活発なML10個ぐらいに上司のアドレスを黙って登録してやれ。
全てのメールのコピーをとるなど、アホなことしか思いつかない上司は
何を言っても無駄だ。身をもって体験させてやれ。
2度とそんなことは言わなくなるから。
0020名無しさん@1周年NGNG
上司が食らいつきそうなサブジェクトのマクロウィルス入り
メール送ってやれ。上司が好きな女の子あてのあやしそうな
メールでもいいぞ。
00211NGNG
>19&20
やー、多分ばれますよ(笑)、もちろんこっちが手間かければばれませんけど。
一応上司もわかってるほうに入るんで、でも重要なところ解ってないから良く判らない事言ってくるんですけどね(笑)。
それにその後始末するの私ですし(苦笑)ウイルスが広まったらそれを駆除するのも私ですし(苦笑)
0022名無しさん@そうだ選挙にいこうNGNG
qmailは止めて、postfixをportsで入れて設定すると良いあるね。
0023名無しさん@そうだ選挙にいこうNGNG
>22
なるほど・・・、といっても実はわかってないので、調べてみます、
情報ありがとうございました。
0024名無しさん@そうだ選挙にいこうNGNG
全然関係ないけど、sendmailって、aliasesさえバックアップ
しておけば、万が一mailサーバが落ちても、復旧させすることは
簡単なのかな?newaliasesだけで大丈夫?
0025名無しさん@そうだ選挙にいこうNGNG
>>24
sendmail.cfも必要でしょ。
0026名無しさん@1周年NGNG
>>24
sendmail.cf の内容次第だ。
/etc/mail/* の内容を参照している場合にはこいつらのバックアップも
必要だし、/etc/sendmail.cw とか別ファイルに sendmail.cf のパラメータを
保存しているような場合にもバックアップは必要。
0027名無しさん@1周年NGNG
あ、あとユーザーが ~/.forward で転送の設定をしているような場合には
そいつらも移行する必要があるな。
配信待ちメールのバックアップもするなら、/var/spool/mqueue といった
メールキューディレクトリのバックアップも必要。

つうか、一度メールの流れを全部図面でフローとして起こしてみろ。
0028名無し子NGNG
肝心なのを忘れていました、sendmail.cf。

>26
sendmail.cfを調べてみます。

>一度メールの流れを全部図面でフローとして起こしてみろ。
む、難しい。。専門のメールサーバを構築する人はそういうことを
行うのですね。参考になります。

家でFreeBSDをインストールして使っていたくらいのレベルで、
いきなり社内のサーバ管理をしているので危険です。
(NT@`solaris(DNS)@`Linux(Web@`mail@`DNS)@`Lotusなんでも
一人でやらされています)

sendmail.cfを自分で作ったことすらありません。前任者は
全くドキュメントの類を残してくれていません。。
0029名無し子NGNG
sendmail.cfを早速調べてみました。
といっても、/etcを検索してみたら
下記しかありませんでした。

O StatusFile=/etc/sendmail.st
O AliasFile=/etc/mail/aliases

で、現在動いているサーバでsendmail.stを調べてみたら
ありませんでした。私自身、運用時に意識しているのは
aliasesだけです。

下記は全てコメントアウトされていたので、無視していいのかな?

#O ServiceSwitchFile=/etc/service.switch

# hosts file (normally /etc/hosts)

#O HostsFile=/etc/hosts

#Ft /etc/sendmail.ct

#Fw/etc/sendmail.cw

#Cw myaliasnames

それにしても意味不明です。
0030名無しさん@そうだ選挙にいこうNGNG
>23
http://www.jah.ne.jp/~t-akasak/postfix/ あたりを見るあるね。
postfixのmain.cfに、

always_bcc = メールアドレス

と書けば、すべてのメールが「メールアドレス」に転送される様に
なるあるよ。とっても簡単。
0031名無しさん@そうだ選挙にいこうNGNG
>>1
qmailでもやれそう。
http://www.jp.qmail.org/q103/faq/faq8.html#8.2.
こんなのがあったよ?
awkでフィルタリングすればいろいろできそうだよ。
それか全部とっといてあとでフィルタかけるか。
でも考えるのめんどう。
003231NGNG
すまんがいしつ!
0033通りすがった!NGNG
>28
それは凄い境遇だ、同情するよ。
でも頑張れ。
0034名無し子NGNG
>33
ありがとう!
0035名無しさん@そうだ選挙にいこうNGNG
>>28
まだ右も左を分からない状態なら、今のうちにマシンデータの
バックアップをとっておくことをお薦めするよ。
0036名無しさん@そうだ選挙にいこうNGNG
PCサーバなら元のサーバはとりあえずそのまま置いといて、
置き換え用の新しいサーバを一から構築するのがお勧め。
バックアップの失敗もないし(笑)、どうしようもなくなったら
そのままつなぎかえればいい。
0037名無し子NGNG
ありがとうございます。
怖いので2chで教わった、rsyncをインストールして、
バックアップしています。しかし、バックアップサーバ機から、
パスワードなしのsshがうまく動かないので、毎日手動で
バックアップしています。本当はcronで自動化したいのに。
0038名無しさん@そうだ選挙にいこうNGNG
.sshのパーミッションはあってますか?
00391NGNG
おお、週末外出していたら書き込まれていた、
書き込みありがとうございます
>31
はい、それは”4”さんに教えていただいたのと同じですよね?
それを使えば確かに出来そうです。
現在はその文書の方法でやってみようかと思っています、

>28
わたしも昔そうでした・・・でもちゃんと本を読んだり、ドキュメントを読んだりすれば人間が作った物だけあって、なんとか理解出来ます。
でもsendmail.cfだけは・・・、1/10も解らない、明らかにいまでは使われないようなオプションが多すぎる・・・。
CFという設定ツールがありましたが、あれ自体良くわからない(苦笑)
qmailは設定などがわかりやすいので助かります(低機能、低性能というわけではないですが。)
0040ダウソ気味…NGNG
>28
僕も同じような境遇です。頑張りましょう。(TT)

自分が3ヶ月前にPentiumのWeb鯖を引き継いで動作を見てたら、
Webページの表示が時々Netが混雑するでもないのに遅くなる…
どうやらSendmailの設定がおかしくて
(Root、Webmaster、mailmasterまでメールが飛ばない...)
動作するたびに、サーバにたまった未配送メールを
もう一度投げようとしてサーバの動作が遅くなるらしい(?)
前担当者と関わった人に聞いたら実験機(開発機?)を
ほとんどそのままDMZに上げたらしい…
曰く、(Linuxの設定なんて個人ページ見りゃできるよ〜。本なんていらね〜)

そして荒くれる上司を説得して再インストール。
夜の3時までかかってバックアップ&再インスト。
業務上必要でない残業だからということでサ残になりました。
自分の力の限界を骨の髄まで身にしみて思い知りました。

あっ、WebJail設定するの忘れてた…鬱氏
長文&鬱なカキコで失礼しました。
0041名無しさん@そうだ選挙にいこうNGNG
よいスレッドなのであげ。平日は皆、書き込めないとみた。
0042>40NGNG
Linuxなヒトたちにそういう傾向があるみたいだけど、なにか不調
だから再インストールというのでは進歩しないと思うよ。

不調の原因を突き止めて解決しないと。
0043FiveNGNG
>>42
同感。
Windows 系アプリケーションではレジストリの矛盾等があるときに再インストールで
解決できる場合が少なくないので、トラブル発生 -> 再インストールというのが
トラブルシューティングの重要な一つの手段になっているきらいがありますが、
その習慣を Linux 等に持ち込む必要はないと思います。42 さんが仰られている
ように、原因をつきとめる能力を高めていかないと、今後も発生する様々な管理
タスクをこなすことは困難になるでしょう。

原因究明には、関連プロトコルも含めたプロトコルファミリー全体の仕組みと
実装についての知識が求められます。前者については RFC を筆頭にさまざまな
ネットワークプロトコルの参考書籍を読めばある程度理解できると思います。
後者については、有名な実装であれば解説書は多数出ているしょうし、それで
なくてもソースが公開されていればソースを自分で読んだり、人に読んで
もらったりして解決できる可能性があります。作者に問題点を連絡して対処して
もらうという手段ももちろんよい手段です。

メールの場合には、SMTP と DNS という二つのプロトコルが大きな意味を持って
います。DNS で配送先ホストを検索し、SMTP で配送先ホストへとメールを渡す
という関係です。
0044FiveNGNG
我々がメールが出て行かないという場合には、まずログを見ます。どんな
エラーが出ているかが重要です。通常はホスト名不明が原因でしょう。
現在キューにたまっているメールを強制的に配信させて、どのメールがどの
ような原因で残るかをログに残してそれを見ます。sendmail なら sendmail -q
で配信待ちのメールの配信を試みます。

宛先ホスト不明であれば、まず DNS で名前が引けているかどうかをチェック
します。nslookup 等の通常のツールを用います。
この時点でもし名前が引けない場合には、例えば
o /etc/resolv.conf の設定が間違っている
o DNS サーバーがダウンしている
o Firewall/Router で DNS のトラフィックがフィルタされている
o 宛先になっているドメインが見つからない(宛先が間違っている)
等を原因としてそれぞれ必要な調査をすることになります。
具体的には、
o /etc/resolv.conf の nameserver のアドレスを確認
o DNS サーバーへ ping を送ってみる、上位ドメインに NS レコードを
 問い合わせ、他にサーバーがないか、あったとして応答するかどうかを
 調べる、whois から管理者への連絡先を調べてオフラインで連絡して
 みる(以前 Oracle と日立が一時的におかしくなったときに連絡した
 ことがあります)
o ルータのログを見る
o メールのアドレスを確認する。テスト用メールとしてデタラメなメール
 アドレスにメールを送っていないか?
等の行動を取ることになります。
0045FiveNGNG
DNS で名前が引けているのにメールが送られない場合には、/etc/hosts に
余計なエントリがないか、/etc/nsswitch.conf 等で /etc/hosts や NIS の
エントリが優先になっていないかをチェックします。

中継拒否ということであれば、
o 宛先ホストの FQDN と宛先アドレスを比較し、配送先として不自然でないかを
 調べる。[email protected] と mail.example.com は自然だが、[email protected]
 と mail.example.com の組み合わせはおかしい。
 -> DNS の MX がおかしい。相手のドメインの管理者に連絡
o 自身が MAPS や ORBS 等のブラックリストに登録されていないか調べる
 -> 不正中継拒否設定をきちんとし、リストから登録を削除してもらう
といった調査をするでしょう。

メールを送っている途中で送信失敗で中断するということであれば、
o 相手のサーバーの問題 (/tmp に空きがない) ではないか調べる
 -> 他のサーバーに同じくらいの大きさのメールを送ってみる。
という手段をとることになるでしょう。余談ですが、DNS の MX に出てこない
相手にメールを送ろうとして上記現象が発生して、定期的に巨大なトラフィックを
発生させていたという事例を見たことがあります。
# 原因はいまだに謎。
0046FiveNGNG
この辺のトラブル内容とトラブルシューティング方法は、各種検索エンジンで
検索して粘り強く出てくるページすべてに目を通していればほとんど得られる
ものですし、書籍でもまとまった形で容易に入手できるものです。

再インストールのために徹夜をするなら、トラブル原因究明のために徹夜を
した方が百倍以上スキルになりますよ。ある程度目処がつくまでは大変ですけどね。
分からなかったら各種メーリングリストやこの板で聞けば答えが返ってくるかも
しれませんし。

ということで、今後は方針を変えて頑張ってみてください。
幸運をお祈りしています。
004740NGNG
>42
折りたたんだような発言で申し訳無いです。
>何か不調だから再インストールというのでは進歩しないと思うよ。
全くその通りです。しかし理由のすべてが不調のためだったから、
と言うわけではございません。

上記のメールが自サーバのRoot、Webmaster、mailmaster
(Postmasterの間違いです)まで飛ばなかったというのは
Aliasesファイルの設定がされていなかった、
ということと、sendmailの自Domain名の設定が間違っていたこと、
Rootのmboxが無くなっていたことが原因だと思います。
(と言うのはすべて検証したわけではないからです。)

僕が再インストールをした理由は、
1.管理をしていく上の問題
  ・古いLinuxを使っていてセキュリティ上の危険があったこと
  (実物CDなどを手に入れることができなかった)
  ・パーティションが/とスワップの2つしかなかったこと
  ・Webサーバ用に要らないApp等を削除しようとしたが
  その時点での私の知識では要らないものを手動ですべて削除できなかったこと。
2.時間的な問題
  ・管理と社内システム開発の兼業と言うこともあって
  非常にそのときは時間が限られていたこと
  (残念で仕方ありませんがこちらが一番大きな理由です)

今の自分には、ご指摘を受けるような部分と
自分でそれに対して言い訳をしている部分が非常に多いことと思います。
いまは体験を踏まえて、管理に必要なスキルをつけるため
現在家にLANを組んだり、本を買って読んだりして自習している段階です。
お叱り、罵倒、助言は肥やしとして感謝してお受けいたします。
堅い文面、長文失礼しました。
ご指摘どうもありがとうございました。
004840NGNG
あ、入れ違いになっちゃった。
>Fiveさん
細かい確認手順の方法とご指摘ありがとうございましたm(__)m
0049FiveNGNG
>>47
root の mbox はなければ勝手に作ってくれますよ。

多分 root あてメールが、自ホスト宛てとして認識されないような設定が
どこかにあった(それが自ドメイン名の設定?)のが根本的な原因でしょうね。
あと Alias は /etc/aliase を作って newaliases すれば OK です。

それから古いディストリビューションを抱えてどこまで頑張るかというのは管理者の
重要なスキルの一つだったりします。今はいいでしょうけど、本格的に稼動を
はじめた時にうっかり停止したり再インストールすることが難しくなってきます。

これに対処する手段としては、
o 各機能を、セキュリティ上の脅威・アップデート頻度に応じて分類する
o セキュリティ分類ごとにホストを用意する。
o 各セキュリティ分類ごとに、対応する機能を実装する。
ということもあるでしょう。例えば Web や DNS は対外公開が必要な上に
セキュリティホールが割と頻繁に(年に数回)見つかったりします。その
一方で pop3d とか imapd とかはそれほど頻繁ではないですし、外部からの
直接アクセスを許可する必要もないわけです。そこで、
o 更新頻繁 & 対外公開ホスト
o 更新わずか & 外部非公開ホスト
という風に二つサーバーを立て、前者に Web と DNS を、後者にメールサーバーを
割り当てるという手段が意味を持つと分かります。さらに、負荷や性能や予算や
プロトコルの都合に応じてサーバー計画を立案することになります。

このときにあまり難しく、細かいところまで考えると能力を超えて飽和して
思考停止してしまうので、ほどほどに考えることが重要です。実現不可能な
管理システムというのは、ないも同然ですから。

それでは健闘をお祈りしています。
0050名無しさん@そうだ選挙にいこうNGNG
>>42
うーん、でも他人の構築したサーバはどこに何が入ってるか
わからないし・・・
それこそsshがトロイになってたりとか(藁
このユーザは誰?みたいなのがいろいろあったりして。
私はやっぱり一度まっさらにしないと不安です。
そういう人多いんじゃないかな。
0051名無しさん@そうだ選挙にいこうNGNG
うーん、勉強になった。
0052FiveNGNG
>>50
確かにそれはあります。前任者がタコだった場合に、ゼロから入れなおしたくなる
気持ちはよく分かります。

でも、他人から見れば自分の設定はやはりタコに見えるのですよね。
そうなる原因としては、
- 設定の意図が記録されていない
- 設定内容等が文書化されていない
- 第三者から上記内容が確認されていない
という点にあると思います。

ある統一された意図のもとに設定がなされているときに、その設定の断片だけを
見ると「なんだこりゃ?」となることもあるでしょう。例えばユーザーアカウントで
"web" とかあると「なんだこりゃ?」と思うわけです。しかし、nobody ではなく
web というユーザーとして httpd を動かし、httpd が参照するコンテンツには
nobody へのアクセス許可を与えない (chmod 640 とか) ことによって、
コンテンツに対する無関係な人間のアクセスを拒否するという意図がわかっていれば、
なるほどとなるわけです。
0053FiveNGNG
そこで、
- 意図を明らかにする
- 意図と手段(設定内容)との関係を明らかにする
- 手段が正しく実現されているかを第三者から確認する
というステップを踏むことで、意図不明になることを防止する必要があるという
わけです。某広告代理店系 SI では、
- 手順書を書く人
- 手順書どおりに作業をする人
を意図的に分けることによって、上記手段を強制するようにしています。

ほとんどの組織ではここまで厳重に管理する必要はないと思いますが、新しい
何かを入れるとか、設定を定義・変更・削除する前に、メール等で意図と
設定の内容を書いて誰か(上司等)に送るとかしておくとよいと思います。

トロイ防止等を考慮するのであれば、
- RedHat 等で公開されている rpm のみを用いてインストール
- インストールに用いた rpm を常に保存(証拠保全)
等の手段を考慮すべきでしょうね。社内の人間が信用できないというのだから、
社外で作られたものを信用するしかないということです。
0054名無しさん@アキバまで徒歩30分NGNG
Five さんのおっしゃるとおりですね。

とくに2位以上のチームを組んでサーバを運用管理すると
設定の手順書・設定内容だけではトラブル時には手に負え
なくなることが多いので、かならず「設定ポリシー」を
記述するように心がけています>私

業務の標準化(ISO9000?) という観点からも

設定ポリシー策定
設定手順書作成
設定
テスト
運用
設定ポリシーの見直し

というフローを徐々に標準化していく必要があるのかな
と愚考する今日この頃です
0055名無しさん@アキバまで徒歩30分NGNG
誤字です。

誤>とくに2位以上のチームを組んでサーバを運用管理すると
正>特に2人以上のチームを組んでサーバを運用管理すると

打つだし脳
0056FiveNGNG
>>54
> 設定ポリシー策定
> 設定手順書作成
> 設定
> テスト
> 運用
> 設定ポリシーの見直し

これは重要ですよね。自分のところは若干違いますが、でも同じような感じです。
例えば、SI 案件として受けた場合には、こんな感じで考えてます。
# ここまできちんとするケースは少なくて、たいていは適当に手順を間引く
 ことの方が多いです。時間がないときはぶっつけ本番です。

設定ポリシー策定
- 設定ポリシー草案が顧客から出される
 # ポリシーの形をなしていないことが多い
- インタビューを通じて、意図をなるべく正確に把握するよう努力する
- 手段について検討する(手間、コスト、セキュリティ、性能等)
- 意図が実現されているかどうかを確認するための手段を考える
- 意図と設定・管理手段の整合性を検討し、第三者のレビューを受ける
- 顧客の承認を得る

設定手順書作成
- 顧客の環境と同一(または近いと思われる)環境を整備する
 # 過去の作業手順書があれば、容易に再現可能なはず
- 作業手順をおおまかに決定
 # 最初にバックアップ作業がくるのが通常。
- 同時に、作業をキャンセルする手段についても考える
- 意図が実現されているかどうかをチェックする手順を考える(テスト)
 可能であれば、Perl 等を使ってスクリプトとして実現する
0057FiveNGNG
設定手順書の検証
- 自分で実際にやってみて、抜け・漏れ・ミスをチェック
- キャンセル手順についても同様にチェックする
- テスト手順についても同様にチェック
- 上記結果を手順書に反映
- 誰かに手順書を渡してやらせてみる
- その結果を手順書にフィードバックする
- 顧客に送付する

設定作業実施
 # 私のところでは、顧客側で作業してもらうことが多いです。
- 上記手順書をもとに作業を実施
- もしトラブルが起きた場合には、キャンセル手順を実施
- それでダメなら、バックアップを使って復元作業を実施
- 問題がなければテスト実施後、しばらく様子を見て作業完了とする
- 顧客の承認を得る

運用
- ポリシー策定の時点で決定された管理手段を用いて、監視作業を実行

設定ポリシーの見直し
- 管理スレショルド(閾値)を定義しておき、閾値を超えたときにポリシーを
 どうするかを検討する
0058名無しさん@そうだ選挙にいこうNGNG
すげぇ

なんかめっちゃためになる気がするので保存しちゃった
0059名無しさん@アキバまで徒歩30分NGNG
さすがFive さん。

私は社内の情報システムでサーバ構築とかやっている身分なので
そこまで厳密にやらないのですよ。
ただ運用のことまで見通して設定ポリシーを(粒度が低くても)
決めておかないとあとあと非常に困るということを経験で学ん
で、現在にいたっています。

あと設定ポリシーとか設定手順書って一度作ると結構流用
できるんですよね。少なくとも枠組みの部分は。


>>56
> # ここまできちんとするケースは少なくて、たいていは適当に手順を間引く
> ことの方が多いです。時間がないときはぶっつけ本番です。


たしかに納期が厳しいときは作りながら考えるしかないですよね。

私はスケジュールが厳しいときはこんな感じでやってます。

1. (経験に物を言わせて)ざっくり設定ポリシーと設定案概要と
  運用案概要をエイヤ!でつくってしまう

# この時点で一度上司に「こんな感じでやります」と報告しておく

2. テスト環境で設定してみて、おかしなところがないか確か
める。もしおかしなところがあればポリシー・設定案・運
  用案の微調整を行う。このとき、実際の作業の際のチェッ
  クポイントおよびロールバック手順に関して洗い出しを行う

# この時点で上司に設定ポリシーに関して承認をもらって
# 設定の実施に関してgo サインをもらいます

3. 2.で決定した手順で本番環境に設定をする

4. 設定完了したら、しばらく稼動状況を監視する。

5. 問題ないようであれば、完了とし運用フェーズに移行する


っていう感じですかね。本当に厳しいときは1.2.を机上でやって
しまうという恐ろしいことをやったこともあります。
0060名無しさん@そうだ選挙にいこうNGNG
こういったネットワーク管理の方法論について書かれている
本はありますか?
0061名無しさん@そうだ選挙にいこうNGNG
あげ
0062FiveNGNG
>>60
あんまり見たことがないですね。Unix Magazine で山口先生も管理方法論について
まとまったものがないと仰られていたので、多分ないのだと思います。

周りの人は、ソフトウェア管理の書籍を見て自分流にアレンジしているようです。
自分もそうです。この方面には疎いので決定版のような書籍があるかもしれないの
ですが、とりあえず読みやすさととっつきやすさで以下の本を紹介しておきます。

「人月の神話」R.ブルックス著(ピアソン)
 -- 永遠の名著。含蓄に富む。

「アンチパターン」ブラウン他著(ソフトバンク)
 -- こうすれば失敗する、というアンチパターンを掲載。パターンとは、知恵を
   ある形式で表現したもの。詳しくは「デザインパターン」ガンマ他著
   (ソフトバンク)や「ソフトウェアアーキテクチャ」ブッシュマン他著
   (トッパン: 絶版)を参照。

先に書いた内容というのは、構成管理とテスト技法の部分に相当すると思います。
参考になれば幸いです。
0063FiveNGNG
>>59
トラブルシューティングなんかの場合には、どうしても手順を省略せざるを
得ないですよね。机上の空論にしたいためには、
- どこは省略可能なのか
- どこは省略不可能なのか
といった観点から、重みをつける必要がありますね。この辺をパターンとして
表現すると面白いかも。やってみませんか?。自分の知人でもそういう知恵の
形式化(先に書いたパターン化です)に興味を持っている人が何人かいますし。

参考: JPLoP (http://www.kame-net.com/jplop/)
0064FiveNGNG
s/机上の空論にしたい/机上の空論にしない/

うつだしのう
0065名無しさん@そうだ選挙にいこうNGNG
>>62
ありがとうございます。
やっぱりネットワーク構築・管理の方法論とかになると
専門的すぎるんですかねー?ほとんど業務上のノウハウみたいに
なりますから学術的にはまとめられにくいのかも。
小さい会社だとそこらへんのノウハウが蓄積されないんで
非PC系の仕事がくるととまどうことが多いです。
代替サーバが用意できない、ミッションクリティカルな
サービスが本稼動中、今まで請け負っていたのは他社で
まともな資料がない、そういう状況で作業をするとき、
非常に緊張しますし、これが最善の方法なのかといつも
不安になります。で、こういう条件が特殊なのかというと
そうでもなく、古いシステムはこんな感じでにっちも
さっちもいかなくなって放置されてる(笑)場合が
往々にしてあるわけです。
本当は全部PCベースで置き換えたいんですけどねえ・・・
0066名無しさん@そうだ選挙にいこうNGNG
メールサーバの質問ではなくて恐縮なのですが、社内にプライマリDNSサーバを
二つたてたのですが、どうも新しく立てた方のDNSサーバが週一の割合で
落ちています。/var/log/messagesを見ても特にエラーがでているようには
思えません。毎回気がついた時点で、手動で起動しています。

元々のプライマリDNSサーバ、hogeから
2番目のDNSサーバhoge2へzoneファイルをコピーしたのですが...
------------------------------------------------------------------

[hoge2]>cat /var/named/aaa.zone

@ IN SOA hoge.xx.co.jp. root.hoge.xx.co.jp. (
2000110201 ; Serial
10800 ; Refresh (3 Hour)
3600 ; Retry (1 Hour)
604800 ; Expire (1 Week)
10800 ) ; TTL (3 Hour@` Normal=86400)
;
; Primary Name Server
;
IN NS hoge.xx.co.jp.
IN NS hoge2.xx.co.jp. ←追加のhoge2

       ....以下略
------------------------------------------------------------------
書いていて気がついたのですが、IN SOA hogeは、IN SOA hoge2
と書かなければいけないのですかね?
0067Five@会社NGNG
>>66
なぜ Primary DNS Server を二つ立てるのでしょうか。
ゾーンファイルをコピーしたということは、同じゾーンですよね。
普通なら Primary は一つで、それ以外のサーバーを Secondary にしますよね。
0068名無しさん@そうだ選挙にいこうNGNG
以前、ここのネットワーク板で教わったのですが、DNSの二重化を
したいと質問をしたところ、単に、primary、DNSを
二つ立てておけば、よいと聞いたからです。
SecondaryDNSはプロバイダにあります。

これってだめなのですか?
0069FiveNGNG
それはまずいでしょう。

普通は Primary 1 つと Secondary を任意の個数という風にします。
というか、そうでないと全サーバーで同じ情報を共有するのが困難に
なりますよね。Primary/Secondary といっても、クライアントから見たときに
区別はつきません。単に情報の一次ソースを持っているのが Primary で
そうでないのが Secondary であるだけです。

ところで、二つの Primary というときに、
・対内向け
・対外向け (Firewall 上)
ということはないですよね。つまりそれぞれ役割が異なるということですが。
もし役割が異なるのであればまた話は別です。
# ただその場合には対内向けの zone 情報ファイルをそのままコピーするような
 真似はしないと思いますが・・・。

あと、@ IN SOA のところは当然 hoge2 を書きます。
■ このスレッドは過去ログ倉庫に格納されています