セキュリティ対策   
インストールしたばかりの 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