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