インターネットにおいてセキュリティが重要課題であることはいうまでもないが、そのインターネットの世界で、メールサーバやゲートウェイマシンのOSとして、いまだに広い支持層をもつUNIXのセキュリティ機能もまた、必ずしも万能ではありません。しかしUNIXは、それを補なうノウハウの蓄積、機能拡張や改良のおかげで今日の地位を築いてきました。本書は、UNIXやインターネットでのセキュリティのノウハウやテクノロジーを網羅的に俯瞰し、解説した、まさに集大成です。
UNIX & インターネットセキュリティ 第2版
Simson Garfinkel, Gene Spafford 著、山口 英 監訳、谷口 功 訳
- TOPICS
- 発行年月日
- 1998年12月
- PRINT LENGTH
- 992
- ISBN
- 4-90090-038-9
- 原書
- Practical UNIX & Internet Security, 2nd Edition
- FORMAT
正誤表
ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。
正誤表1 -- 2001年9月
正誤表1 -- 2001年9月(3刷で修正済み)
705ページ 例22-3 コード14行め(空白行含む) <修正前> for (iloop = 1; i loop <修正後> for (iloop = 1; iloop
目次
I コンピュータセキュリティの基礎 1章 イントロダクション 1.1 コンピュータセキュリティの定義 1.2 オペレーティングシステムの定義 1.3 UNIXの歴史 1.4 セキュリティとUNIX 1.4.1 期待 1.4.2 ソフトウェアの品質 1.4.3 問題発生の原因となる追加機能 1.5 本書の目的 2章 方針とガイドライン 2.1 セキュリティ計画の作成 2.1.1 信頼性 2.2 危険評価 2.2.1 単純な評価方法 2.2.2 危険の再チェック 2.3 費用対効果分析 2.3.1 損失額 2.3.2 防止対策費用 2.3.3 金額の追加 2.3.4 上司の説得 2.4 方 針 2.4.1 方針の役割 2.4.2 基 準 2.4.3 ガイドライン 2.4.4 有効な方針の作成のための基本的な考え方 2.5 あいまいさを利用したセキュリティの問題点 2.5.1 公開性 2.5.2 機密情報 2.5.3 終りに:危機管理には常識が必要である IIユーザの責任 3章 ユーザとパスワード 3.1 ユーザ名 3.2 パスワード 3.2.1 /etc/passwdファイル 3.2.2 /etc/passwdファイルとネットワークデータベース 3.2.3 認 証 3.2.4 共有秘密であるパスワード 3.2.5 パスワードを使用する理由 3.2.6 従来のUNIXパスワードシステム 3.3 パスワードの入力 3.4 パスワードの変更 3.5 新しいパスワードのチェック 3.6 パスワードの管理 3.6.1 悪いパスワード:開いたドア 3.6.2 ユーザ名と同一のパスワード 3.6.3 良いパスワード:鍵のかかったドア 3.6.4 複数マシン上でのパスワード 3.6.5 パスワードの書き留め 3.7 使い捨てパスワード 3.8 まとめ 4章 ユーザ、グループおよびスーパユーザ 4.1 ユーザとグループ 4.1.1 ユーザ識別子(UID) 4.1.2 同一UIDを持つ複数アカウント 4.1.3 グループとグループ識別子(GID) 4.2 特別なユーザ名 4.2.1 スーパーユーザ 4.2.2 その他の特別なユーザ 4.2.3 /etc/passwdファイルと/etc/groupファイルがセキュリティに与える影響 4.3 su:ほかのユーザIDへの変更 4.3.1 実UIDと実効UID 4.3.2 保存ID 4.3.3 ほかのID 4.3.4 スーパーユーザになる 4.3.5 suの使用に対する注意 4.3.6 suの制限 4.3.7 悪いsuログ 4.3.8 suのその他の使い方 4.4 まとめ 5章 UNIXファイルシステム 5.1 ファイル 5.1.1 ディレクトリ 5.1.2 iノード 5.1.3 カレントディレクトリとカレントパス 5.1.4 lsコマンドの使用 5.1.5 ファイルの時刻 5.1.6 ファイルパーミッションの役割 5.1.7 ファイルパーミッションの詳細 5.2 ファイルパーミッションの使用法 5.2.1 chmod:ファイルパーミッションの変更 5.2.2 ファイルのパーミッションの変更 5.2.3 8進数ファイルパーミッションの計算 5.2.4 8進数ファイルパーミッションの使用法 5.2.5 Access Control List(アクセス制御リスト) 5.3 umask 5.3.1 umaskコマンド 5.3.2 一般的なumask値 5.4 ディレクトリパーミッションの使用法 5.5 SUID 5.5.1 SUID、SGIDおよびスティッキービット 5.5.2 SUIDに伴う問題 5.5.3 SUIDシェルスクリプト 5.5.4 全SUIDファイルおよびSGIDファイルの検索 5.5.5 マウントしたファイルシステムでのSUIDおよびSGIDの取り消し 5.5.6 ディレクトリのSGIDとスティッキービット 5.5.7 ファイルのSGIDビット(System V UNIXのみ):必須レコードロック 5.6 デバイスファイル 5.6.1 無許可のデバイスファイル 5.7 chown:ファイル所有者の変更 5.8 chgrp:ファイルのグループの変更 5.9 奇妙で疑わしい考え方 5.9.1 2つの宇宙 5.9.2 コンテキスト依存ファイル 5.10 まとめ 6章 暗号 139 6.1 暗号小史 6.1.1 暗号コードの作成と解読 6.1.2 暗号とデジタルコンピュータ 6.1.3 最近の情勢 6.2 暗号化とは 6.2.1 暗号化の目的 6.2.2 暗号の構成要素 6.2.3 暗号の強度 6.2.4 UNIXで暗号化を使用する理由 6.3 エニグマ暗号方式 6.4 一般に使われる暗号化アルゴリズム 6.4.1 秘密鍵方式のまとめ 6.4.2 公開鍵方式のまとめ 6.4.3 ROT13:悪趣味なジョーク用の優れた暗号 6.4.4 DES 6.4.5 DESのセキュリティの向上 6.4.6 RSAと公開鍵暗号方式 6.4.7 解読不可能な暗号化アルゴリズム 6.4.8 所有権のある暗号方式 6.5 メッセージダイジェストとデジタル署名 6.5.1 メッセージダイジェスト 6.5.2 メッセージダイジェストの使用法 6.5.3 デジタル署名 6.5.4 一般に使われるダイジェストアルゴリズム 6.5.5 その他のコード 6.6 UNIXで使用可能な暗号化プログラム 6.6.1 UNIX crypt:最初のUNIX暗号化コマンド 6.6.2 des:Data Encryption Standard 6.6.3 PGP:Pretty Good Privacy IIIシステムセキュリティ 7章 バックアップ 7.1 バックアップの作成 7.1.1 バックアップを作成する理由 7.1.2 バックアップを作成すべきもの 7.1.3 バックアップの種類 7.1.4 媒体の故障からの保護 7.1.5 バックアップの保存期間 7.1.6 バックアップのセキュリティ 7.1.7 法的問題 7.2 バックアップ戦略の例 7.2.1 スタンドアロンで使用するワークステーション 7.2.2 小規模ネットワークに接続したワークステーションおよびサーバ 7.2.3 少ない予算の大規模ネットワーク 7.2.4 予算の大きい大規模ネットワーク 7.2.5 バックアップ戦略の決定 7.3 システムファイルのバックアップ 7.3.1 バックアップを作成すべきファイル 7.3.2 自動バックアップシステムの構築 7.4 バックアップ用のソフトウェア 7.4.1 単純なコピー 7.4.2 単純な保管 7.4.3 特殊なバックアッププログラム 7.4.4 バックアップの暗号化 7.4.5 ネットワーク上でのバックアップ作成 7.4.6 市販製品 7.4.7 iノード修正時刻 8章 アカウントの保護 8.1 侵入に利用されるアカウント 8.1.1 パスワードのないアカウン 8.1.2 デフォルトアカウント 8.1.3 コマンドを1つだけ実行するアカウント 8.1.4 オープンアカウント 8.1.5 制限ファイルシステム 8.1.6 グループアカウント 8.2 ファイル書式の監視 8.3 ログインの制限 8.4 休止アカウントの管理 8.4.1 アカウントのパスワードの変更 8.4.2 アカウントのログインシェルの変更 8.4.3 休止アカウントの発見 8.5 rootアカウントの保護 8.5.1 安全な端末 8.5.2 wheelグループ 8.5.3 TCBとトラストパス 8.6 UNIX暗号化パスワードシステム 8.6.1 crypt()アルゴリズム 8.6.2 ソルトの働き 8.6.3 ソルトができないこと 8.6.4 crypt16()とその他のアルゴリズム 8.7 使い捨てパスワード 8.7.1 UNIXと使い捨てパスワードの統合 8.7.2 トークンカード 8.7.3 コードブック 8.8 標準パスワードの管理技術 8.8.1 ユーザへのパスワード割り当て 8.8.2 パスワードの制限 8.8.3 自己パスワード破り 8.8.4 パスワード生成器 8.8.5 シャドーパスワードファイル 8.8.6 パスワードの使用期限 8.8.7 アルゴリズムおよびライブラリの変更 8.8.8 パスワードの変更によるアカウントの使用停止 8.8.9 再びアカウント名について:セキュリティ向上のためのメール別名の使用 9章 保全性管理 9.1 予 防 9.1.1 不変ファイルと追記専用ファイル 9.1.2 読み出し専用ファイルシステム 9.2 変更の検出 9.2.1 コピーの比較 9.2.2 チェックリストとデータについての情報 9.2.3 チェックサムとシグネチャ 9.2.4 Tripwire 9.3 最後に 10章 監査とログ収集 10.1 基本ログファイル 10.1.1 lastlogファイル 10.1.2 utmpファイルとwtmpファイル 10.1.3 lastコマンド 10.1.4 loginlogファイル 10.2 acct/pacctプロセスアカウンティングファイル 10.2.1 System Vでのアカウンティング 10.2.2 BSDでのアカウンティング 10.2.3 messagesログファイル 10.3 プログラム固有のログファイル 10.3.1 aculogファイル 10.3.2 sulogログファイル 10.3.3 xferlogログファイル 10.3.4 uucpログファイル 10.3.5 access_logログファイル 10.3.6 ネットワークサービスのログ収集 10.3.7 その他のログ 10.4 ファイルシステム内のユーザごとのチェック 10.4.1 シェル履歴 10.4.2 メール 10.4.3 ネットワーク設定 10.5 UNIXシステムログ(syslog)機能 10.5.1 syslog.confコンフィギュレーションファイル 10.5.2 ログの記録場所 10.5.3 syslogメッセージ 10.6 Swatch:ログファイルツール 10.6.1 Swatchの実行 10.6.2 Swatchのコンフィギュレーションファイル 10.7 手書き記録 10.7.1 サイトごとの記録ノート 10.7.2 マシンごとの記録ノート 10.8 ログファイルの処理 11章 プログラム化された脅威に対する保護 11.1 プログラム化された脅威:定義 11.1.1 セキュリティツール 11.1.2 裏口と落し戸 11.1.3 ロジック爆弾 11.1.4 トロイの木馬 11.1.5 ウイルス 11.1.6 ワーム 11.1.7 バクテリアとラビット 11.2 損 害 11.3 プログラム化された脅威の作成者 11.4 プログラム化された脅威の侵入経路 11.5 ユーザや資源の保護 11.5.1 シェル機能 11.5.2 スタートアップファイルを用いた攻撃 11.5.3 自動メカニズムの悪用 11.6 システムの保護 11.6.1 ファイルの保護 11.6.2 共有ライブラリ 12章 物理的セキュリティ 12.1 忘れられている脅威 12.1.1 物理的セキュリティ構築計画 12.2 コンピュータハードウェアの保護 12.2.1 環 境 12.2.2 事故の防止 12.2.3 物理的アクセス 12.2.4 破壊行為 12.2.5 戦闘およびテロリズムへの対策 12.2.6 盗難の防止 12.2.7 関連事項 12.3 データの保護 12.3.1 盗 聴 12.3.2 バックアップの保護 12.3.3 その他の媒体 12.3.4 ローカル記憶装置の保護 12.3.5 使用者のいない端末 12.3.6 キースイッチ 12.4 実例:穴だらけのサイト 12.4.1 著者が見たもの 12.4.2 本当に損失は生じないのか 13章 人事管理 13.1 経歴調査 13.2 雇用後 13.2.1 初期訓練 13.2.2 業務内訓練と啓発活動 13.2.3 業務のチェックと監視 13.2.4 アクセスの監査 13.2.5 最小特権および責務の分担 13.2.6 退 職 13.3 外部の人間 IVネットワークおよびインターネットのセキュリティ 14章 電話回線のセキュリティ 14.1 モデム:動作原理 14.2 シリアルインタフェース 14.3 RS-232シリアルプロトコル 14.3.1 発信と応答 14.4 モデムとセキュリティ 14.4.1 単方向電話回線 14.4.2 Caller-ID(CNID) 14.4.3 盗聴の防止 14.5 モデムとUNIX 14.5.1 コンピュータへのモデムの接続 14.5.2 UNIXデバイスの設定 14.5.3 モデムのチェック 14.5.4 モデムの物理的保護 14.6 その他のモデムセキュリティ 15章 UUCP 15.1 UUCPとは 15.1.1 uucpコマンド 15.1.2 uuxコマンド 15.1.3 mailコマンド 15.1.4 UUCPコマンドの機能 15.2 UUCPのバージョン 15.3 UUCPとセキュリティ 15.3.1 新規UUCPログインの登録 15.3.2 UUCPパスワードの設定 15.3.3 L.sysおよびSystemsファイルのセキュリティ 15.4 Version 2 UUCPのセキュリティ 15.4.1 USERFILE:リモートファイルアクセス権の付与 15.4.2 USERFILEの例 15.4.3 L.cmds:リモートコマンド実行の提供 15.5 BNU UUCPのセキュリティ 15.5.1 Permissionsファイル 15.5.2 Permissionsファイルでのコマンド指定 15.5.3 uucheck:Permissionsファイルのチェック 15.6 その他のセキュリティ問題 15.6.1 UUCPのメール転送 15.6.2 クリーンアップスクリプトの自動実行 15.7 UUCPにおける初期のセキュリティ問題 15.8 ネットワーク上のUUCP 15.9 まとめ 16章 TCP/IPネットワーク 16.1 ネットワーキング 16.1.1 インターネット 16.1.2 ネットワーキングとUNIX 16.2 IPv4:Internet Protocolバージョン4 16.2.1 インターネットアドレス 16.2.2 経路制御(routing) 16.2.3 ホスト名 16.2.4 パケットとプロトコル 16.2.5 クライアントとサーバ 16.2.6 名前サービス 16.3 IPセキュリティ 16.3.1 リンクレベルセキュリティ 16.3.2 セキュリティと名前サービス 16.3.3 認 証 16.4 その他のネットワークプロトコル 16.4.1 IPX 16.4.2 SNA 16.4.3 DECnet 16.4.4 OSI 16.4.5 XNS 16.5 まとめ 17章 TCP/IPサービス 17.1 UNIXインターネットサービスの概要 17.1.1 /etc/servicesファイル 17.1.2 サーバの起動 17.1.3 /etc/inetdプログラム 17.2 サーバへのアクセス制御 17.3 主なUNIXネットワークサービス 17.3.1 systat(TCPポート11) 17.3.2 inhibitglue (FTP)ファイル転送プロトコル(TCPポート20および21) 17.3.3 TELNET(TCPポート23) 17.3.4 SMTP(Simple Mail Transfer Protocol)inhibitglue (TCPポート25) 17.3.5 TACACS(UDPポート49) 17.3.6 DNS(ドメインネームシステム)inhibitglue (TCPおよびUDPポート53) 17.3.7 TFTP(Trivial File Transfer Protocol)inhibitglue (UDPポート69) 17.3.8 finger(TCPポート79)contentsline {paragraph fingerの置き換え 17.3.9 HTTP(HyperText Transfer Protocol)inhibitglue (TCPポート80) 17.3.10 POP(Post Office Protocol)hskip -10Q(TCPポート109および110) 17.3.11 Sun RPCのportmapper(UDPおよびTCPポート111) 17.3.12 識別プロトコル(auth)inhibitglue (TCPポート113) 17.3.13 NNTP(Network News Transport Protocol)(TCPポート119) 17.3.14 NTP(Network Time Protocol)inhibitglue (UDPポート123) 17.3.15 SNMPhskip-1Q{}(Simple Network Management Protocol)hskip-4Q{}(UDPhskip-1Q{}ポートhskip-1Q{}161hskip-1Q{}およびhskip-1Q{}162) 17.3.16 NEXTSTEP Window Server(NSWS)hskip -10Q(TCPポート178) 17.3.17 rexec(TCPポート512) 17.3.18 rloginとrsh(TCPポート513および514) 17.3.19 Routing Internet Protocol(RIP routed)(UDPポート520) 17.3.20 TCP上のUUCP(TCPポート540) 17.3.21 X Window System(TCPポート6000-6063) 17.3.22 RPC rpc.rexd(TCPポート512) 17.3.23 ほかのTCPポート:MUDとInternet Relay Chat(IRC) 17.4 ネットワークサービスのセキュリティ問題 17.5 netstatによるネットワークの監視 17.6 ネットワークの調査 17.6.1 SATAN 17.6.2 ISS 17.6.3 PingWare 17.7 まとめ 18章 WWWセキュリティ 18.1 セキュリティとWorld Wide Web 18.2 セキュアサーバの運用 18.2.1 サーバのUID 18.2.2 サーバのディレクトリ構造の理解 18.2.3 安全なCGIスクリプトおよびプログラムの作成 18.2.4 スクリプトは外部に見えないようにする 18.2.5 その他の問題 18.3 サーバ上のファイルに対するアクセスの制御 18.3.1 acsess.confファイルと.htaccessファイル 18.3.2hskip.9zw{ tt char "3Crelax }Directory{tt char "3Erelax } ブロック内のコマンド 18.3.3 Webユーザおよびパスワードの設定 18.4 盗聴の危険の回避 18.4.1 回線上での盗聴 18.4.2 ログファイルによる盗聴 18.5 Webブラウザの危険性 18.5.1 インターネットを通したコードの実行 18.5.2 ソフトウェアベンダの信頼性 18.6 サードパーティへの依存 18.7 まとめ 19章 RPC、NIS、NIS+およびKerberos 19.1 ネットワークサービスのセキュリティの向上 19.2 Sun社のRemote Procedure Call(RPC) 19.2.1 RPC認証 19.3.1 Secure RPCの認証 19.3.2 NISとSecure RPCの設定 19.3.3 Secure RPCの使用法 19.3.4 Secure RPCに関する制限 19.4 Sun社のNetwork Information Servicehskip -8Q{}(NIS) 19.4.1 NISドメイン 19.4.2 NISネットグループ 19.4.3 NISを使った場合の偶然のサイト情報漏洩 19.5 Sun社のNIS+ 19.5.1 NIS+の機能 19.5.2 NIS+オブジェクト 19.5.3 NIS+テーブル 19.5.4 NIS+の使用法 19.5.5 NIS+の制限 19.6 Kerberos 19.6.1 Kerberos認証 19.6.2 Kerberos対Secure RPC 19.6.3 Kerberosのインストール 19.6.4 Kerberosの使用法 19.6.5 Kerberosの限界 19.7 その他のネットワーク認証 19.7.1 DCE 19.7.2 SESAME 20章 NFS 20.1 NFSとは 20.1.1 NFS小史 20.1.2 ファイルハンドル 20.1.3 MOUNTプロトコル 20.1.4 NFSプロトコル 20.1.5 NFSバージョン3 20.2 サーバ側のNFSセキュリティ 20.2.1 クライアントのアクセスの制限:/etc/exportsと/etc/dfs/dfstab 20.2.2 showmountコマンド 20.3 クライアント側のNFSセキュリティ 20.4 NFSセキュリティの改善 20.4.1 エクスポートおよびマウントするファイルシステムの制限 20.4.2 読み出し専用エクスポート 20.4.3 root所有権の利用 20.4.4 ファイルおよびディレクトリのグループ書き込みパーミッションの削除 20.4.5 サーバの実行可能プログラムのエクスポート禁止 20.4.6 ホームディレクトリのエクスポート禁止 20.4.7 ユーザのサーバへのログインの禁止 20.4.8 fsirandの利用 20.4.9 portmon変数の設定 20.4.10 showmount --eの使用法 20.4.11 Secure NFSの使用法 20.5 まとめの注意点 20.5.1 既知のバグ 20.5.2 真のセキュリティを確立したければNFSを使わない V高度な事項 21章 ファイアウォール 21.1 ファイアウォールの機能 21.1.1 デフォルト許可vs.デフォルト拒否 21.1.2 ファイアウォールの使用法 21.1.3 ファイアウォールの構造 21.1.4 2ポートホスト:最初のファイアウォール 21.1.5 パケットフィルタ処理: チョーク機能だけの単純なファイアウォール 21.1.6 1チョーク、1ゲート:ホスト隔離アーキテクチャ 21.1.7 2チョーク、1ゲート:サブネット隔離アーキテクチャ 21.1.8 複数ゲート 21.1.9 内部ファイアウォール 21.2 ファイアウォールの構築 21.2.1 設計計画 21.2.2 部品の収集 21.2.3 チョークの構築 21.2.4 チョークのプロトコルの選定 21.3 例:Cisco Systemsルータをチョークとして使用 21.3.1 access-listコマンド:アクセス制御リストの作成 21.3.2 show access-listsコマンド:現在のアクセス制御リストの表示 21.3.3 access-classコマンド:仮想端末の保護 21.3.4 ip access-groupコマンド:IPインタフェースの保護 21.3.5 accounting access-violationsコマンド:IPアカウンティングの利用 21.4 ゲートの構築 21.4.1 名前サービス 21.4.2 電子メール 21.4.3 ネットニュース 21.4.4 FTP 21.4.5 finger setbox1=hbox{リモート 21.4.6 resizebox{102mm ht1 リモートサイトからのTelnetおよびrloginを使ったネットワークへのログイン} 21.5 特別な考察 21.6 まとめの注意 21.6.1 ファイアウォールが危険なこともある 21.6.2 ファイアウォールは故障する可能性がある 21.6.3 デスクトップマシンをインターネットに接続することが本当に必要か 22章 ラッパーとプロキシ 22.1 ラッパーを使用する理由 22.2 sendmail(smap/smapd)ラッパー 22.2.1 smapおよびsmapdの機能 22.2.2 smap/smapdの入手 22.2.3 TIS smap/smapd sendmailラッパーのインストール 22.2.4 考えられる欠点 22.3 tcpwrapper 22.3.1 tcpwrapperの入手 22.3.2 tcpwrapperの機能 22.3.3 アクセス制御 22.3.4 tcpwrapperのインストール 22.3.5 高度なtcpwrapperオプション 22.3.6 tcpwrapperコンフィギュレーションファイルをわかりやすくする 22.4 SOCKS 22.4.1 SOCKSの機能 22.4.2 SOCKSの入手 22.4.3 SOCKSの実行 22.4.4 SOCKSとユーザ名 22.4.5 SOCKS識別方針 22.4.6 SOCKSサーバコンフィギュレーションファイル:/etc/sockd.conf 22.4.7 SOCKSクライアントコンフィギュレーションファイル:/etc/socks.conf 22.5 UDP Relayer 22.5.1 UDP Relayerの入手 22.6 独自のラッパーの作成 22.6.1 一時的パッチを行うラッパー 22.6.2 臨時にログ収集を行うラッパー 23章 セキュリティの高いSUIDおよびネットワークプログラムの作成 23.1 たった1つのバグがすべての努力を台なしにする 23.1.1 インターネットワームの教訓 23.1.2 UNIXユーティリティの信頼性についての経験的な検討 23.2 セキュリティ関連のバグを回避するための知識 23.3 ネットワークプログラムの記述に関する知識 23.4 SUID/SGIDプログラム作成に関する知識 23.4.1 chroot()の使用 23.5 パスワードの使用に関する知識 23.5.1 パスワードの格納に使用するメッセージダイジェスト 23.6 乱数生成に関する知識 23.6.1 UNIXの疑似乱数関数 23.6.2 乱数シードの取得 23.6.3 優れた乱数シード作成機能 VIセキュリティ上の問題が発生した際の対処 24章 侵入の発見 24.1 基本事項 24.1.1 規則1:うろたえないこと 24.1.2 規則2:文書化する 24.1.3 規則3:前もって計画をたてておく 24.2 侵入者の発見 24.2.1 現行犯の発見 24.2.2 侵入者を発見した時の対処 24.2.3 侵入者の監視 24.2.4 接続の追跡 24.2.5 侵入者の排除 24.2.6 侵入の分析 24.3 ログファイル:侵入者の痕跡の発見 24.4 侵入発見後の処理 24.4.1 新規アカウント 24.5 例 24.5.1 信用できるものはハードコピーだけである 24.6 稼働の再開 24.7 損害対策 25章 使用不能攻撃とその対策 25.1 破壊攻撃 25.2 過負荷攻撃 765 25.2.1 プロセス過負荷問題 25.2.2 ディスク攻撃 25.2.3 スワップ領域問題 25.2.4 /tmp問題 25.2.5 ソフトプロセスリミット:偶発的な使用不能攻撃の防止 25.3 ネットワーク使用不能攻撃 25.3.1 サービスへの過負荷 25.3.2 メッセージの氾濫 25.3.3 信号断 25.3.4 ネットワーク詰り 26章 誰を信用すべきか 26.1 コンピュータは信用できるか 26.1.1 ハリーのコンパイラ 26.1.2 信頼性の信頼 26.1.3 スーパーユーザができることとできないこと 26.2 ベンダは信頼できるか 26.2.1 ハードウェアのバグ 26.2.2 ウイルスが感染した購入ディスク 26.2.3 バグのあるソフトウェア 26.2.4 クラッカーの攻撃 26.2.5 修正不可能なセキュリティバグ 26.2.6 自由にアクセスできるプロバイダのネットワーク 26.3 人の信頼性 26.3.1 従業員の信頼性 26.3.2 システム管理者の信頼性 26.3.3 ベンダの信頼性 26.3.4 コンサルタントの信頼性 26.3.5 緊急対応担当者の信頼性 26.4 まとめ VII付 録 付録A UNIXセキュリティチェックリスト 付録B 重要なファイル B.1 セキュリティ関連デバイスおよびファイル B.1.1 デバイス B.1.2 ログファイル B.1.3 システムデータベース B.1.4 /binプログラム B.1.5 /etcプログラム B.2 ホームディレクトリ内の重要ファイル B.3 SUIDファイルとSGIDファイル B.3.1 Solaris 2.4(SVR4)のSUID/SGIDファイル B.3.2 BSD UNIXのSUID/SGIDファイル 付録C UNIXプロセス C.1 プロセスとは C.1.1 プロセスとプログラム C.1.2 psコマンド C.1.3 プロセス属性 C.2 プロセスの生成 C.3 シグナル C.4 killコマンド C.5 UNIXの起動とログイン C.5.1 プロセス1:/etc/init C.5.2 ログイン C.5.3 ユーザのシェルの実行 付録D 参考文献 859 D.1 UNIXセキュリティ関連 D.2 その他のコンピュータ関連 D.2.1 コンピュータ犯罪と法律 D.2.2 コンピュータ関連リスク D.2.3 コンピュータウイルスとプログラム化された脅威 D.2.4 暗号化関連書籍 D.2.5 暗号化関連の文献と研究発表 D.2.6 一般的なコンピュータセキュリティ D.2.7 ネットワーク技術とセキュリティ D.2.8 セキュリティ関連の製品およびサービスに関する情報 D.2.9 コンピュータセキュリティの社会的考察 D.2.10 UNIXプログラミングとシステム管理 D.2.11 その他の参考文献 D.3 セキュリティ関連の定期刊行物 付録E オンライン情報 E.1 メーリングリスト E.1.1 緊急対応チームとベンダ E.1.2 メーリングリストの弊害 E.1.3 主なメーリングリスト E.2 Usenetグループ E.3 WWWページ E.3.1 CIAC E.3.2 COAST E.3.3 FIRST E.3.4 NIH E.3.5 Telstra E.4 ソフトウェア資源 E.4.1 CERN HTTPデーモン E.4.2 chrootuid E.4.3 COPS(Computer Oracle and Password System) E.4.4 ISS(Internet Security Scanner) E.4.5 Kerberos E.4.6 portmap E.4.7 SATAN E.4.8 SOCK E.4.9 Swatch E.4.10 tcpwrapper E.4.11 Tiger E.4.12 TIS Internet Firewall Toolkit E.4.13 trimlog E.4.14 Tripwire E.4.15 UDP Packet Relayer E.4.16 wuarchive ftpd 付録F 関連組織 F.1 民間組織 F.1.1 Association for Computing Machinery(ACM) F.1.2 American Society for Industrial Security(ASIS) F.1.3 Computer Security Institute(CSI) F.1.4 High Technology Crimes Investigation Association(HTCIA) F.1.5 Information Systems Security Association(ISSA) F.1.6 Internet Society F.1.7 IEEE Computer Society F.1.8 IFIP Technical Committee 11 F.1.9 National Computer Security Association(NCSA) F.1.10 USENIX/SAGE F.2 アメリカ合衆国政府機関 F.2.1 National Institute of Standards and Technology(NIST) F.2.2 National Security Agency(NSA) F.3 緊急時対応機関 F.3.1 米国司法省(DOJ) F.3.2 米国連邦捜査局(FBI) F.3.3 米国シークレットサービス(USSS) F.3.4 Forum of Incident and Response Security Teams(FIRST) 付録G IPプロトコル一覧 付録H 国内における不正アクセス届け出について H.1 JPCERT/CC H.2 IPA H.3 警察 索引