PC-UNIX を安全に使おう

国際文化研究科 佐藤 大
satodai@dog.intcul.tohoku.ac.jp
理学研究科 鈴木 としや
TAINS利用研究会・DMA 津田 和俊
tsuda@dma.aoba.sendai.jp
 PC-UNIX(Linux, FreeBSD など)は,最も手軽に使える UNIX システムです。 UNIX に触った事がない人でも,雑誌の付録の CD-ROM などから手軽に インストールする事ができます。 UNIXは非常に多くのネットワーク用プログラムを含みますが,これら をきちんと整備せずインストールしたままの状態で利用している と,ネットワークを通じて第三者に悪用される危険があります。 このような状態では第三者にファイルを覗かれたり消されたりするだけでなく, 他のマシンへの攻撃に利用されるという可能性も考えられます。 実際に自分のマシンから他のサイトへの攻撃が行われ,被害を受けた サイトから大量の抗議メールが届いたという例もあります。
 ここでは UNIX を使い始めたばかりの人を対象に,これらの攻撃から 身を守る最低限の方法を紹介します。以下のパスワードと ネットワークサービスの設定について,直ちに確認して下さい。

1 パスワードについて

 各ユーザーのパスワードはちゃんと設定されていますか? パスワードがアカウントと同じ,または辞書に載っている単語, 人名,車の名前,これらの繰り返しになっている場合は パスワードはないも同然です。いとも簡単に侵入されてしまいます。 パスワードを設定するには
passwd
というコマンドを使います。このコマンドを入力すると現在のパスワード を聞いて来るのでそれを入力してください。次に新しいパスワードを入力すると, タイプミスなどがないかを確認するために もう一度新しいパスワードを聞かれるので,同じパスワード を入力してください。以上でパスワードの変更は終了です。
 なお,普段は root で login せずに一般ユーザーのアカウントを使うように してください。 root はスーパーユーザーとも呼ばれ,OS の起動に必須なファイルでも 自由に書き換えたり消去したりできます。 したがって重要なファイルを誤って消去してしまい起動できなくなる という事故が起きるかもしれません。 一般ユーザーで作業には,その心配はありません。
 また root は作業内容に全く制限がないので,root のパスワードを 第三者に知られると非常に危険です。いたずら目的でファイルを 消去される危険ももちろんですが,侵入者があなたのマシンから さらに他のマシンに侵入するかもしれません。 するとあなたも加害者という事になってしまいます。

2 ネットワークのサービスについて

 多くの PC-UNIX で自動的にインストールされるプログラムの中には, システム起動時に自動的に立上り,あなたが知らない内に動いている プログラムもあります。試しに次のコマンドを入力してみて下さい。
ps -ax
各プロセス(実行されているプログラム)の情報が1行づつ表示されます。 今この瞬間にも,これだけ多くのプロセスが走っているのです。
 これらの多くはネットワーク上での各種通信のサービスを提供するプログラム ですが,特に PC-UNIX を端末として使用する場合には, ほとんどが不要であると考えられます。 使用する必要のないサービスは止めて置くべきです。 もしもプログラムにバグがありその対策を施していない場合, 他人に悪用される危険があります。 どうしても使用したい物がある場合でも, しっかりとした対策を施した上で使用してください。 以下,不要なサービスの止め方について説明します。

2.1 止めるべきプログラム

named
name server のプログラム。新たにドメインを立ち上げるのでなければ不要。
popper
mail server から外部へ mail を移動する。mail server にしないなら不要。
imapd
mail server の自分の directory に mail を移動。mail server にしないなら不要。
fingerd ユーザーの本名,最終 login 日時などを報告するプログラム。
基本的に不要。
httpd
web server のプログラム。web server にしなければ不要。
sendmail
mail 転送用のプログラム。mail server にしなければ不要。
 これらは大抵 /usr/sbin(Linux の場合)または /usr/libexec/usr/local/libexec (FreeBSD の場合) の中にあります。 これらの directory の中から上にリストした名前のファイル,またはその前に in. が付いたもの(例えば in.fingerd など) を探してください (popperqpopper, in.popper, in.pop3d などの名前になっているかも知れません)。

2.2 プログラムの止め方

 これらのプログラムは次のようにしてサービスを止める事が出来ます (sendmail についてはバージョンごとにかなり違うと思われるので, ここでは触れません)。
 これらのプログラムのうちのいくつかは,Linuxの場合は /etc/rc.d/etc/init.d の下にあるrc.inet1及び rc.inet2などのfileで, FreeBSD の場合は /stand/sysinstall コマンドから, 起動のON/OFFの設定ができます。
 この作業が良く分からない場合,またはこれでは止められないプログラムに ついては,とりあえず以下の様に対処してください。 これはプログラムの名前を変更する事によってプログラム本体を隠し, 自動的に立ち上がらない様にするものです。 このため boot 時にそのプログラムを見付けようとして「失敗した」という error message が出るかもしれませんが,特に問題はありません。 named の場合を例にとると次のようになります。 まずroot になってから
mv /usr/sbin/named /usr/sbin/named.bak
(mv [変更前の名前] [変更後の名前] となります)
というコマンドを使えば named の名前を named.bak に変更出来ます。 将来 named が必要になった場合には named.baknamed に戻せば使えるようになります。

2.3 reboot

 これらの作業が終ったら,一度 reboot して下さい。これによって不要な プログラムが停止し,起動時に勝手に立ち上がる事もなくなります。 以上の作業で何か分からない事があったら, 遠慮なく tains-riyou@tohoku.ac.jp まで質問して下さい。

謝辞

 本稿の執筆は TAINS 利用研究会で提案されたものです。 同研究会のメーリングリストおよび BBMS では様々な情報を提供していただきました。


www-admin@tohoku.ac.jp
pub-com@tohoku.ac.jp