1. ログ管理 Apache のログを参照し どのようなことが記述されているかを調べ どのコンピュータ からアクセスがあったかレポートにまとめなさい Apache のエラーログファイルである /var/log/httpd/error_log を開くと以下のようなログが表 示される [root@linux06 httpd]# vi /var/log/httpd/error_log [Tue Aug 16 22:16:12 2005] [notice] suexec mechanism enabled (wrapper: /usr/sbin/suexec) [Tue Aug 16 22:16:13 2005] [notice] Digest: generating secret for digest authentication... [Wed Aug 17 02:07:30 2005] [warn] child process 5268 still did not exit, sending a SIGTERM [Wed Aug 17 20:36:51 2005] [notice] suexec mechanism enabled (wrapper: /usr/sbin/suexec) ログには記録された日時 警告の種類 内容が記述される 例 )[Wed Aug 17 02:07:30 2005] [warn] child process 5268 still did not exit, sending a SIGTERM [2005/08/17( 水 )2 時 7 分 30 秒に発生した警告で 子プロセス 5268 は SIGTERM を送って正 常に終了できなかったことが記録されている ] Apache のアクセスログファイルである /var/log/httpd/access_log を開くと以下のようなログ が表示される [root@linux06 ~]# vi /var/log/httpd/access_log 192.168.1.3 - - [17/Aug/2005:01:28:28 +0900] "GET /mailman/listinfo/friends HTTP/1.1" 200 5959 "http://linux06.saikachi.iwate-pu.ac.jp/mailman/admin/friends/members/list" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)" 192.168.1.3 - - [17/Aug/2005:01:36:13 +0900] "GET /mailman/admindb/friends HTTP/1.1" 200 8288 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)" 192.168.1.3 - - [17/Aug/2005:01:36:52 +0900] "POST /mailman/admindb/friends HTTP/1.1" 200 1236 "http://linux06.saikachi.iwate-pu.ac.jp/mailman/admindb/friends" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)"
192.168.1.3 - - [17/Aug/2005:20:37:14 +0900] "GET / HTTP/1.1" 200 81 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)" ログにはアクセスした端末の IP アドレス アクセスした日時 サーバへの要求方法 クライ アントのブラウザの情報が記述される 例 )192.168.1.3 - - [17/Aug/2005:20:37:14 +0900] "GET / HTTP/1.1" 200 81 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.1.4322)" [2005/08/17 の 20 時 37 分 14 秒に IP アドレス 192.168.1.3 の端末 ( 自分の Windows マシン ) が Web ブラウザ上からサーバに要求を出したことが記録されている ] Apache のアクセスログは /var/log/httpd/access_log ファイルを閲覧することで確認するこ とができるが この他に Webalizer のようなアクセスログ解析ソフトを使って確認する方法もあ る <Webalizer のトップ画面 >
2. ソフトウェアのアップデート rpm にはアップデートを行うための U オプションが存在するが yum でもソフトウェアのアップデートが可能である rpm と yum の違いと 各アップデートの方法をレポートにまとめなさい rpm も yum も RPM パッケージを操作するためのソフトウェアであるが yum は手動での操作を必要とする rpm とは違い 全ての RPM パッケージを自動で管理することができる 例えば ソフトウェアの新バージョンが出たとき rpm コマンドを使うと依存関係の問題で正しくインストールできないことがある しかし yum では依存関係を自動的に調べて 適切なインストールを行ってくれる rpm コマンドを用いたアップデート方法 rpm オプション ( 通常は -Uhv) パッケージ名 yum コマンドを用いたアップデート方法 yum オプション ( 通常は -y) update パッケージ名 yum を利用して apache, ssh, samba のアップデートを行い 行った手順をレポートにま とめなさい yum を利用してアップデートを行いたい場合 パッケージの正当性を検証するために GPG 鍵 をインストールし パッケージの正当性を確認できるようにする必要がある GPG 鍵のインポートは以下のコマンドを入力することで行われる [root@linux06 ~]# rpm --import /usr/share/rhn/rpm-gpg-key [root@linux06 ~]# rpm --import /usr/share/rhn/rpm-gpg-key-fedora Apache のアップデート [root@linux06 ~]# yum -y update apache 結果 : 特にアップデートの必要は無かった SSH のアップデート [root@linux06 ~]# yum -y update ssh 結果 : 特にアップデートの必要は無かった
Samba のアップデート [root@linux06 ~]# yum -y update samba 結果 :Ver3.0.8 から Ver3.0.10 にアップデートされた 3. サーバ管理 現在自分のマシンで動いているサービスの一覧を表示し 動いているサービスがどのよう なサービスを提供するのかレポートし 不必要と思われるサービスを停止しなさい 現在動いているサービスの一覧を表示するには netstat コマンドを以下のように利用する [root@linux06 ~]# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:1025 0.0.0.0:* LISTEN 1964/rpc.statd tcp 0 0 0.0.0.0:901 0.0.0.0:* LISTEN 2207/xinetd tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1944/portmap tcp 0 0 192.168.1.2:53 0.0.0.0:* LISTEN 2183/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 2183/named tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2145/cupsd tcp 0 0 127.0.0.1:5335 0.0.0.0:* LISTEN 2098/mDNSResponder tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2262/master tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 2183/named tcp 0 0 :::110 :::* LISTEN 2125/dovecot tcp 0 0 :::143 :::* LISTEN 2125/dovecot tcp 0 0 :::80 :::* LISTEN 2285/httpd tcp 0 0 :::22 :::* LISTEN 2196/sshd tcp 0 0 :::25 :::* LISTEN 2262/master この結果により 以下のサービスが起動していることが確認された rpc.statd ネットワーク上の異なるマシンで処理を実行できるようにするサービス UNIX システムで利用されるファイル共有システム (NFS) の拡張機能を実現 している xinetd スーパーサーバデーモンと呼ばれるプログラム アクセス制限の管理を行っている
portmap RPC プログラムの番号を TCP/IP のポート番号に変換するプログラム RPC サーバプログラム (NIS, NFS) を動作させるときに必要となる named DNS サーバプログラムである BIND のデーモン ユーザからの要求に応じて IP アドレスからドメイン名を割り出したり その逆 を行ったりする cupsd プリンタサーバデーモン Web ブラウザを介してプリンタジョブの管理を実現する mdnsresponder DNS を UDP の IP Multicast で実現するためのコンポーネント master MTA サーバプログラムである Postfix のデーモン メール送信を行う SMTP サーバプログラム dovecot メール受信を行う POP3/IMAP4 サーバプログラム sshd ネットワークを介してコンピュータにログインする SSH サーバプログラム 今回 rpc を利用する予定は無いので プロセス rpc.statd と portmap を以下のコマンドを入 力して停止させる [root@linux06 ~]# /etc/rc.d/init.d/nfslock stop NFS statd を停止中 : [ OK ] [root@linux06 ~]# /etc/rc.d/init.d/portmap stop portmap を停止中 : [ OK ] ただし これだと Linux の再起動時にプロセスも再起動してしまうので chkconfig コマンド を用いて以下のように設定する [root@linux06 ~]# chkconfig nfslock off [root@linux06 ~]# chkconfig portmap off