投稿

ラベル(Cyber Security)が付いた投稿を表示しています

FreeBSD14 + Nginx + fail2banで不正なアクセスを自動ブロック

ウェブサーバーへの攻撃が増えてきたので対策したときの覚書。 環境: FreeBSD 14.3-RELEASE-p2, nginx 1.28.0 Gemini 2.5 Proと対話しながら作業している。 1. fail2banとは? Fail2banは、サーバーのログファイルを監視し、特定のパターン(ブルートフォース攻撃、スキャン活動など)を検知すると、その攻撃元のIPアドレスを自動的にファイアウォールでブロックする、侵入防止ソフトウェア。 動作の仕組み 監視 (Monitor): Nginxのアクセスログやエラーログ、SSHの認証ログなどをリアルタイムで監視。 検知 (Detect): フィルタと呼ばれる正規表現ルールに基づき、ログの中から「存在しないページへの連続アクセス」といった不正な兆候を探します。 ブロック (Block): 不正な兆候が一定回数(例: 5分以内に3回)見つかると、アクションを実行して、OSのファイアウォール(FreeBSDの場合はpf)にそのIPアドレスを一時的にブロックするよう命令。 解除 (Unban): 設定された時間が経過すると(例: 1時間後)、自動的にブロックを解除。 fail2banとSSHGuardの違い 項目 fail2ban SSHGuard 主な用途 ログを監視し、不正アクセスをiptables/pf等でブロック SSHや各種サービスのログを監視し、攻撃元IPをブロック サービス対応範囲 汎用的(Nginx, Postfix, Dovecot, SSH など多数のfilter用意) 主にSSH向け(追加対応も可能だが限定的) 設定の柔軟性 高い(正規表現でログ解析ルールをカスタマイズ可) 比較的シンプル、細かいカスタマイズは難しい 導入・設定難易度 やや高い(filter/jail設定が必要) 低い(導入して有効化するだけで基本動作) FreeBSDでの利用実績 ports/packages で提供、Nginx対策にもよく使われる FreeBSD標準での利用実績が多く軽量 リソース消費 やや重い(Python製) 軽量(Cで実装) 特徴 多機能でNginxなど幅広いサービスを守れる シンプルで軽量、主にSSH向けに効果的 2.fail2banのインストールと設定 pkgでインストール。 # pkg s...

Mac mini 2024をWindowsからVNCで操作

