編集済み 4 数日前 によって ExtremeHow 編集チーム
セキュリティウブントゥサーバーベストプラクティスリナックス設定オペレーティングシステム管理システムネットワーキング
翻訳が更新されました 4 数日前
Ubuntuサーバーを保護することは、データ、アプリケーション、およびユーザーを悪意のある攻撃から守るために重要な作業です。このガイドは、ユーザー管理、サービスのセキュリティ、ネットワーク管理、監視などを含むさまざまな側面をカバーし、Ubuntuサーバーを保護する方法について詳しく説明します。
Ubuntuサーバーを安全に保つための最初で最も重要なステップは、それを最新の状態に保つことです。システム更新を実行することで、サーバーが最新のセキュリティパッチとソフトウェア更新を備えていることを確認できます。システムとソフトウェアを最新に保つことで、攻撃者が悪用できる脆弱性を減少させます。
<!-- サーバーを更新するコマンド --> sudo apt-get update sudo apt-get upgrade
Ubuntuサーバーのユーザーアカウントは慎重に管理する必要があります。すべての管理タスクは特定のユーザーに非ルートアカウントを通じて委任してください。これにより、変更を追跡し、機密操作を安全に保つことができます。
普段の管理タスク用に新しいユーザーアカウントを作成することから始めます。
<!-- 新しいユーザーを追加するコマンド --> sudo adduser mynewuser
このユーザーに管理権限を与えたい場合は、sudoグループに追加します。
<!-- sudoグループにユーザーを追加するコマンド --> sudo usermod -aG sudo mynewuser
SSHサーバーを保護するために、ルートユーザーでの直接ログインは避けてください。セキュリティを強化するためにSSH設定を編集します。
<!-- SSH設定ファイルを編集 --> sudo nano /etc/ssh/sshd_config <!-- 次のディレクティブを変更または設定 --> PermitRootLogin no PasswordAuthentication no
SSH(Secure Shell)は、サーバーにリモートで接続するための基本サービスです。最初に、SSHのデフォルトポートを変更して、SSHポートを攻撃するボットの数を減らします。1024より大きいポート番号を選択してください。
<!-- 設定ファイル内でSSHポートを変更 --> sudo nano /etc/ssh/sshd_config <!-- #Port 22を探して次に変更 --> Port 2202
これらの変更を行った後、SSHサービスを再起動します:
<!-- 変更を反映させるためにSSHサービスを再起動 --> sudo systemctl restart ssh
SSHキーはパスワードよりも安全な認証手段を提供し、可能であれば使用するべきです。デフォルトのパスワードは推測されやすいですが、SSHキーははるかに破られにくいです。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-copy-id mynewuser@your_server_ip -p 2202
ssh mynewuser@your_server_ip -p 2202
ファイアウォールは、ネットワークトラフィックの流れを制御します。UbuntuはデフォルトとしてUncomplicated Firewall(UFW)を使用しています。UFWを使用して必要最低限のサービスのみを許可します。
<!-- UFWを有効にしてOpenSSHを許可 --> sudo ufw allow OpenSSH sudo ufw enable
侵入検知システムを実行することで、不審な活動を追跡するのに役立ちます。Fail2banのようなツールは、悪意のあるシグナルを示すIPを禁止してサービスを保護します。
<!-- Fail2banをインストール --> sudo apt-get install fail2ban
設定ファイルで監視の動作をカスタマイズします。
<!-- Fail2banの設定ファイル --> sudo nano /etc/fail2ban/jail.local
重要なデータおよび設定ファイルのファイル権限が安全であることを確認します。`/tmp` ディレクトリは、悪用を防ぐために保護する必要があります。
<!-- /tmpをnoexec,nosuidで保護 --> sudo vi /etc/fstab <!-- tmp用の行を追加または修正 --> tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0
Linuxでのマルウェアの脅威は非常に低いですが、ClamAVのようなツールを使用してUbuntuサーバーからマルウェアをスキャン、削除することができます。
<!-- ClamAVとClamTKをインストール --> sudo apt install clamav clamtk
サーバーをより安全にするために、Google Authenticatorを使用して二要素認証を有効にします。パッケージをインストールし、資格情報と追加のワンタイムパスワードを要求するように設定してください。
<!-- Google Authenticatorをインストール --> sudo apt-get install libpam-google-authenticator <!-- ユーザー用にGoogle Authenticatorを設定 --> google-authenticator
ログを監視し、潜在的な侵害を指摘する不一致や不審な活動のアラート設定を構成します。
<!-- journalctlやログファイルを直接使用してログを見る --> journalctl -xe less /var/log/auth.log
Logwatchのようなツールを使って、ログレポートをメールで日々要約する設定を行います。
<!-- logwatchをインストール --> sudo apt install logwatch
データバックアップはサーバーセキュリティの保守の重要な部分です。定期的なバックアップを実行することで、攻撃やハードウェアの故障によるデータ喪失からの回復を確実にすることができます。
<!-- rsyncを使用したバックアップ --> rsync -avh /path/to/source /path/to/destination
cronジョブなどのツールを使用してバックアップを自動化し、サービスの中断を防ぐことも検討してください。
これらのステップに従うことで、Ubuntuサーバーのセキュリティ状態を大幅に向上させることができます。セキュリティは定期的な更新、監視、システムの維持管理に関わる継続的なプロセスであることを忘れないでください。監査プロトコルを実装して継続的なセキュリティを確保し、定期的な監査を実行し、Ubuntuとそのスタックに関連したセキュリティニュースと更新情報に精通しておいてください。
記事の内容に誤りがある場合, あなたは