linux-hardening について
CIS ベンチマークやセキュリティベースライン、コンプライアンス要件に対応する管理者向け Linux サーバー強化スキルです。SSH、アカウント、ファイアウォール、カーネル、権限、監査の設定を扱います。
主な機能
- 01SSH アクセスの強化
- 02パスワードポリシー設定
- 03ファイアウォールルール設定
- 04カーネルのセキュリティ設定
- 05ファイル権限の確認
- 06監査ルールの設定
活用シーン
- 01本番サーバーの強化
- 02セキュリティベースラインの適用
- 03コンプライアンス要件への準備
- 04SSH アクセスの保護
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bagelhole/ devops-security-agent-skills --skill linux-hardeningインストール後、Claude Code で/linux-hardeningを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/ssh-hardening.confsysctl-hardening.confreferences/cis-checklist.mdscripts/audit-system.shharden-system.sh詳細
Linux の堅牢化
CIS ベンチマークとセキュリティのベストプラクティスに従って、Linux サーバーを保護します。
このスキルを使用する場面
次のような場合に、このスキルを使用します。
- 本番サーバーを堅牢化する
- コンプライアンス要件を満たす
- セキュリティベースラインを実装する
- 安全な SSH アクセスを設定する
SSH の堅牢化
# /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowUsers deploy admin
Protocol 2
ユーザーセキュリティ
# Password policy
sudo apt install libpam-pwquality
# /etc/security/pwquality.conf
minlen = 14
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
# Lock inactive accounts
useradd -D -f 30
# Audit sudo usage
echo "Defaults logfile=/var/log/sudo.log" >> /etc/sudoers
ファイアウォールの設定
# UFW setup
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 443/tcp
ufw enable
# Or iptables
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
カーネルの堅牢化
# /etc/sysctl.d/99-security.conf
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
kernel.randomize_va_space = 2
fs.suid_dumpable = 0
# Apply
sysctl -p
ファイルのアクセス権
# Critical files
chmod 600 /etc/shadow
chmod 644 /etc/passwd
chmod 700 /root
chmod 600 /etc/ssh/sshd_config
# Find world-writable files
find / -type f -perm -0002 -ls
# Find SUID files
find / -perm -4000 -type f -ls
監査の設定
# Install auditd
apt install auditd
# /etc/audit/rules.d/audit.rules
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/sudoers -p wa -k actions
-a always,exit -F arch=b64 -S execve -k exec
ベストプラクティス
- 使用していないサービスを無効にする
- システムを最新の状態に保つ
- 侵入防止に fail2ban を使用する
- SELinux/AppArmor を有効にする
- 定期的にセキュリティ監査を実施する
- ログファイルを監視する
- 最小権限を実装する
関連スキル
- cis-benchmarks - コンプライアンススキャン
- firewall-config - ファイアウォールルール
コメント
Markdown 対応