セキュリティ関連


ログイン制御
FTPの使用は許可して、telnetやsshの使用は拒否するようにしてみたいと思います。
方法はたくさんあると思いますが、以下の2つの方法でやってみたいと思います。
まずは、/etc/login.accessのファイルを編集することで、ログインの制御をすることにします。

login.access ファイルは、ログインを許可または拒否する (ユーザ, ホスト) の組や (ユーザ, tty) の組を指定します。

誰かがログインする際に、 login.access から (ユーザ, ホスト) の組にマッチする 最初のエントリを探します。非ネットワークログインの場合には、 (ユーザ,tty) の組 にマッチする最初のエントリを探します。表のエントリ中のパーミッションフィールド は、ログインを許可するか拒否するかを決定します。

ログインアクセス制御表の各行は、":" 文字で区切られる次のような 3 フィールド から成ります: パーミッション : ユーザ : 起点

第 1 フィールドは、"+" (アクセス許可) もしくは "-" (アクセス不許可) の文字です。 第 2 フィールドは、ログイン名・グループ名・ALL (常にマッチ) を 1つ以上含む リストです。第 3 フィールドは、
tty 名 (非ネットワークログイン用)・ホスト名・ドメイン名 ("." から開始)・ ホストアドレス・インターネットのネットワーク番号 ("." で終了) ・ALL (常にマッチ)・LOCAL ("." を含まない文字列にマッチ) を 1 つ以上含むリスト です。 NIS 使用時には、ホストおよびユーザの指定に @netgroupname を使用できます。

EXCEPT 演算子を使用すると、非常に小さいルールを記述できます。

名前がログインしたユーザ名にマッチしない場合のみ、グループファイルが検索されます。 ユーザが明示的にリストされているグループのみがマッチします。このプログラムは ユーザのプライマリグループ ID 値を見ません。

/etc/login.access
+:freeman root:ALL
-:ALL:ALL LOCAL

リモートホストからのログインは、freeman からのみとなり ます。
コンソールからのログインはfreeman、root のみ可能です。


次にシェルを変更して制限する方法です。
単に使用するシェルを、/sbin/nologinに変更するだけですが、こちらの方が一般的に使用されているみたいです。
コマンドからvipwで、制限したいユーザーのシェルを変更します。
freeman:*:1000:1000:hogehoge:/usr/home/freeman/./:/sbin/nologin
上記のように設定したら、/etc/shellsの方にも/sbin/nologinを追加しておきます。

/etc/ttysの編集
rootパスワードを知る人だけがシングルユーザモードを使えるようにするために、secureからinsecureに、以下の行を変更します。
console	none	unkonown	off	insecure


メールエリアスの設定
postmasterやroot宛てに届いたメールを、一般ユーザーのアドレスで受け取るために、/etc/aliasesを設定します。
エラーメールや、不正(不穏)アクセスなアクセスを受けたときに、システムが自動的に関知してroot宛てにメールを送信してきたりしますので、結構重要です。
MAILER-DAEMON:	postmaster
postmaster:	root
webmaster:	root
root:		freeman

危険なCGIスクリプトの削除
apacheをインストールしたときに、phf, test-cgi, nph-test-cgi等のファイルが/usr/local/www/cgi-binとかに入っていると思いますが、これらは危険なので削除しておきます。

telnetの禁止
telnetのは暗号化されないので、SSHを使用します。telnetは立ち上げないように設定します。

/etc/inetd.confを編集します。
以下のように、telentのところに#を付けてコメントアウトておきます。これで、inetdを再起動させると、telnetが起動されなくなります。
#telnet	stream	tcp	nowait	root	/usr/libexec/telnetd	telnetd

設定ファイルのアクセス権
最低でも以下のファイルは、パーミッションを700等にして、root以外は読み書きできないように設定して置いた方が良さそうです。
/etc/rc.confシステム起動に関する設定ファイル
/etc/fstab起動時にマウントするボリュームの設定ファイル
/usr/local/etc/rc.d/システム起動時に実行されるスクリプトの設定ファイルが入ったディレクトリ

rootになれるユーザーを制限
FreeBSDでは、rootになれるユーザーは、wheelグループ(0)に属しているグループだけになっています。
rootになれるユーザーを限定するには、これを変更してやればいいので、/etc/groupのファイルを編集します。
wheel:*:0:root,freeman
以上のように設定されていれば、rootとfreeman以外は、rootになるこどが出来ません。



BACK