第 2 章 一般ユーザ向け コンピュータのセキュリティ対策
3.4 Linux のサーバ OS の設定方法
3.4.1. Vine Linux の設定方法
・リモートログイン(SSH)
・Webサーバ(HTTP、HTTPS)
・ファイル転送(ftp)
・メールサーバ(SMTP)
画面01:ファイアウォールの設定画面
■Rootパスワードとユーザの設定
システム管理者、つまりスーパユーザ(root)のパスワードを設定する画面が表示されます。
確認のため同じパスワードを2回入力します。入力したパスワードを忘れないように注意してくださ い。
パスワードは、あまりにも単純なものや、電話番号、生年月日などは避けてください。アルファベッ ト大文字・小文字を取り混ぜ、数字や記号も入れると比較的安全です。
なお、キーボードの設定が実際のキーボードと違う場合、記号の位置がずれていることがありますの で注意してください。
次に、一般ユーザのアカウントも作成することができます。これはインストール後に行うこともでき ますが、すぐに使うユーザは登録しておいたほうがよいでしょう。
アカウント名の欄にはユーザのアカウント名を入れます。初期パスワードもここで設定できます。フ ルネームにはこのユーザの氏名をローマ字で入れます
画面02:Rootパスワードとユーザの設定画面
2) セキュリティ設定
コンピュータがインターネットに接続している場合、外部からの不法な侵入に備えておく必要があり ます。
また、LAN内においても、システム管理者以外のユーザがroot権限を取得できることは好ましくあ りません。
ここではVine Linuxのセキュリティ対策のポイントを解説します。
■shadowパスワード
Vine Linux では、「MD5 パスワード」と「シャドーパスワード」の使用を選択できるようになって
います。
システムのパスワードシステムをshadowパスワードにするには、rootユーザで次のようにします。
# /usr/sbin/pwconv
「pwconv」を実行すると、/etc/passwd のパスワードフィールドが「x」になり、暗号化されたパス ワードが保護されます。また、暗号化されたパスワードは/etc/shadow に書き込まれますが、一般ユー ザからは読めないようになっているので比較的安全です。
# cd /etc
# ls -l *passwd* *shadow*
-rw-r--r-- 1 root root 777 Jan 30 13:05 /etc/passwd
# /usr/sbin/pwconv
# ls -l *passwd* *shadow*
-rw-r--r-- 1 root root 738 Jan 30 13:05 /etc/passwd -r--- 1 root root 587 Jan 30 13:05 /etc/shadow
shadow パスワードを使うと認証が必要な一部のアプリケーションがうまく動作しない場合があり
ます。しかし、標準でインストールされるアプリケーションの多く(telnet、 ftpなど)はshadowパ スワードに対応しています。
shadow化をやめるには/usr/sbin/pwunconvを実行します。
■PAMを使ったセキュリティ
Vine LinuxではPAM(Pluggable Authentication Modules)を使ってsuなどの特定のコマンドに 対してセキュリティを強化することができます。
ここでは、良く使われる方法をいくつか紹介します。
・suの制限
システム管理を行うには、suコマンドを用います。一般ユーザにsuコマンドを利用させないように するには、まずシステム管理者を/etc/groupの wheelに追加します。次に、/etc/pam.d/su に以下を追 加します。
auth required /lib/security/pam_wheel.so debug group=wheel
こうすると、/etc/groupのwheelに登録されたユーザしかsuコマンドを実行することができなくな ります。
リモートからアクセスしているユーザに su コマンドを利用させないようにするには、以下を追加し ます。
auth required /lib/security/pam_securetty.so
・shutdownの制限
サーバなどはshutdownコマンドを一般ユーザに実行されては困ります。そこで、shutdownコマン ドを行えるユーザを制限することができます。/etc/shutdown.allow というファイルを作ると、そこに 記述されたユーザがログインしているときだけ、shutdownコマンドを実行することができます。
$ cat /etc/shutdown.allow user1
user2 user3
・iptablesによるパケットフィルタリング
インターネットをはじめネットワークを流れるパケットは、決して安全なものばかりではありません。
そうした悪意のあるパケットから、コンピュータを守る1つの手段として「iptables」によるパケット フィルタリングを行うことができます。
・tcp_wrapperによるアクセス制限
簡単なアクセス制限の方法として、「tcp_wrapper」(tcpd)があります。/etc/inetd.conf をみるとさ まざまなサービスが、/usr/sbin/tcpdによって実行されていることがわかります。tcpd デーモンは接続 要求があるとそのホストをチェックし、アクセスを許可するかしないかを判断します。このアクセス許 可と拒否はそれぞれ/etc/hosts.allowと/etc/hosts.denyに設定されます。
たとえば、原則として外部からの接続は拒否し、自分のドメイン(192.168.0.0)からのアクセスのみ 許可するには、/etc/hosts.denyと/etc/hosts.allowに以下のように記述します。
$ cat /etc/hosts.deny ALL: ALL
$ cat /etc/hosts.allow
ALL: 192.168.0.0/255.255.255.0
もし、一部のホスト(たとえば vinelinux.org ドメインのホスト)からはアクセスを許可したい場合 は、そのホストを/etc/hosts.allowに記述します。
ALL: LOCAL sshd: .vinelinux.org
■サービスの停止
Vine Linuxには、DNS、Web、Mailなどサービスが付属しています。これらのサービスを使用しな
いときは、セキュリティ上、停止しておいたほうがよいでしょう。
・NIS (YP) Server
NIS(Network Information Service)はLANの中でのユーザ管理やホスト名の管理に使うことがで
きます。
サーバの設定ファイルは /etc/ypserv.conf にあり、クライアントの設定ファイルは/etc/yp.conf にあ ります。NISの情報は /var/yp/以下に置かれます。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service ypserv {start|stop}
# /sbin/service ypbind {start|stop}
# /sbin/service yppasswdd {start|stop}
・DNS Server
Web サーバやメールサーバなどを運用するにはインターネットからアクセスしてもらう必要があり ます。そのため、BINDなどのDNSサーバを設定し、LAN外からのホストが名前解決できるようにし ます。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service named {start|stop}
・Web Server
World Wide Web(WWW)のためのサーバです。これにはApacheを利用することができます。設
定ファイルは/etc/httpd/conf/httpd.confに置かれています。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service httpd {start|stop}
・FTP Server
FTP(File Transfer Protocol)サーバは、インターネット経由でファイルを転送するためのサーバで
す。ftpのトップディレクトリは/home/ftp/になります。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service proftpd {start|stop}
・Mail Server
メールを常時送受信するためにはメールサーバを起動しておく必要があります。Vine Linux では、
postfixを利用することができます。設定ファイルは/etc/postfix/ 以下にあります。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service postfix {start|stop}
・DHCP Server
DHCP(Dynamic Host Configuration Protocol)サーバは、IPアドレスやネットマスクなどの情報
をクライアントに提供するためにサーバです。クライアントのホストに固定の IP アドレスが必要ない 場合などに使われます。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service dhcpd {start|stop}
・Samba SMB Server
SMB(Session Message Block)はWindowsなどでディスクやプリンタを共有するためにプロトコ
ルです。これを用いることによって、Vine LinuxでもWindowsなどとディスクやプリンタを共有する ことができます。
サービスの起動と停止の方法は以下の通りです。
# /sbin/service smb {start|stop}