LANを構成してインターネットに接続している場合や,多くのユーザがいる場合には,LANの構成やセキュリティについて考慮しなければなりません.
多数のホストを接続してLANを構成する場合のヒントをいくつか示します.LAN 一般に関しては, /usr/doc/JF/LAN-mini-HOWTO.txt.gzを参照して ください.
単一のホストしかない場合は,/etc/passwdにユーザを登録すれば良
いですが,多数のホストがある場合には,全てのホストのファイルを書き換え
ることは大変です.LANを構成した場合,NIS(YP)によってユーザを管理する方
法があります.
/usr/doc/JF/NIS-HOWTO.txt.gz に設定方法が書かれています
ので参照してください.
多数のホストのどれにログインしても同じ環境を得るようにするには,ホーム ディレクトリ(/home)を全てのホストで共有する必要があります.同様に, /usr/localなどを共有させることもできます.この共有には NFSマウントを用 います.ホームディレクトリを管理するファイルサーバを設定します.各ホス トはファイルサーバのファイルシステム(ディスク)をマウントすることで,ロー カルに持っているファイルシステムと同様に利用することができます.設定に ついては /usr/doc/JF/NFS-HOWTO.txt.gz を参照して下さい.
ホスト名とIPアドレスを対応付けるにはいくつかの方法があります.単一ホストの場合,必要なホストを /etc/hostsに記述すれば良いですが,多数のホストを管理する場合,全てのホストのファイルを書き換えるのは大変です.そこで,前述の「ユーザ管理」と同様に NISを用いて解決することができます.
次に,LANにある各ホストをLAN外からアクセスできるようにするには,ネーム サーバにホスト名とIPアドレスを登録する必要があります.上流のドメインに ネームサーバがある場合は,そこに登録してもらえばアクセスできます.もし 独自のネームサーバを設定する場合は,上流のドメインの管理者に相談してか ら設定してください.設定方法は /usr/doc/JF/DNS-HOWTO.txt.gz に書かれて います.
LAN内にあるホストにプライベートネットワークのIPアドレスを付けた場合, そのままではLAN外にアクセスすることはできません.IP マスカレードを利用 すると,IPアドレスが登録されていないホストでもルータとして設定されてい るホストを経由してアクセスすることができます.設定方法は /usr/doc/JF/IP-Masquerade.txt.gzを参照してください.
プライベートネットワークには以下のアドレスが予約されています.
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
LAN内のホストが外部にアクセスするには,通信ができるように経路(ルート) を決める必要があります.設定方法は /usr/doc/JF/NET-3-HOWTO.txt.gz を参照してください.
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を
実行します.
システム管理を行うには,suコマンドを用います.一般ユーザに suコマンドを利用させないようにするには,まず,システム管理者を /etc/groupの wheelに追加します.次に,/etc/pam.d/su に以下を追加します.
auth required /lib/security/pam_wheel.so debug group=wheel
こうすると,/etc/groupの wheelに登録されたユーザしか suコマンドを実行することができなくなります.
サーバなどは 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に設定されます.例えば,外部からはopensshでアクセ スするため,telnetやrsh,rloginなどによってアクセスできないようにする場 合は,/etc/hosts.denyに以下のように記述します.
in.telnetd: ALL
in.rshd: ALL
in.rlogind: ALL
もし,一部のホスト(例えばvinelinux.orgドメインのホスト)からはアクセスを
許可したい場合は,そのホストを/etc/hosts.allowに記述します.
ALL: LOCAL
in.telnetd: .vinelinux.org
詳細はman hosts.allow, jman hosts_optionsを参照して下さい.