ネットワーク - みる会図書館


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

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

ワンタイムバスワードを使用 ・行 47 ~ 48 一時的ファイルを片付ける。 参照 ・ man apg ・ man mktemp ・ APG の Web サイト (http://www.adel.nursat.kz/apg/) 状況では、ワンタイムパスワードが真の救命具になるだろう。 : # 33 H A C K 複雑なバスワードでもセキュリティの要求を満たせないことがある ワンタイムバスワードを使用 ・ FIPS 181 の APG 規格 (http://www.itl.nist.gov/fipspubs/fip181.htm) 155 HAC K # 33 あなたが会社の外にいて、公共の場所にある安全でないコンピュータから社内ネットワー クにアクセスする必要があるとしたら、パスワードが漏洩する危険性が高くなる。あなたが ネットワークにログインするとき、隣の人が肩ごしに盗み見をしているかもしれない。あな OP 旧を設定 たが使用するコンピュータに、 れない。ネットワーク上のどこかで、誰かがバケットを傍受しているかもしれない。こんな スパイウェアやキーロガーがインストールされているかもし Only use this method from the console; NEVER 行 om remote. If you are using Adding dru: % opiepasswd - ( スイッチ ( ィ ) を指定する。 の前に座っており、パスフレーズを入力しても安全だということを示すために、コンソール の前に座っているときにこのコマンドを実行する。自分がワークステーションのコンソール 外出先から自分のワークステーションにアクセスするつもりなら、そのワークステーション 最初に、 opiepasswd を使用して、 OPIE データベース /etc/opiekeys に自分自身を登録する。 先からアクセスするシステムに、通常のユーザアカウントでログインしなければならない。 スネットワークに接続している間に OPIE を設定しておくとよい。設定するときには、外出 離れる前に OPIE を設定するべきだ。例えばノートパソコンを携えて出張するとき、オフィ サーバで商用のソフトウェアを実行する必要もない。理想的には、安全なネットワークから PasswordsInEverything) が付属している。設定は簡単だし、追加のハードウェアは不要だし、 FreeBSD には、ソフトウェアの OTP (OneTime Password) システムとして、 OPIE (One-time

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

ー 207 多数の無線 NIC を設定 ネットワークに、固有の SSID (servicesetidentifier) を割り当てる。また、 WEP を使用する サイトでは、固有の暗号化鍵も割り当てる必要がある。静的な IP アドレスを使用するネット ワークもあれば、 DHCP サーバを使用するネットワークもあるだろう。 それぞれのネットワークの設定情報を書き記したメモを財布に入れて持ち歩き、それぞれ のサイトで手作業で NIC を変更してもかまわない。しかし、各ネットワークの設定を自動化 し、システムのプート時に望みの設定を選択できるようにするほうが好ましい。 こでは、設定の練習の目的から、すでに無線アクセスポイントを適切に設定して正常に 動作していると仮定する。 必要な情報を収集 ネットワークの設定スクリプトを書く前に、以下の情報を収集する必要がある。必要な情 ・ authmode 、ネットワーク許可モード (none 、 open 、または shared) 報をできるだけ if ( onfig のキーワードに結びつけながら説明する。これらのキーワードを設 ・ ssid 、無線ネットワーク名 定スクリプトで使用する。 名 ( Ethernet または 802.11 ) と MAC アドレスに該当するデバイス名を探せばよい。 ネットワークデバイスの名前がわからなければ、 dmesg を実行し、ネットワークプロトコル 入手できる。 最後の項目を除き、すべての情報を、各サイトの無線アクセスポイントを設定した人から ネットワークデバイス (wi0 、 an0 など ) ネームサーバ ( 静的な IP 設定の場合 ) デフォルトゲートウェイ ( 静的な IP 設定の場合 ) ・ netmask 、静的なネットワーク設定で使用するネットマスク ・ inet 、 IP アドレス ( 静的な IP アドレスを使用する場合 ) 情報を取得するか ・静的な IP アドレスを使用するか、それとも dhclient を指定して動的に IP アドレス ・ nwkey 、 16 進の暗号化鍵 HAC K # 44

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

HACK # 45 212 ー 5 章 参照 ネットワーク し、他のユーザのリソースを使用する前に許可を得ることを忘れてはいけない。 H A C K ・ man route ・ man ifconfig ・ man dhclient インターネットの破滅的な障害を乗り切る 機器 ( ルータなど ) が該当する。 変換する。 NAT ボックスとは、 NAT の機能を実現する装置であり、一般にルーティングをする 組織内のローカル IP アドレスとインターネット上のグローバル IP アドレスとを透過的に相互に す訳注 : NAT とは、複数のコンピュータで 1 つのグローバル IP アドレスを共有する技術であり、 インターネットに接続し、静的な IP アドレスを使用する。普段、プロバイダのサービスはと ホームネットワークや企業ネットワークを十分に扱うことができる。 DSL プリッジを主要な このコンピュータではファイアウォールと NAT サービスを実行するだけなので、小規模な おいた プリッジに、もう一方を他のネットワークに接続した。さらに 56k の ISA モデムも用意して れるように構成した。このコンピュータに 2 枚のネットワークカードを装着し、一方を DSL 筆者の場合、 486 マシンで OpenBSD を動かし、ネットワークのあらゆる接続障害に耐えら ハードウェア構成 だった。 ントの状態を管理する XML べースのインスタントメッセージプロトコル ) を扱うというもの ファイアウォールに NAT を設定し、短い Ruby のプログラムで Jabber プロトコル ( クライア は、まさにそのようなシステムをセットアップしたことがある。その構成は、 OpenBSD の ネットワークが接続の消失を検知して、元の状態に復旧してくれることが望ましい。筆者 ともできない。 くなってしまう。 ping や telnet を試してネットワークの神に祈ってみたものの、どうするこ などが考えられる。あなたは海の上に放り出され、どうすれば家に帰れるのか見当もつかな が抜けた、 NAT(NetworkAddressTranslation) ポックスすの背後にあるサーバがダウンした る間に、接続がダウンしてしまうことがある。その原因として、 ISP による切断、ケープル いつの日か、きっと次のような出来事を経験するに違いない。ネットワークから離れてい ・一インターネットの完全な破滅から復旧できるようにネットワークを準備する

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

ー 321 H A C K 802.11 無線ネットワークが広まってくるにつれ、重大な疑問が持ち上がってきた。許可を ・一内部の無線ネットワークを未許可の使用から保護する PF を使用して無線ネットワークを保護 PF を使用して無線ネットワークを保護 定のほうだ。 その範囲で有効な IP アドレスを要求することができる。セキュリティをかけるのは PF の設 要求してきたホストに、先着順で割り当てる。どんなマシンでも、ネットワークに接続して、 IP アドレスを 192.168.0.101 ~ 192.168.0.254 の範囲で用意し、 DHCP を通してアドレスを ウェイは 192.168.0.1 であり、さらにネットワークの DNS サーバとしても設定されている。 この例では、サプネット 192.168.0.0 / 24 を使用している。ファイアウォールと NAT ゲート range 192.168.0.101 192.168.0.254 ; subnet 192.168.0.0 netmask 255.255.255.0 { option option routers 192.168.0.1 ; domain-name-servers 192.168.0.1 ; default-lease-time 120 ; max-lease-time 300 ; shared-network GUEST-NET { こでは、以下の /etc/dhcpd. conf で簡単に DHCP を設定する。 DHCP を設定 この Hack では、 dhcpd 、 PF 、 Apache を使用する。 見ることができない。 できる。未登録のクライアントは、内部ネットワークだということを伝える Web ページしか マンドでテープルを更新できる。登録したクライアントだけが、インターネットにアクセス (PacketFilter) があれば、許可したクライアントのテープルを保守できるし、 1 つのシェルコ いユーザからのアクセスを防護できるが、保守するのは難しいことがある。 OpenBSD の PF WEP (Wireless Encryption Protocol) と MAC アクセスリストを使用すれば、許可していな うか。 与えたシステムだけが使用できるように、無線ネットワークを保護することはできるのだろ HACK # 65

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

HACK # 44 208 ー 5 章 ネットワーク # dmesg ー grep address r10 : Ethernet address: 00 : 08 : 02 : 9e : df : b8 wi0: 802.11 address: 00 : 06 : 25 : 17 : 74 : be r10 はケープルでつないだイーサネットボートのデバイス名であり、 wi0 は無線の PCMCIA カードのデバイス名だ。 スクリプトの構成 スクリプトは引数としてセクション名を受け取り、そのセクション名に応じた設定を レスを使用する場合 ) を置き、その後に場所の名前を付ける。 それぞれのセクション名の先頭に d ( DHCP を使用する場合 ) または s ( 静的な IP アド それぞれの設定を、 ( ase 文で各セクションに分割する。 きる。 スクリプトに引数 stop を指定して、個別のネットワークデバイスを簡単に停止で それぞれのネットワークデバイスごとに専用のスクリプトを用意する。そうすれば、 トを実行したくないので、スクリプト名の最後に . sh を付けてはいけない。 スクリプトを /usr/local/etc/rc. d に置く。システムがプートするときにはスクリプ 各スクリプトの名前を、そのスクリプトで制御するネットワークデバイス名にする。 ネットワークデバイスの設定スクリプトを、以下のように構成する。 設定しなければならない。 ・ DHCP で WEP を使用するには、 dhclient を実行する前にデバイスに暗号化コードを 選択する。 アドレスと WEP を使用する場合、そして姉妹の家で DHCP と WEP を使用する場合だ。表 宅のホームネットワークで DHCP と WEP を使用する場合、ホームネットワークで静的な IP いう名前にする。筆者の場合、次の 3 つの状況でノートパソコンを使用する傾向がある。自 この例では、ネットワークデバイスが wi0 なので、スクリプトを /usr/local/etc/rc. d/wi0 と 名の一覧を出力する。 ワイルドカード ( * ) セクションは、無効な引数が与えられたとき、有効なセクション ・ status セクションを選ぶと、デバイスについて現在のネットワーク情報を表示する。

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

各種のアプリケーション向けに F 「 eeBSD をチュー #ifndef COMPILING LINT #include "opt lint. h" #ifdef SMP メールサーバを最適化 #endif #endif #error DEVICE POLLING is not compatible with SMP 二ング ー 345 HACK # 69 一般にメールサーバでは、ネットワーク接続の数は非常に多いが、短時間で少量のデータ を転送するとすぐに接続を閉じる。このような場合、多数の小さなネットワークバッフアを 用意すると便利だ。 ネットワーク接続には、送信用と受信用の 2 つのバッフアが必要になる。バッフアのサイ ズは、どれくらいすばやくデータを転送できるかを左右する。また、ネットワークが遅延し た場合には、問題になる前にどれくらいのデータのバックアップをとっておくことができる かを左右する。ネットワークバッフアが小さすぎると、 CPU がネットワークをクリアするた めに待機してデータを処理する回数が増えるので、 CPU のオーバーヘッドが増大する。ネッ トワークバッフアが大きすぎると、バッフアの効率が悪くなりメモリを浪費してしまう。う まくバランスをとることがチューニングの鍵となる。 経験から言うと、確立される接続の数に 32 をかけた数を用意すれば、トラフィックが異常 に急増した場合でも余裕がある。筆者は、試行錯誤を繰り返してこの値を見つけた。例えば、 最大で 128 のサーバが同時にメールを送信すると予想するなら、それぞれ送信用と受信用の 2 つのバッフアを用意し、さらに 32 をかけて、ネットワークバッファクラスタの数を 8 , 192 にするとよい ( 128 x 送受信で 2 x 32 = 8 , 192 ) 。また、接続が完全に閉じるまでに 2 分以上 かかるかもしれないことも覚えておいてほしい。特定の 2 分の間に 128 通以上の電子メール を扱うことがあると予想するなら、それに応じて数を増やさなければならない。 もう 1 つ、調節すべき重要な値がある。ソケットの最大数である。ネットワークバッファ と同じ数のソケットで始め、そこから適切な数にチューニングすればよい。 ネットワークバッファクラスタの数を調べるには、 netstat -m コマンドを実行すればよい。 そして、これらの値を /boot/loader. conf で指定することができる。 kern. ipc. nmbclusters=8192 kern. ipc. maxsockets=8192 どんな性能をチューニングする場合でもそうだが、変更した後でシステムを観察する必要 がある。必要な項目を過大評価、あるいは過小評価していないだろうか。調査結果に基づい て、必ず調整を行わねばならない。

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

Windows コンピュータのネットワークでウイルスをスキャン Windows コンビュータのネットワークで 暠ウイルスをスキャン H A C K ー 335 HACK # 68 ダウンロードと電子メールの判断基準をユーザに教育したとしても、ウイルスの問題を経験す ることがある どんな規模のネットワークでも、アンチウイルスソフトウェアの年間契約料はとても高い。 FreeBSD の利点をネットワークサーバに活用したとすると、もっと簡単で安価なアンチウイ ルスの管理方法をハッキングすることは、どれくらい困難なのだろうか。 筆者が見つけた解決方法は、 FreeBSD に ClamAV (Clam AntiVirus) と Sharity-Light を組み 合わせるというものだ。どちらも po ホコレクションにある。「旧 ack # 19 】サーバなしで Win - dows の共有ファイルにアクセス」で述べたように、 Sharity-Light で Windows の共有リソー スをマウントすることができる。共有リソースをマウントし、 C1amAV でウイルスをスキャ ンすればよい。 Windows システムを準備 ウイルススキャンを実行したいシステムについて、以下のようにドライプを共有する。 さらに助けが必要な人は、 Windows ヘルプで「共有」を検索してほしい ( [ スタート ] なら、読み出しのアクセスだけが必要だ。 ス許可 ] をクリックして、アクセスを自分のユーザだけに制限する。スキャンが目的 自分のネットワークが外部ネットワークから完全に閉じている場合を除き、 [ アクセ をクリックする。 ) ていない名前を選択すべきだ。 ( 共有リソースがすでに存在する場合、 [ 新しい共有 ] る。この例では ( d ⅱ ve という名前を使用する。わかりやすい名前で、しかも使われ 3. 「プロバティ」ウインドウの「共有」タブで、新しい共有リソースに名前を割り当て なければ、ヘルプを見てほしい。 設定でファイル共有を有効にする必要がある。どこで設定すればよいかがわから メニューに [ 共有 ] が現れなければ、「コントロールバネル」の「ネットワーク」 2. 現れたオプションのリストから [ 共有 ] を選択する。 クする。 「マイコンピュータ」を開き、共有したいドライプの上でマウスの右ボタンをクリッ 5. 4. 1.

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

5 章 ネットワーク Hack # 42-53 あなたはおそらく、 1 日のほとんどの時間、インターネットまたは組織内ネットワークの サーバにアクセスしているだろう。実際、ネットワークがかなり浸透してきたので、ネット ワークの停止に耐えることは、たとえ短時間であっても困難になってきている。 本章では、通常の通信手段を使用できなくなったときでも、ネットワークサービスにアク セスするための手法をたくさん取り上げる。主要な通信手段が利用できない状態になったと き、新しいネットワーク構成を知らせてくれるようにシステムを整備したいと思ったことは ないだろうか。電子メールクライアントをインストールしていないシステムから、自分の電 子メールを読みたくなることがあるだろうか。 ISP ( インターネットサービスプロバイダ ) の DHCP サーバが自分の DHCP クライアントを認識してくれないとき、どうやってネットワー ク接続を確保すればよいだろうか。 さらに、我々が動いて当然と思っているネットワークサービスやツールが、どんな仕組み で動いているのかを眺めてみる。 t ( pdump の達人になることを目指し、少なくとも恐怖心を取 り払う。 DNS メッセージを理解し、 DNS サーバの問題の解決方法を学ぶ。そして、 sendmail デーモンを意のままに扱えるようにする。 最後に、日常的な作業をすべてのサーバで同時に実行するために、 2 つの優れたオープン ソースのユーティリティを取り上げる。 リモートからログインしてコンソールメッセージを見る リモートからサーバのコンソールメッセージを見たい Unix システムの管理者は、作業の 99 % をリモートから実行することができる。サーバに キーポードを接続したとしても ( [ Hack # 26 】を参照 ) 、実際にサーバの前に座らなければ実施で きない作業は非常に少ない。 その一方、リモート管理で実現できない機能の 1 つが、リモートサーバのコンソールを見 ることだ。ただし、全く見ることができないわけではない。最初に次の質問に答えてほしい。 「コンソールとは何なのか ? なぜ、コンソールを見たいのか ? 」 H A C K

9. 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

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

HACK # 65 324 ー 6 章システムのセキュリティ ErrorDocument 404 /index. html く /Virtua1Host> このようにして、 Apache を適切なポートと IP アドレスで待機させることができる。 Apache は要求を受信するたびに、特定のディレクトリの下にあるべージを提供しようと試みる。 ページが見つからなければ、代わりに index. html ページを提供する。 まだディレクトリもファイルも存在しないので、 /var/www/auth ディレクトリを作成し、そ の中に以下のような index. html を置く。 く html> く head> く title> アクセス禁止ー内部ネットワークく /title> く /head> く b0dY> く hl > アクセス禁止く / hl > く p 〉これは内部ネットワークであり、アクセスを許可していない。く / p 〉 く /b0dY> く /html> すべてを組み合わせる 以下のように dhcpd 、 pf 、 Apache を、起動または再起動する。 [ インタフェース ] に DHCP で アドレスを与えるインタフェースの一覧を指定する。 # kill 、 cat /var/run/dhcpd. pid 、 ; dhcpd -q [ インタフェース ] # pfctl -f /etc/pf. conf # apachectl stop & & apachectl start これで設定は終わりだ。新しいホストがネットワークに接続するときには、 DHCP でアド レスを要求しなければならない。そのとき、 192.168.0.101 ~ 192.168.0.254 の範囲のアドレス を受け取る。割り当てられたアドレスが autho ⅱ zed hosts テープルに入っていなければ、そ のホストが web ページをロードしようと試みるたびに、上記のアクセス禁止のページを受け 取る。ファイアウォールは、外部ネットワークのすべてのポート宛のバケットを黙って破棄 する。 新しいホストにネットワーク使用の許可を与えたければ、 pf ( tl を実行してテープルに追加 すればよい。永久的に変更したければ、 / et ( / pf. ( onf のテープルの定義に、アドレスまたはア ドレスの範囲を追加すればよい。または、許可したいアドレスの一覧を外部のファイルで定 義することもできる。詳しい説明については、 PF の FAQ でテープルに関するセクション を見てほしい。