サーバーセキュリティ監査
さまざまな評価ツールを使ってサーバーの包括的なセキュリティ監査を実施し、脆弱性や設定ミスを特定します。
「サーバーセキュリティ監査」はCoddyKit上の無料Linux Server Deployment & SSH Masteryレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Server Deployment & SSH Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。
セキュリティ監査とは
サーバーのセキュリティ監査は、サーバーの健康診断のようなものです。主な目的は、攻撃者に悪用される可能性のある脆弱性や設定ミスを見つけることです。
これは、システムが保護されていることを確認するための予防的な方法です。実際の問題になる前に潜在的なリスクを特定します。サーバーの防御を入念に点検する作業だと考えてください。
サーバーを監査する理由
定期的なセキュリティ監査が重要な理由は、いくつかあります。
- 侵害を防ぐ:攻撃者に見つけられる前に脆弱性を特定します。
- コンプライアンスを確保する:業界標準や規制(GDPR、HIPAAなど)に準拠します。
- 信頼を維持する:機密データとユーザーのプライバシーを保護します。
- セキュリティ態勢を改善する:サーバー全体のセキュリティを継続的に強化します。
基本的なチェックから始める
複雑なツールに取り組む前に、簡単な手動チェックから始めましょう。これだけでも、よくある、比較的簡単に修正できる問題が見つかることがあります。
- すべてのソフトウェアパッケージは最新ですか。
- どこかのサービスでデフォルトパスワードがまだ使われていませんか。
- 不要なサービスが実行されていませんか。
- ファイアウォールは有効で、適切に設定されていますか。
開いているネットワークポートを確認する
開いているポートは、攻撃者の侵入口になる可能性があります。どのサービスが接続を待ち受けているのか把握することが重要です。
ssコマンド(Socket Statistics)は、ネットワークソケットを調べるための最新のツールです。古いnetstatよりもよく使われます。
<code>ss</code>でポートを一覧表示する
次のコマンドを実行すると、サービス名やユーザーIDを解決せずに、待ち受け中のすべてのTCPポートとUDPポートを確認できます。開いているポートの raw な一覧が表示されます。
ss -tuln<code>ss</code>の出力を読み解く
ss -tulnの出力には、複数の列が表示されます。
- State:(例:接続を待機しているサービスを示すLISTEN)
- Local Address:サービスが待ち受けているIPアドレスとポート(例:
0.0.0.0:22は、SSHがすべてのインターフェースでポート22を待ち受けていることを意味します)。 - Peer Address:接続中のクライアントのリモートアドレス(待ち受けポートでは表示されません)。
予期しない開放ポートを特定するには、Local Address列に注目してください。
実行中のサービスを特定する
実行中のサービスはすべてリソースを消費し、脆弱性をもたらす可能性があります。本当に必要なサービスだけを実行するべきです。
systemdを使用する最新のLinuxシステムでは、systemctlコマンドを使って、アクティブで実行中のすべてのサービスを一覧表示できます。
アクティブなサービスを一覧表示する
次のコマンドを試して、サーバーで現在実行中のすべてのサービスを一覧表示してください。認識できないサービスや、必須ではないサービスがないか確認しましょう。
systemctl list-units --type=service --state=running重要なファイルの権限を確認する
機密ファイルの権限が正しくないと、システムが危険にさらされる可能性があります。/etc/passwd(ユーザーアカウント)や/etc/shadow(ハッシュ化されたパスワード)などのファイルは重要です。
たとえば/etc/shadowファイルは、パスワードハッシュを保護するため、rootだけが読み取れるようにする必要があります。ls -lを使って権限を確認してください。
ls -l /etc/passwd /etc/shadow自動監査ツール
手動チェックも有効ですが、自動化ツールを使えば、既知の問題や設定ミスを数百件単位で迅速にスキャンできます。包括的なレポートも作成できます。
LynisやOpenVASなどのツールでは、次の項目を確認できます。
- 古いソフトウェアバージョン
- 適用されていないセキュリティパッチ
- 脆弱なユーザー設定
- 安全でないシステム設定
これらのツールによって、監査の能力を大幅に高められます。
監査ツールのクイックチェック
セキュリティ監査を実施しており、Linuxサーバーで現在接続を待ち受けているネットワークポートをすぐに確認したいとします。
監査のまとめとその先
サーバーのセキュリティ監査を実施するための基本を学びました。監査が重要な理由と、初期チェックの方法を確認しました。
ssで開いているポートを調べる。systemctlで実行中のサービスを特定する。- 重要なファイルの権限を確認する。
- 自動監査ツールの役割を理解する。
セキュリティ対策は継続的なプロセスです。定期的な監査と、見つかった問題への迅速な対処を組み合わせることが、堅牢なサーバーを維持する鍵となります。
よくある質問
「サーバーセキュリティ監査」レッスンは無料ですか?
はい。「サーバーセキュリティ監査」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Server Deployment & SSH Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Server Deployment & SSH Masteryコースには全4レッスンが含まれています。
「サーバーセキュリティ監査」で何を学びますか?
さまざまな評価ツールを使ってサーバーの包括的なセキュリティ監査を実施し、脆弱性や設定ミスを特定します。 ブラウザで直接実行するハンズオンコードでLinux Server Deployment & SSH Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Linux Server Deployment & SSH Masteryを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLinux Server Deployment & SSH Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「サーバーセキュリティ監査」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLinux Server Deployment & SSH Masteryレッスンでコードを書いて実行できますか?
はい。すべてのLinux Server Deployment & SSH Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- サーバーセキュリティ監査
- 高度なファイアウォールルール(IPTables)
- 侵入検知と防御
- 集中ロギングとSIEM連携