mcpField
L
linux-hardening

linux-hardening

github.com/bagelholeセキュリティ1.2k781 回インストール23 週間前に更新
リポジトリ

linux-hardening について

CIS ベンチマークやセキュリティベースライン、コンプライアンス要件に対応する管理者向け Linux サーバー強化スキルです。SSH、アカウント、ファイアウォール、カーネル、権限、監査の設定を扱います。

主な機能

  1. 01SSH アクセスの強化
  2. 02パスワードポリシー設定
  3. 03ファイアウォールルール設定
  4. 04カーネルのセキュリティ設定
  5. 05ファイル権限の確認
  6. 06監査ルールの設定

活用シーン

  1. 01本番サーバーの強化
  2. 02セキュリティベースラインの適用
  3. 03コンプライアンス要件への準備
  4. 04SSH アクセスの保護

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bagelhole/devops-security-agent-skills --skill linux-hardening

インストール後、Claude Code で/linux-hardeningを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
ssh-hardening.conf
sysctl-hardening.conf
references/
cis-checklist.md
scripts/
audit-system.sh
harden-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 を有効にする
  • 定期的にセキュリティ監査を実施する
  • ログファイルを監視する
  • 最小権限を実装する

関連スキル

コメント