◆ ログイン制御
Linuxシステムをrootユーザーだけが使用したい場合は、Linuxシステムに空の/etc/nologinファイルを
作成します。これによりrootユーザー以外のユーザーはログインできなくなります。
◆ 実行例 : /etc/nologinファイルの作成
また、メールサーバやFTPサーバなどではユーザーアカウントは必要ですが、ユーザーがログインして
シェルを実行することは好ましくないため、ユーザーのログインシェルを/sbin/nologinに変更する事で
一般ユーザーのLinuxシステムへのログインを禁止することもできます。
◆ 設定例 : ユーザー「mike」のログインの禁止
# usermod -s /sbin/nologin mike |
◆ スーパーサーバ
以前のLinuxシステムは、ネットワーク通信をする各プログラムを起動してメモリ上に常駐させていました。
この状態では、多くのCPUやメモリを消費することになりリソースの無駄使いとなってしまいます。そこで
この問題を解決するために、サーバプログラムを管理する「スーパーサーバ」というものが開発されました。
スーパーサーバは、他のサーバプログラムに変わってサービス要求を監視して、接続確立時に本来のサーバ
プログラムに要求を引き渡します。このように必要時に個々のサーバプログラムを起動することでリソース
を効率的に使用できます。また、TCPラッパーと組み合わせることで、アクセス制御を集中管理できます。
ただし、応答が遅れるというデメリットもあるので、Webサーバやメールサーバなどには適していません。
FTPやsshサーバなどの接続頻度の高くないサーバは、スーパーサーバ経由の接続が適します。
スーパーサーバにはinetdとxinetdがあり、多くのディストリビューションではxinetdが採用されています。
◆ inetdの設定
inetdは、xinetdが登場するまで一般的に使用されていたスーパーサーバのデーモンです。inetdの設定は
/etc/inetd.conf ファイルに記述されています。詳細な設定については、/etc/inetd.d ディレクトリに
格納されています。inetdはセキュリティ問題や柔軟性のなさから、現在はほとんど使用されていません。
◆ xinetdの設定
xinetdは、inetdを拡張したスーパーサーバのデーモンです。xinetdの設定は、/etc/xinetd.confファイル
に記述(主なパラメータは以下の通り)されています。全体的な設定は/etc/xinetd.confファイルで設定
を行いますが、各サービスごとの設定ファイルは、/etc/xinetd.dディレクトリ以下にあります。
◆ /etc/xined.conf ファイルの設定例
defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
|
◆ /etc/xinetd.confファイルの主なパラメータ
パラメータ |
説明 |
instances |
各サービスにおける最大デーモン数 |
log_type |
ログの出力方法 |
log_on_success |
接続許可時にログに記録する内容 |
log_on_failure |
接続拒否時にログに記録する内容 |
cps |
1秒間に接続可能な最大コネクション数 ・ 限度に達した時のサービス休止の秒数 |
includedir |
各サービスごとの設定ファイルを格納するディレクトリ |
/etc/xinetd.dディレクトリ配下にある設定ファイルは、サービス名がファイル名になっています。
/etc/xinetd.dディレクトリ配下にある設定ファイルで使用される主なパラメータは以下のとおりです。
パラメータ |
説明 |
disable |
サービスの有効(no) / 無効(yes) |
socket_type |
通信のタイプの指定。TCP(stream) / UDP(dgram) |
wait |
ウェイトタイム |
user |
サービスを実行するユーザー名 |
server |
サーバプログラムへのフルパス |
server_args |
サーバプログラムに渡す引数 |
log_on_failure |
接続拒否時にログに記録する内容 |
nice |
実行優先度 |
only_from |
接続を許可する接続元 |
no_access |
接続を拒否する接続元 |
access_time |
アクセスを許可する時間帯 |
◆ 設定例 : サービスの有効、無効の変更後は、xinetdの再起動が必要
# /etc/init.d/xinetd restart |
◆ TCP Wrapper (TCPラッパー)
Linuxには、TCP Wrapperと呼ばれるセキュリティソフトウェアがあります。TCPラッパーは通信で使用
するTCPポートを把握していて、アクセス制御を行ったり、通信ログを保存することができます。この機能
を使うことによって外部からアクセスしてくるポートの細かい制限を行うことができます。TCPラッパーの
設定は、/etc/hosts.allowファイルと/etc/hosts.denyファイルを使用します。
設定ファイル |
説明 |
/etc/hosts.allow |
アクセス制御の許可設定を行うファイル |
/etc/hosts.deny |
アクセス制御の拒否設定を行うファイル |
◆ 書式 : デーモン名 : ホスト名またはIPアドレス
◆ /etc/hosts.allowファイルの設定例 : 192.168.100.0/24のネットワークからのFTP接続を許可
◆ /etc/hosts.allowファイルの設定例 : 192.168.100.0/24のネットワークからのSSH接続を許可
◆ /etc/hosts.denyファイルの設定例 : 全てのホストからの全サービスへの接続を拒否
TCP Wappperでは、最初に/etc/hosts.allowファイルをチェックして、次に、/etc/hosts.denyファイルを
チェックします。/etc/hosts.allowファイルに合致する内容があれば/etc/hosts.denyファイルは参照せず、
/etc/hosts.allowファイルと/etc/hosts.denyファイルの両方に合致しない場合、許可されることになります。
|