| Vine Linuxのシステム管理 | ||
|---|---|---|
| <<< Previous | Chapter 2. LANとセキュリティ | Next >>> |
LANがインターネットに接続している場合、外部からの不法な侵入に備えておく必要があります。また、LAN内においても、システム管理者以外のユーザがroot権限を取得できることは好ましくありません。ここではセキュリティについてのヒントを示します。セキュリティ一般については/usr/doc/JF/Security-HOWTO.txt.gz を参照してください。
特に、どんな形態であれインターネットに接続する場合、自分の環境を守るだけでなく外のネットワークへ迷惑をかけないためにも、セキュリティーには十分に気をつけておく必要があります。 Vine Linux では、インストール時にMD5パスワードとシャドーパスワードの使用を選択できるようになっています。システムのパスワードシステムを shadow パスワードにするには、root ユーザで次のようにします。詳しくは man 5 shadow、man pwconv, /usr/doc/JF/Shadow-Password-HOWTO.txt.gz などを参照してください。
# /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を実行します。
Vine LinuxではPAM(Pluggable Authentication Modules)を使ってsuなどの特定のコマンドに対してセキュリティを強化することができます。ここでは、良く使われる方法をいくつか紹介します。PAMの詳?戮蓮?/usr/doc/pam-0.72/html/pam.html を参照して下さい。
システム管理を行うには、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コマンドを行えるユーザを制限することができます。/etc/shutdown.allow というファイルを作ると、そこに記述されたユーザがログインしているときだけ、shutdownコマンドを実行することができます。
$ cat /etc/shutdown.allow
user1
user2
user3
|
LANを外部からの侵入から守るためにファイアウォール(防火壁)を構築することができます。設定方法は /usr/doc/JF/Firewall-HOWTO.txt.gz 書かれています。ファイアウォールを構築すると、LANの内側と外側では直接アクセスすることはできなくなります、しかし、IPフィルタリングを行うことで、特定の機能だけを残すことができます。設定方法は/usr/doc/JF/ipchains-mini-HOWTO.txt.gz を参照してください。
簡単なアクセス制限の方法として、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
|
詳細はman hosts.allow, jman hosts_optionsを参照して下さい。
| <<< Previous | Home | Next >>> |
| LANとセキュリティ | Up | 各種サーバの起動 |