2026年9月19日
2026年9月19日
Linuxのsuコマンドの使用を制限する方法
はじめに
su コマンドは、Linuxシステム上で他のユーザーとしてログインするための強力なツールです。しかし、不適切に使用すると、システム全体への深刻な脅威となる可能性があります。本記事では、特定のユーザーのみが su コマンドを使用できるように制限を設ける方法について説明します。
症状・背景
この問題が必要になる主な場面は以下の通りです:
- セキュリティ上の懸念: 全てのユーザーやグループに対して
suコマンドが利用可能だと、システム全体への不正アクセスリスクが高まります。 - 管理の簡素化: 管理者以外のユーザーに
suコマンドの使用を許可すると、誤った操作や意図しない変更が行われる可能性があります。
手順・設定方法
ステップ1: /etc/pam.d/su ファイルの編集
# su コマンドのセキュリティポリシーを定義するファイルを開く
sudo nano /etc/pam.d/su
# 以下のように追加行を挿入します。
#
# 例: 具体的なユーザー名が root に制限される場合
# auth required pam_wheel.so use_uid
ステップ2: /etc/group ファイルの編集
# ウィールグループ(wheel)のメンバーシップを確認する
grep wheel /etc/group
# root以外のユーザーをウィールグループに追加
sudo usermod -aG wheel your_username
ステップ3: pam_wheel モジュールの利用
# `/etc/pam.d/su` に以下を追加します。
auth required pam_wheel.so use_uid
# ウィールグループ以外のユーザーが su コマンドを使用できないことを確認します。
su - your_username
ステップ4: pam_tally2 を利用して不正なログイン試行を制限する
# 不正なログインを記録するための設定ファイルを開く
sudo nano /etc/pam.d/su
# 以下のように追加行を挿入します。
#
auth required pam_tally2.so onerr=fail deny=3 unlock_time=600
注意事項
- 実践的な注意点1: ウィールグループ以外のユーザーが
suコマンドを使用できないようにすることで、システム全体への不正アクセスを制限します。 - 実践的な注意点2: 他の管理タスク(SSHアクセス制御など)と組み合わせて使用することで、セキュリティレベルをさらに高めることができます。
- セキュリティ上の注意: ウィールグループのメンバーシップは慎重に管理し、必要なユーザーのみを追加することをお勧めします。
- パフォーマンス/運用上の注意:
pam_tally2の設定により、連続して失敗したログイン試行が記録されます。適切なunlock_timeを設定することで、不正アクセスからシステムを守ります。
まとめ
1. 制限の導入: ウィールグループを使用して特定のユーザーのみが su コマンドを使用できるようにします。
2. グループ管理: ユーザーをウィールグループに追加または削除することで、アクセス制御を実現します。
3. セキュリティ強化: pam_tally2 を利用して不正なログイン試行を記録し、システム全体への侵入を防ぎます。
4. 定期的なレビュー: セキュリティポリシーは定期的にレビューを行い、必要に応じて更新することをお勧めします。
5. トレーニングと教育: ユーザーに対してセキュリティに関する基本知識を提供することで、不適切な操作を防ぎます。
関連記事: