サーバ - みる会図書館


検索対象: BSD hacks : プロが使うテクニック&ツール100選
130件見つかりました。

1. BSD hacks : プロが使うテクニック&ツール100選

DNS レコードとツールを理解ー 227 4 つのネームサーバのうち、 2 つはネットワーク 204.101.252 にあり、他の 2 つはネットワー ク 209.226.175 にある。これは、実に好ましいネットワーク設計だ。有名な企業に対する攻撃 が何度も成功したのは、 DNS サーバが同じネットワークの同じサプネット内にあったことが 原因だった ( Microso れの DNS の問題については、次の記事を見てほしい。 http://www.find articles.com/cf dls/m0FOX/3 6 / 75645162 / pl / article. jhtml ) 。 実際にこのような保護を実現するためには、他の企業に、自分の DNS データベースをコ ピーするホストになってくれるように依頼しなければならない。その企業は ISP でもよいし、 自社の関連企業でもよい。このようにすれば冗長性が高くなるが、複雑になるし、信頼性に 別の要素が加わる。一方で、 DNS サーバを最新バージョンに維持し、完全にパッチをあて、 安全に設定する必要がある。さらに他方で、別の管理者と共に働き、自分の DNS サーバのた めに同じ時間と労力を割いてくれるものと仮定する必要がある。 どんなネットワーク構成の場合でも、誰かが「ゾーン転送」の問題に取り組まなければな らない。 DNS では、データベースを「ゾーン」と呼ぶ。ゾーンはグローバルに分散した DNS データベースの一部となる。自分のゾーンを変更する必要があるときには、プライマリ DNS サーバ上のデータベースを編集する。ただし、冗長性を実現するために、少なくとも 1 つの セカンダリ DNS サーバを実装しなければならない。データベースの変更を、どのようにして セカンダリ DNS に伝達すればよいのだろうか。「ゾーン転送を利用すればよい」と推測した とすれば、それは正しい。 こで、エンドユーザと管理者を区別することが重要だ。例としてホスト名の解決を考え てみる。工ンドユーザは、インターネットのリソースにアクセスするために、その機能が必 要である。管理者は、ホスト名の解決を自分の DNS サーバで実施したい。さもなければ、多 くの不幸なエンドユーザの不満を聞かなければならない。 しかし工ンドユーザは、あなたの DNS データベース全体の内容を知る必要はない。また、 自分のネットワーク内のあらゆるホストの名前と IP アドレスを、世界中に知らせる必要もな い。少々この問題について考えてほしい。きっと読者のネットワークには、 finance( 財務 ) 、 hr (human relations : 人事 ) 、 patents ( 特許 ) 、 store ( 保管 ) 、 admin ( 管理 ) という名前のマシンが あるだろう。悪意あるユーザは、これらの名前を想像するにちがいない。 ニ面的なアプローチ 世界に見せたくない情報が DNS サーバから漏れることを防ぐため、二面的なアプローチを とることができる。最初のアプローチは「分割 ( split ) DNS 」という方法だ。それは、内部ネッ トワークに完全な DNS ゾーンを設定し、そのゾーンのうちの一部を DMZ すに置く方法であ す訳注 : DMZ (DeMiIitarized zone) とは、外部ネットワーク ( インターネット ) と内部ネットワー クの間に設けた緩衝地帯のことだ。外部に公開するサーバを DMZ に配置すれば、外部から DMZ 内のサーバにアクセスできるが、外部から内部ネットワークにはアクセスできない。 HAC K # 47

2. BSD hacks : プロが使うテクニック&ツール100選

プートプロセスを保護 ・ http://www.baldwin.cx/splash ( スプラッシュ画像の例 ) プートプロセスを保護 許可なくシステムに物理的にアクセスすることを防ぐ H A C K : # 25 しゃれたプート環境を作成することは、ユーザにとって好ましいことだと言える。 1 19 しかし、 HAC K # 25 サーバをプートするとなると、意識が自動的にセキュリティモードに移っていく。目標は、か なり限られた場合にのみ、かなり限られた人だけが、サーバ上でプートプロセスを見ること ができるように制限することである。なにしろ、セキュリティの世界の大原則は、「物理的な アクセスは完全なアクセスに等しい」なのだから。 こで、典型的な例を紹介する。 root のパスワードがわからないとき、または忘れたとき に、システムを復旧することを考えてみる。サーバルームに行ってシステムを再起動し、キー を押してプートプロセスに割り込み、パスワードを変更する。数秒後には、システムはいつ ものプートプロセスを再開する。管理者が root のパスワードを明かさないで去ってしまった とき、これは本当の救命具になる。しかし、許可していないユーザがそのサーバに物理的に アクセスしたとしたら、どんなセキュリティの問題が発生するかを考えてほしい。そう、簡 単に root でアクセスできてしまうのだ。 許可のない再起動を制限 ます始めに、一般ューザが不注意で、または故意にシステムを再起動することを防止して みる。デフォルトの設定では、ユーザが CCtrl] + CAlt] + CDelete] を押すと、システム は片づけをして再起動する。一般に、これがサーバで問題になることはない。ほとんどの場 合、サーバの管理をリモートから実行することが多いし、安全なサーバルームに置いて鍵を 閉めていることが多いからだ。しかし、ワークステーションの場合には破壊につながること がある。特に、ユーザに Wmdows 環境の経験があり、 CCtrl) + CAlt] + CDelete] の操作 に慣れている場合には、問題が発生しやすくなる。サーバ上でもこの操作を禁止する価値が ある。そうすれば、システムを再起動するには、スーパーユーザになって reboot コマンドを 実行しなければならないからだ。 SSH を使用してリモートマシンにログインしている場合、 [Ct 「ロ十 CAlt] 十 CDeIete] を押しても、その影響が及ぶのはローカルマシンだけであり、リモー トマシンには作用しない。しかし、 reb00t はネットワークを越えても働くので注 意してほしい。

3. BSD hacks : プロが使うテクニック&ツール100選

PO 「 ts ツリーなしで po 「 ts をビルドー 407 匿名 CVS に接続 初めて ( vs を使用するとき空の CVS パスワードファイルを作成しなければならない。この ファイルが存在しないと CVS はエラーを出す。 # touch ~ て 00t /. ( vspass 次に作業ディレクトリを /usr に移す。 # cd /usr cvs を使用して po 「 ts を保守するときには必ず / u 立で作業しなければならない。 、 ( vs は現在のワーキングディレクトリにファイルをダウンロードし、同じ名前の ファイルをすべて上書きする。 次に cvs login コマンドを実行して CVS サーバに接続する。 FreeBSD の匿名 cvs サーバ は 5 つある。匿名 CVS サーバの名前とパスワードについては、この Hack の最後で紹介する fFreeBSDHandbook 』のページを参照してほしい。 setenv コマンドでログイン先のサーバを 指定する。 # setenv CVSRWT : pserver: anoncvs@anoncvs.at.FreeBSD.org/home/ncvs # cvs login Logging in t0 : pserver:anoncvs@anoncvs.at.freebsd.org : 2401/home/ncvs CVS password : anoncvs ログインに成功すると通常のプロンプトが返ってくる。明示的にログアウトするまでは CVS サーバに接続したままになっている。こうなった後は、 cvs サーバのコマンドとローカ ルシステムのコマンドのどちらでも実行することができる。 ports のスケルトンをチェックアウト 最小限の構成だけをインストールしており、 /usr/ports のディレクトリ構造が存在しない と仮定する。 po ホをインストールするには、 po ホの Makefi1e だけでなく Mk ディレクトリと Temp1ates ディレクトリも必要だ。 CVS サーバから必要なファイルを取り出すには cvs che ( kout コマンドを実行する。 # cvs checkout -A -P ports/Mk cvs server: Updating ports/Mk U ports/Mk/bsd. emacs. mk HACK # 82

4. BSD hacks : プロが使うテクニック&ツール100選

HACK 226 ー # 47 5 章ネットワーク らのサーバには MX(maiIexchange) レコードがあるので、 mx を問い合わせればよい。 % dig mx sympatico ・ ca くバナーを省略〉 ; ANSWER SECTION: sympatico. ca. sympatico. ca. sympatico. ca. sympatico. ca. ; AUTHORITY SECTION : sympatico. ca. sympatico. ca. sympatico. ca. sympatico. ca. ; ADDITIONAL SECTION : smtpip. sympatico. ca. mtal. sympatico. ca. mta2. sympatico. ca. mta3. sympatico. ca. く省略〉 この ISP には 4 つの SMTP サーバがあるようだ。これらのうち、どのサーバを使用するの かを覚えておきたい。 MX レコードには、必ず優先順位の値が入っている。この例ではすべてのメールサーバの優 先順位が 5 なので、どのメールサーバの優先順位も同じだ。場合によっては、特定のメール サーバの優先順位が大きい値になっていることがある。優先順位の値が「小さい」メールサー バのほうが優先度が高い。したがって、この値が小さいメールサーバに電子メールの送信を 試みるべきだ。優先順位が 0 であれば、そのメールサーバを必ず使用するべきだ。メールク ライアントを使用しないで電子メールを送信するつもりなら ([Hack # 48D 、この情報を知って おくとよい。 5 smtpip. sympatico. ca. 5 mtal. sympatico. ca. 5 mta2. sympatico. ca. 5 mta3. sympatico. ca. 27 8s IN MX 27m48S IN MX 27m48S IN MX 27m48S IN MX dns2. sympatico. ca. ns5. bellnexxia. net. ns6. bellnexxia. net. dnsl. sympatico. ca. 2h34m29S IN NS 2h34m29S IN NS 2h34m29S IN NS 2h34m29S IN NS 4- 0 4 よっ 4 8 8 8 8 4 ↓ 1 イよイよ 0 ノ 0 ノ っムっ 4 っ 4 っ 4 28m30S IN A 13m56S IN A 28m30S IN A 13m56S IN A DNS のセキュリティ 少しの間、管理者の帽子をかぶり、 dig の出力を再び調べてみよう。ネームサーバが別の ネットワークに存在していたのに気づいただろうか。もう一度 DNS サーバの A レコードを眺 めてみる。 dns2. sympatico. ca. ns5. bellnexxia. net. ns6. bellnexxia. net. dnsl. sympatico. ca. 8m36S IN A 9m55S IN A 18m57S IN A 13m38S IN A 204.101.251.2 209.226.175.236 209.226.175.237 204.101.251.1

5. BSD hacks : プロが使うテクニック&ツール100選

HAC K # 48 230 ー 5 章ネットワーク メールクライアントなしで電子メールを送受信 SMTP と POP3 との対話方法を学ぶ 一般的な認識と違って、電子メールをチェックしたり、すばやく電子メールメッセージを 送信したりするだけなら、わざわざ電子メールクライアントを設定する必要はない。 普通 telnet アプリケーションを使用するときには Telnet クライアントを使用して、ポート 23 で待機している Telnet サーバに接続する。いったん接続すれば、そのシステムにログイン して、まるで物理的にそこにいるかのように、キーポードから入力して何でも実行すること ができる。 Telnet クライアントにはさらに強力な機能が備わっている。 telnet コマンドでポート番号 を指定すると、そのポートで待機している TCP サーバに直に接続することができる。どのコ マンドにサーバが応答できるかを知っており、そのサービスがテキスト形式のコマンドを理 解できれば、直接そのサーバと対話することができる。これは、そのサーバに固有のクライ アントアプリケーションを使用する必要がないことを意味する。 H A C K telnet で電子メールを送信 電子メールを送信するときには、ポート 25 で待機している SMTP サーバに接続する。 telnet を使用して、背後で実際にどんなことが起こっているか、そしてクライアントと SMTP サー バがどんなコマンドを交換しているかを見てみる。以降の例では、罪のない人を保護するた めに、名前とアドレスを置き換えて示している。 % telnet smtp.mycompany.com 25 Trying 1.2.3.4.. Connected t0 smtp. mycompany. ( om. Escape character iS 220 smtp.mycompany.com ESMTP server (InterMai1 version x) ready Sun, 2 NOV 2003 09 : 54 : 18 -0500 mail from: く moi@mycompany.com〉 250 Sender く moi@mycompany.( om 〉 0k rcpt to: く you@mycompany.com〉 250 Recipient く you@mycompany.com 〉 0k data 354 Ok Send data ending with く CRLF>. く CRLF> This is a test message. N0t very interesting, て eally. 250 Message received: 20031102145448.8N15340. smtp. my ( ompany. ( 0 [ 1.2.3.4 ] quit

6. BSD hacks : プロが使うテクニック&ツール100選

サーバなしで Windows の共有ファイルにアクセス ・ man fstab ・ man fdformat ・ man bsdlabel ma n n ewfS 参照 87 HAC K # 19 fFreeBSD Handbook 』の「 Creating and Using FI 叩 pies 」のセクション (http : / / w . freebsd.org/doc/en US. IS08859-1/b00ks/handbook/floppies. html) fFreeBSD Handbook 』の「 Mounting and Unmounting File Systems 」のセクション (http://www.freebsd.org/doc/en US. IS08859-I/books/handbook/mount-unmount. html 、日 本語版は http://www.freebsd.org/doc/ja JP. eucJP/books/handbook/mount-unmount. html) H A C K ストールするための po れ s がある。他のプラットフォームについては、 Sharity-Light の Web 有リソースをマウントすることが可能になる。 FreeBSD には、このアプリケーションをイン 討してみるとよい。このアプリケーションを利用すると、 Unix システムから Wrndows の共 Sharity-Light ( 以前は Rumba と呼ばれていた ) を Un ⅸシステムにインストールすることを検 読者の小さなネットワークに Microsoft と Unix のクライアントが混在しているとしたら、 Sharity-Light をインストールして設定 の鉢に花を植えるために、パワーショベルを持ってくる人はいないだろう。 かもしれない。実際にやりたいことに合わせて、適切なサイズのツールを使用すべきだ。窓 う。 Windows 阪システムと Unix システムとの間で、いくつかのファイルを共有したいだけ きるが、ホームオフィスや小規模なオフィスのネットワークでは、そこまでは必要ないだろ 管理の専門家がいるわけでもない。もちろん、 Samba をインストールして設定することもで すべてのネットワークに、商用のサーバ OS を使用するだけの予算があるわけではないし、 こかに、少なくとも 1 台の NT サーバまたは 2000 サーバが必要になる。 SMB (ServerMessageBlock) の「サーバ」が必要になることだ。つまり、ネットワークのど れらのユーティリティには注意点がある。それは、ファイル共有サーピスを提供するために マウントし、 Microsoft ネットワーク上のリソースにアクセスすることができる。ただし、 mount smbfs ユーティリテイや smbutil ユーティリティを利用して Windows の共有リソースを を利用できるという話を、きっと耳にしたことがあるだろう。例えば FreeBSD では、 Microsoft システム上のファイルにアクセスするために、いくつかの Unix ユーティリティ 最小限の労力で Windows と FreeBSD の間でファイルを共有する サーバなしで Windows の共有ファイルにアクセス

7. BSD hacks : プロが使うテクニック&ツール100選

HAC K # 51 242 ー 5 章 参照 ネットワーク ・ man ppp ・ man pppd ・ man hOSt. conf H A C K この変更を、次のコマンドでテストする。 ればよい。 . netrc ファイルを作成するときには、パスワードとして自分の電子メールアドレスを使用す サーバを除き、インターネット上のほとんどの FTP サーバで使用できるだろう ) 。自分で この設定は、匿名 (anonymous) ログインを受け付けるドサーバに作用する ( 非公開の P default login anonymous password genisis@istar.ca % more ~ /. netrc ためには、ホームディレクトリに . netrc ファイルを作成し、以下の行を書き込めばよい。 コマンドラインの ftp でも、同じように透過的なログインを実現することができる。その ら、背後で自動的に処理を行って、ログインの詳細を隠してくれる。 きない。つまり、必すドサーバにログインしなければならないのである。 Web プラウザな ラインだと、 FTP サーバにログインしなければド PP のディレクトリ構造をたどることさえで ロードを開始するには、単にハイバーリンクをクリックするだけでよい。ところがコマンド 最近のプラウザで、非常に簡単にド rp を使用できることに気づいているだろうか。ダウン ログインを自動化 ドを自動化することが望ましい。 ドしたり、同じディレクトリにアップロードしたりすることがあるだろう。そんなときには、 おそらく、常に ftp を使用して同じドサーバに接続し、同じディレクトリからダウンロー れる日がやってくるだろう。 ページを見る必要さえないだろうが、もちろん、いすれ何かをダウンロードする必要に迫ら インストールしていないシステムにログインしていたものだ。幸運なときにはマニュアル で効率的かをつい忘れがちになる。以前は、 X やプラウザやファンシーなド PP プログラムを GUI と豊富な機能を備えたプラウザがある現代では、コマンドラインの ftp がいかに迅速 マクロとスクリプトを利用して、ありふれた代 p を最大限に活用する FTP を最大限に活用 ・ man nsswitch. conf

8. BSD hacks : プロが使うテクニック&ツール100選

HACK ー 369 # 74 Web サーバのログを統合 # su WWW % 55h 10gh05t -1 loguse て date どうか確認してほしい。 次に手作業で ( opier を実行し、ログファイルを実際にログサーバに送信できることを確認 する。 web サーバ上で出力を監視し、新たにコピーしたログがログサーバの save / 0 に入って いるかどうか調べる。 これらの手作業のテスト結果に満足したら、ログファイルのコピーと整理をするために ( ron ジョブのスケジュールを組む。これらのジョブを、 web サーバのユーザとして実行すべ きだ。 このコマンドが失敗したら、ファイルのバーニッションを 600 に設定しているか # crontab -e -u www - 省路 - # 15 分おきに収集ホストにログファイルをコピー 0 , 15 , 30 , 45 * * * * /home/www/bin/copier # 1 時間おきに tmp ティレクトリを掃除 0 * * * * /home/www/bin/cleantmp - 省路 - 次回の ( opier の実行を待ち、ログホストでバッチが動いたら終了だ。 ログホスト上でスクリプトを設定 いくつかのバッチが入っているはずだ。それぞれのバッチ 現在、ログッリーの save / 0 に には、バッチ間隔 ( デフォルトでは 5 分 ) ごとに収集したログ行が入っている。また、ファイ ル名はインスタンス (site 、 virtual 、 secure) 、タイプ (access 、 e Ⅱ 0 ム ssl) 、 Web サーバホス ト、バッチを作成したときのタイムスタンプ、バッチを作成した batcher プロセスの PID を 示している。 次にログ処理スクリプトを bin/ にインストールする。 # cp $srcdir/collector/{arclogs,cleantmp,collect} bin/ これらのスクリプトを新しい場所のパスに合わせて変更し、表 7-2 に示す OS の依存関係 を置き換える。

9. BSD hacks : プロが使うテクニック&ツール100選

PF を使用して無線ネットワークを保護 pass in on $int if 行く authorized hosts 〉 t0 any keep state pass out on $int if from any t0 く authorized h0StS> keep state ー 323 HACK # 65 これらのルールの直後に、未許可のホストが Web サーバと DNS サーバにアクセスできる ようにするためのルールを追加する。 pass in on $int if proto tcp from ! く authorized hosts 〉 t0 $auth server pass in on $int if proto {tcp, udp} from any t0 $dns server port domain \ keep state これで、 authorized hosts テープルのすべてのホストが、インターネットに完全にアクセス することができる。他のホストは、名前の検索と Web サーバへのアクセスだけを実施でき る。さらに、いくつかの簡単なルールを追加して、許可していないユーザが Web サイトを参 照しようとしたときに拒否ページを表示してみる。 NAT セクションに次のルールを追加する。 rdr on $int if proto tcp from ! く authorized h0StS> t0 any port www - 〉 \ $auth server このルールは、未許可のホストがリモートマシンの翻ポートへのアクセスを試みると、そ のアクセスを拒否ページを返す Web サーバにリダイレクトする。ファイアウォールのポック スまたは別個のマシンに、 Web サーバをインストールしてもかまわない。筆者の場合、他の Web サーバと混同することを防ぐため、ファイアウォール上で Apache を実行し、 127.0.0.1 とポート 8080 で待機させている。 Apache を設定 OpenBSD をインストールすると Apache もデフォルトで入っている。そこで Apache の設 定を変更し、ゲートウェイ ()P アドレス 127.0.0.1 ) のポート 8080 上で待機し、すべての URL に対して同じページを返すように設定する。 (Apache は、 FreeBSD の po ホコレクションと NetBSD のパッケージコレクションからも入手できる。 ) 最初に、 /etc/rc. conf の httpd flags パラメータで、 Apache を起動するように設定する。次 に、 Apache の設定ファイル /var/www/conf/httpd.conf を編集する必要がある。 Listen ディレ クテイプを探し、 127.0.0.1 : 8080 を追加する。そして以下のような VirtuaIHost 工ントリを作 成する。 く VirtuaIHost 127.0.0.1 : 8080 > ServerAdmin none DocumentRoot /var/www/auth

10. BSD hacks : プロが使うテクニック&ツール100選

HACK # 66 326 ー 6 章 それこそが、 IPFilter のセットアップスクリプトの目的だ。つまり、 FreeBSD と IPFiIter を システムのセキュリティ そうすれば友人を保護できるので安心だし、システムのセットアップ方法を示すために時間 初心者でない人は、このスクリプトを FreeBSD を使い始めた友人に紹介する価値がある。 設定の知識がなくても典型的なファイアウォールをセットアップできるはすだ。 ウォールの利点を存分に享受することができる。実際このスクリプトがあれば、 FreeBSD の 設定ルールを生成することだ。初心者でさえ、あらかじめ構文を学ばなくても、ファイア 使用して、典型的な SOHO ( スモールオフィスおよびホームオフィス ) のファイアウォールの をとる必要もない。 スクリプトが実行すること このスクリプトでは、簡単な質疑応答形式のテキストインタフェースを使用する。 クリプトは主に以下の 4 つのセクションに分かれる。 ネットワークと旧 F ⅱ te 「ファイアウォールおよび旧 NAT を設定 このス このセクションでは、手作業または DHCP によって、内部および外部のネットワー クカードインタフェースの IP アドレスを設定する。外部ネットワークインタフェー ス上で、ステートフル ( 上位層の状態も把握 ) なファイアウォールのルールを作成す る。また、内部ネットワークインタフェースで、インターネット接続を共有するため に NAT を設定する。 ADSL の PPPOE を設定 このセクションでは、ログイン名、パスワード、イーサネット NIC の入力を要求し、 これらの情報を基に / etc / ppp / ppp. ( onf ファイルを生成する。また、必要な PPP 変数 を / etc / 江 . ( onf に挿入する。これで、システムのプート時に userlandPPP が起動 をインストールすることを提案する。 いなければ、 po ホシステムまたはコンパイル済みのパッケージから最新バー ISC の DHCP サーバをインストールしてあるかどうかを調べる。インストールして DHCP サーバを設定 する。 ション して DHCP サーバを設定する。 用する IP アドレスの範囲とサプネットマスクの入力を要求し、これらの情報を基に レス、デフォルトゲートウェイとして使用する内部 NIC のアドレス、内部 IAN で使 DHCP サーバをインストールした後で、このスクリプトは ISP の DNS サーバのアド