セキュリティ

トラブルシューティング

fail2banが動いているか不安?動作検証テストと誤BANされたときの緊急救済コマンド

fail2banが正しく動作しているかを安全に検証するテスト手順を解説。手動BANテストやログ正規表現の照合(fail2ban-regex)、誤って作業端末のIPがブロックされた際の解除コマンド(unbanip)、除外設定(ignoreip)をまとめました。
トラブルシューティング

SSH公開鍵認証で弾かれたらここを見ろ!「Permission denied」を招くパーミッションの罠と調査ログ完全ガイド

SSH公開鍵認証で「Permission denied (publickey)」が出る原因と解決策を解説。StrictModesによる拒絶の仕組み、ホームディレクトリ・.ssh・authorized_keysの必須パーミッション、auth.logを用いた最短ログ調査手順を紹介します。
トラブルシューティング

「*** System restart required ***」はいつ再起動すべきか?ダウンタイムを最小化する運用判断ルール

Ubuntuサーバーにログインした際に出る「*** System restart required ***」の正体と、安全な再起動タイミングの判断基準を解説。何が原因かを特定するコマンド(reboot-required.pkgs)や、再起動失敗・ダウンタイムを防ぐ事前チェック手順を紹介します。
自宅サーバー

【自宅サーバー完全防衛】UFW × fail2ban × Nginxセキュリティヘッダーで鉄壁の要塞を作る最適解ガイド

自宅サーバーを安全に公開するための多層防御ガイド!UFWによる不要ポート遮断、Nginxセキュリティヘッダー設定、fail2banでの不正アクセス自動BANまで、コピペで使える設定コードと実践ツールを活用した完全防衛手順を徹底解説。
Ubuntu

【WordPress】実践Webツール10選を自作・ポータル化!functions.phpの整理術とショートコード一括管理の裏側

WordPress上にインフラ・セキュリティ系Webツール全10種を構築・ポータル化した開発記録。functions.phpの肥大化を防ぐ連想配列×クロージャ一括管理術や、完全クライアントサイド設計のUI/UX思想を全コード付きで徹底解説します。
自宅サーバー

【決定版】401 Unauthorizedと403 Forbiddenの違いと、迷わないAPIエラー設計・フロント実装パターン

401 Unauthorizedと403 Forbiddenの決定的な違いをわかりやすく解説!認証(AuthN)と認可(AuthZ)の境界線から、RFC仕様に基づいたAPIエラー設計、Axiosでのフロント制御、404との使い分けまで実践的にまとめました。
CentOS Stream 9

【Stream9ユーザーが送る】SELinuxの呪文から解放?Ubuntu標準「AppArmor」とアクセス制御のハマりどころ

CentOS Stream 9で散々戦ってきた「SELinux」と、Ubuntu標準の「AppArmor」の違いを解説!パーミッション設定は合っているのに403エラーが出る原因や、両者のアクセス制御思想、トラブル時のログの追い方の違いをまとめました。
NGINX

Nginxで複数サブドメイン(個別証明書)を運用しているとき、IP直撃アクセスが「タイムアウト」になる理由と防衛上の正解

Nginxで複数のサブドメインを個別証明書と別々の.confで運用している環境で、IP直撃や未知のホスト名アクセスが「タイムアウト」になる理由と、そのセキュリティ上のメリットを解説。設定の整理整頓が結果的に強力なサイレント防衛になっていた、エンジニア必見のリアルな検証録です。