UNIX & インターネットセキュリティ 第2版

[cover photo]
TOPICS
発行年月日
PRINT LENGTH
992
ISBN
4-90090-038-9
原書
Practical UNIX & Internet Security, 2nd Edition
FORMAT
Print
8,250円
この商品は品切れ再入荷未定です

インターネットにおいてセキュリティが重要課題であることはいうまでもないが、そのインターネットの世界で、メールサーバやゲートウェイマシンのOSとして、いまだに広い支持層をもつUNIXのセキュリティ機能もまた、必ずしも万能ではありません。しかしUNIXは、それを補なうノウハウの蓄積、機能拡張や改良のおかげで今日の地位を築いてきました。本書は、UNIXやインターネットでのセキュリティのノウハウやテクノロジーを網羅的に俯瞰し、解説した、まさに集大成です。

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

正誤表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 警察

索引