セキュリティ対策
インストールしたばかりの PC (LINUX) には数多くのセキュリティホール (脆弱性) を
含んでいます.
インストール後は定期的にインストールパッケージの更新を
行うようにしてください.
本日の講習内容は
1) VINE LINUX 2.5 から新たに採用された
"apt-get" コマンドを用いた
パッケージのアップデートの方法,
2) プロセス管理 の方法,
3) システムログ (記録) の取り方,
4) コンピュータ (サーバ) へのアクセス制限の方法
についての 4 項目です.
memo
本日の内容
- emacs の練習
- apt-get を使ったパッケージのアップデート
emacs を利用して /etc/apt/sources.list を編集する.
- /etc/apt に移動する (cd /etc/apt)
- sources.list のバックアップをとる (cp sources.list sources.list.org0)
- sources.list を emacs に読み込む (emacs & sources.list)
- sources.list の内容をすべて消去する (マウス反転 + del)
- HP
から設定をコピーする (マウス反転 + 左ボタンで貼り付け)
- 上書き保存 (Save As)し emacs の終了
- sources.list の変更を確認 (cat sources.list)
パッケージのアップデート.
- Kterm (「あ漢」のアイコン) を開く
- スーパーユーザになる (su コマンド)
- ftp.cc にアクセス (apt-get updata)
- rpm ファイルのダウンロードとインストール (apt-get upgrade)
パッケージ名 #################### <-- 画面に表示される
- PC の再起動 (reboot)
(注) 再起動の途中で診断システム ( kudzu ) が何か言っても
「だまって」待つこと !
RPM (Redhat Package Manager) パッケージのインストール.
rpm コマンド (p61) を利用してパッケージ
(ソフトウェア) のインストールを行う.
- HPから
iplogger-1.2-1.i386.rpm をダウンロードする
- Kterm を開き, ルートになる ( su )
- iplogger-1.2-1 をインストールする (rpm -ivh iplogger-1.2-1.i386.rpm)
iplogger-1.2-1 #################### <-- 画面に表示される
- 起動プロセスの管理
Run レベルは /etc/rc.d/rc*.d/ 以下のスクリプトと /etc/inittab により制御, 規定
される.
今回は Run レベル 3 の場合 (/etc/rc.d/rc3.d) について説明した.
- Kterm を開き, /etc に移動 (cd /etc)
- inittab の内容を見てみる (less /etc/inittab) ** p100 例 1) 参照
(参)
・・・
id:3:initdefault <-- 起動時の Run レベルの設定
(昨日, 杉谷先生が 3 <--> 5 と書き換えたところ)
・・・
- /etc/rc.d/rc3.d/ に移動 (cd /etc/rc.d/rc3.d)
- プロセスを見る (ps aux) p324, 325
- ルートになる ( su )
- http デーモンを止める (./S85 httpd stop)
センターから苦情
がきたらこうやってプロセスを停止してくださいね
(笑)
- プロセス停止の確認 (ps aux)
このようにして停止させたプロセスは PC を再起動させるとすべてもとの状態
(httpd が起動したまま) にもどる.
それを回避する (Run レベル 3 の起動プロセスから httpd を除外する)
ためには次のコマンドを入力してください.
/sbin/chkconfig --level3 httpd off
( p105, 106 )
逆に,PC 起動時に httpd を起動させる場合
/sbin/chkconfig --level3 httpd on
(参)
/sbin/chkconfig --level3 httpd off 実行後に
ls /etc/rc.d/rc3.d/ を実行すると,
S85 httpd はなくなり,
代わりに K15 httpd が
できている.
つまり,chkconfig は S85 httpd の名前の変更 (mv S85 httpd K15 httpd)
を実行したと考えて良い.
- システムログをとる
syslog デーモン (syslogd) は各プログラムが作成したログを収集しファイル
(/var/log/messages) に記録する.
ここでは,先ほどインストールした「 iplog 」を用いて ICMP, TCP, UDP ログをとる
ことにする.
なお, syslog の設定は /etc/syslog.conf に書かれている ( p334, 335)
- Kterm を開き, ルートになり,
/etc/rc.d/rc3.d/ へ移動 (cd /etc/rc.d/rc3.d)
- /etc/rc.d/rc3.d/ 中の iplog の名前を確認する (ls コマンド)
- Run レベル 3 で iplog を起動する (S50 iplog start)
- iplog と入力
- /var/log/ に移動する (cd /var/log)
- シスログが書き込まれている messages ファイルをよむ
less messages (静的に読む)
tail -f messages (リアルタイムで読む)
/var/log/ 中のその他のログファイルも見ておきましょう!
(おまけ) 自分の PC のネットワークの設定情報を見るコマンド ( p219 )
/sbin/ifconfig -a
- アクセス制御
「telnet」アクセスが可能な PC を制限する設定を行うことにする.
-
inetd を利用する. ( p238 )
inetd はスーパーデーモンと呼ばれ, 常時, 多数のネットワークデーモンを
起動しておく代わりに, inetd に登録しておくことで,
ネットワーククライアントから要求のあった時点で inetd が必要なデーモンを
起動させることができるようになる.
inetd の設定は /etc/inetd.conf で行う.
emacs を利用して /etc/initd.conf を編集する.
(注) ファイル中の # はコメント文
(コメントアウト) を示すものなので, 設定を有効にしたい場合は
# を消去してください.
- emacs & /etc/inetd.conf と入力
- telnet のコメントアウト ( # ) をはずす.
- inetd の再起動 (/etc/rc.d/init.d/inet reload )
(注1) VINE LINUX では"telnet" はデフォルトで ON
となっている.
(注2) 特に, サーバとして必要がない場合には, セキュリティの観点から
inetd は起動しない方がよい
-
tcp wrappers を利用する. ( p306 )
VINE LINUX では inetd.conf で tcp wrappers
(/usr/sbin/tcpd) を呼び出すように設定されている.
アクセス制御に関する設定 (クライアントの設定) は
/etc/hosts.deny と /etc/hosts.allow で行う.
emacs を利用して /etc/hosts.deny と /etc/hosts.allow を編集する.
- emacs で /etc/hosts.deny を開き,
ALL : ALL と記述し上書き保存する.
- emacs で /etc/hosts.allow を開き以下のような形式で記述する:
ALL : 127.0.0.1 : allow
in.telnetd : 133.95.30.0/255.255.255.0 : allow
<-- 133.95.30.*** のサブネットからの telnet アクセスを許可する
in.telnetd : .cc.kumamoto-u.ac.jp : allow
<-- cc.kumamoto-u.ac.jp ドメインからの telnet アクセスを許可する
ALL : ALL : deny
(注) telnet ではログインパスワードが
平文でネットワーク上を流れるために,
セキュリティ上の問題がある.
リモートアクセスには明日述べる ssh を
利用するように心がけた方がよい.
ssh ではパスワードは暗号化されている.
目次
次へ
前へ
Copyright (c) 2002 Center for Multimedia and Information Technologies,
Kumamoto University
musashi@cc.kumamoto-u.ac.jp