Mac mini 2024を買ったので設定しているときの覚書。 Mac環境: Apple M4 Pro, Memory 24GB, macOS Sequoia(セコイア) 15.6 Windows環境: Windows 11 Pro 24H2, VNC viewer 6.17.1113 1. VNCでログインすると画面が真っ黒(真っ暗)になる 設定 → 共有 → 画面共有 画面共有を一旦オフにしてオンにすると表示されるようになった。 2. Mac本体でログインしないとVNCでログインできない このMac miniは仮想マシンを起動させる母艦として利用しているので、起動させてから本体でログインせずWindowsから操作したい。 FileVaultを無効 にする。 FileVaultはログインパスワードでユーザーのホームディレクトリを暗号化している。 設定 → プライバシーとセキュリティ → FileVault → オフにする 再起動。 これでMac本体でログインしなくてもVNCでログインできるようになった。 MacのSambaが完全に起動して、NetBIOS名で名前解決できるようになって、VNC Serverも起動する。 3. FileVault, BitLocker, T2チップ, TPM FileVaultがオフでもT2チップで暗号化してるよね?と思って引き続き調査。 セキュリティチップ名: T2チップ(Mac), TPM(Windows) 暗号化機能: FileVault(Mac), BitLocker(Windows) MacはFileVaultがオフの場合でもT2チップによってストレージを暗号化する。 そのため SSDだけ抜き出してもペアになっていたT2チップ経由でないと複合化できない 。 別のMacに繋げてもT2チップが違うので複合不可。 Windowsの場合は、TPM(Trusted Platform Module)がマザーボードに搭載されていても BitLockerがオフの場合ストレージを暗号化しない。 そのためSSDだけ抜き出して他のPCに繋げてデータを読み取れる。 Surfaceや一部のWindowsノートPCはDevice Encryptionが自動有効化されるらしい。 MacとWindowsのストレージ暗号化の違い。 項目 Mac(T2...

CentOS Stream 9 + firewalld + SSHGuardで不正な攻撃を自動ブロック

FreeBSDでSSHGuardを導入したのをCentOSのサーバーでもやったときの覚書。 Gemini 2.5 Proに教えてもらっている。 環境: CentOS Stream 9, SSHGuard 2.4.2-7.el9 1.firewalldをインストールして設定 このサーバーはサービス提供ホストのファイヤーウォールに頼っていたので、firewalldをインストールするところから。 # dnf install firewalld firewalldを起動 # systemctl start firewalld # systemctl status firewalld firewalldが再起動したときでも有効になっているか確認。 # systemctl list-unit-files -t service firewalldの登録内容確認、サービスの確認。 # firewall-cmd --list-all # firewall-cmd --list-services この段階ではhttpとhttpsが遮断されているはず。 運用しているウェブサイトをブラウザで表示して確認。 firewalldへサービスの削除と登録。 # firewall-cmd --get-services # firewall-cmd --remove-service=cockpit --permanent # firewall-cmd --add-service=http --permanent # firewall-cmd --add-service=https --permanent # firewall-cmd --reload # firewall-cmd --list-services 運用しているウェブサイトが表示できるか確認。 2.SSHGuardをインストールして設定 dnfでインストール。 # dnf install sshguard sshguard-firewalldもインストールされる。 設定を確認。 # less /etc/sshguard.conf THRESHOLD=20 BLOCK_TIME=1200 DETECTION_TIME=1800 BLACKLIST_FILE=/var/lib...

FreeBSD14 + SSHGuard + PF(Packet Filter)で不正な攻撃を自動ブロック

SSHGuardを導入した方がssh攻撃を放っておくより圧倒的にリソース消費を抑えるとのことなので導入したときの覚書。 Gemini 2.5 Proに教えてもらっている。 環境: FreeBSD 14.3-RELEASE-p2, SSHGuard 2.5.1,1 1. SSHへの攻撃を放置しておいた場合のリソース消費 仮想マシン提供側のファイアウォール(ConoHaだとセキュリティグループ)だけだとリソースを消費し続ける。 ネットワークリソースの消費: 攻撃者が送りつけてくる不正なパケットを、ネットワークインターフェースがすべて受信します。これだけでネットワーク帯域とCPUの割り込み処理リソースを消費します。 sshdプロセスの生成: SSHへの接続試行があるたびに、OSは新しいsshdのプロセスをフォーク(生成)します。プロセスの生成自体がCPUとメモリを消費します。 ログにはsshd[19312], sshd[19314], sshd[19317]... と大量のプロセスIDが記録されており、これが頻繁に発生している証拠です。 認証処理の実行: 生成されたsshdプロセスは、ユーザー名が存在するかどうかを確認し、パスワード認証の準備をします。これには、/etc/passwdへのアクセス、暗号化関連のライブラリの呼び出しなどが含まれ、CPUリソースを消費します。 ログの書き込み: 認証失敗のたびに、sshdはログ(/var/log/auth.logなど)に詳細を書き込みます。頻繁なディスクI/Oが発生し、ディスク性能やCPUリソースを消費します。 PFとsshguardを導入すると、攻撃元IPアドレスごとに最初の数回の試行に対してはリソースを消費するが、ブロックされた後はそのIPからの攻撃による負荷はほぼゼロ。 定常的に動作するPFとsshguard自体のリソース消費量は、 放置した場合の負荷に比べて圧倒的に軽微 。 2. SSHGuardとは sshdなどのログファイルをリアルタイムで監視し、短時間に繰り返される認証失敗を検知すると、その攻撃元IPアドレスをOSのファイアウォール(PF, IPFWなど)と連携して動的にブロックする。 公式サイト:  SSHGuard 特徴 動作原理: ログファイル(例: /var/log/auth.log)をt...

ウイルス対策ソフト「ESET」とセキュリティリスク

お客様の環境で導入しているウイルス対策ソフト「ESET(イーセット)」を調査したときの覚書。 1.ESET Smart Security ESET Smart Security - Wikipedia 法人のお客さま|ESETセキュリティソリューションシリーズ スロバキア(EU加盟国/ウクライナの西隣り)に本社をもつESET社が開発。 日本でははキヤノンITソリューションズが販売代理店。 教育機関、病院、官庁、地方自治体での導入が多い。 価格が安い。 年間費用(50台~99台):  3,620円/1台 教育機関や官公庁ではさらに安くなる。 参考: 価格|ESET PROTECT Entry オンプレミス|ESET PROTECTソリューション 主な特徴 対応OS: Windows/Mac/Linux/Android インストールするとWindows defenderは無効化される。 参考:  Windows DefenderとESET製品の共存について | ESETサポート情報 メール監視/迷惑メールの自動振り分け 暗号化通信の検査(HTTPS, POP3S) クラウド型セキュリティ管理ツール USBメモリや外部デバイスの制御 WEB閲覧制御 ディスク暗号化 セキュリティソフトの比較サイト セキュリティソフトの比較 2023 - the比較 2.Windows標準のDefenderで十分か? ESET公式の解説サイト Mac・Windows標準搭載のセキュリティで大丈夫?ウイルス対策ソフトの必要性 | ESET 上記サイトの「セキュリティソフトが必要な理由」と個人的な見解 迷惑メールやフィッシング詐欺から身を守る → メールサーバーで判断すればいい → WindowsやOutlookにも標準装備されている 攻撃者はOS標準搭載のウイルス対策の脆弱性を突いてくる → 攻撃者はセキュリティソフトの脆弱性も突いてくる → セキュリティソフト自体が攻撃者と情報漏洩元になる可能性もある Windows10以降は十分なセキュリティ対策をしている。 Windows のセキュリティ | Microsoft Learn 3.ESETを導入しようと思いますがどうですか?という質問に対して 得られるメリット 価格が安い。 クラウド管理なので設定が楽。...