ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

Ubuntuサーバーを保護する方法

編集済み 4 数日前 によって ExtremeHow 編集チーム

セキュリティウブントゥサーバーベストプラクティスリナックス設定オペレーティングシステム管理システムネットワーキング

Ubuntuサーバーを保護する方法

翻訳が更新されました 4 数日前

Ubuntuサーバーを保護することは、データ、アプリケーション、およびユーザーを悪意のある攻撃から守るために重要な作業です。このガイドは、ユーザー管理、サービスのセキュリティ、ネットワーク管理、監視などを含むさまざまな側面をカバーし、Ubuntuサーバーを保護する方法について詳しく説明します。

1. 定期的なシステム更新

Ubuntuサーバーを安全に保つための最初で最も重要なステップは、それを最新の状態に保つことです。システム更新を実行することで、サーバーが最新のセキュリティパッチとソフトウェア更新を備えていることを確認できます。システムとソフトウェアを最新に保つことで、攻撃者が悪用できる脆弱性を減少させます。

<!-- サーバーを更新するコマンド --> sudo apt-get update sudo apt-get upgrade

2. ユーザー管理

Ubuntuサーバーのユーザーアカウントは慎重に管理する必要があります。すべての管理タスクは特定のユーザーに非ルートアカウントを通じて委任してください。これにより、変更を追跡し、機密操作を安全に保つことができます。

新しいユーザーを作成する

普段の管理タスク用に新しいユーザーアカウントを作成することから始めます。

<!-- 新しいユーザーを追加するコマンド --> sudo adduser mynewuser

管理権限を付与する

このユーザーに管理権限を与えたい場合は、sudoグループに追加します。

<!-- sudoグループにユーザーを追加するコマンド --> sudo usermod -aG sudo mynewuser

SSHアクセス

SSHサーバーを保護するために、ルートユーザーでの直接ログインは避けてください。セキュリティを強化するためにSSH設定を編集します。

<!-- SSH設定ファイルを編集 --> sudo nano /etc/ssh/sshd_config <!-- 次のディレクティブを変更または設定 --> PermitRootLogin no PasswordAuthentication no

3. SSHの保護

SSH(Secure Shell)は、サーバーにリモートで接続するための基本サービスです。最初に、SSHのデフォルトポートを変更して、SSHポートを攻撃するボットの数を減らします。1024より大きいポート番号を選択してください。

<!-- 設定ファイル内でSSHポートを変更 --> sudo nano /etc/ssh/sshd_config <!-- #Port 22を探して次に変更 --> Port 2202

これらの変更を行った後、SSHサービスを再起動します:

<!-- 変更を反映させるためにSSHサービスを再起動 --> sudo systemctl restart ssh

4. 認証にSSHキーを使用する

SSHキーはパスワードよりも安全な認証手段を提供し、可能であれば使用するべきです。デフォルトのパスワードは推測されやすいですが、SSHキーははるかに破られにくいです。

  1. ローカルマシンでSSHキーを生成します:
  2. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. 公開鍵をサーバーにコピーします:
  4. ssh-copy-id mynewuser@your_server_ip -p 2202
  5. キーによる認証が機能していることを確認します:
  6. ssh mynewuser@your_server_ip -p 2202

5. ファイアウォールを設定する

ファイアウォールは、ネットワークトラフィックの流れを制御します。UbuntuはデフォルトとしてUncomplicated Firewall(UFW)を使用しています。UFWを使用して必要最低限のサービスのみを許可します。

<!-- UFWを有効にしてOpenSSHを許可 --> sudo ufw allow OpenSSH sudo ufw enable

6. 侵入検知と防止システム

侵入検知システムを実行することで、不審な活動を追跡するのに役立ちます。Fail2banのようなツールは、悪意のあるシグナルを示すIPを禁止してサービスを保護します。

<!-- Fail2banをインストール --> sudo apt-get install fail2ban

設定ファイルで監視の動作をカスタマイズします。

<!-- Fail2banの設定ファイル --> sudo nano /etc/fail2ban/jail.local

7. 共有/一時リソースの保護

重要なデータおよび設定ファイルのファイル権限が安全であることを確認します。`/tmp` ディレクトリは、悪用を防ぐために保護する必要があります。

<!-- /tmpをnoexec,nosuidで保護 --> sudo vi /etc/fstab <!-- tmp用の行を追加または修正 --> tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

8. ウイルスとマルウェアのスキャン

Linuxでのマルウェアの脅威は非常に低いですが、ClamAVのようなツールを使用してUbuntuサーバーからマルウェアをスキャン、削除することができます。

<!-- ClamAVとClamTKをインストール --> sudo apt install clamav clamtk

9. 二要素認証(2FA)を有効にする

サーバーをより安全にするために、Google Authenticatorを使用して二要素認証を有効にします。パッケージをインストールし、資格情報と追加のワンタイムパスワードを要求するように設定してください。

<!-- Google Authenticatorをインストール --> sudo apt-get install libpam-google-authenticator <!-- ユーザー用にGoogle Authenticatorを設定 --> google-authenticator

10. ログの監視とアラートの設定

ログを監視し、潜在的な侵害を指摘する不一致や不審な活動のアラート設定を構成します。

<!-- journalctlやログファイルを直接使用してログを見る --> journalctl -xe less /var/log/auth.log

Logwatchのようなツールを使って、ログレポートをメールで日々要約する設定を行います。

<!-- logwatchをインストール --> sudo apt install logwatch

11. 定期的にバックアップを取る

データバックアップはサーバーセキュリティの保守の重要な部分です。定期的なバックアップを実行することで、攻撃やハードウェアの故障によるデータ喪失からの回復を確実にすることができます。

<!-- rsyncを使用したバックアップ --> rsync -avh /path/to/source /path/to/destination

cronジョブなどのツールを使用してバックアップを自動化し、サービスの中断を防ぐことも検討してください。

結論

これらのステップに従うことで、Ubuntuサーバーのセキュリティ状態を大幅に向上させることができます。セキュリティは定期的な更新、監視、システムの維持管理に関わる継続的なプロセスであることを忘れないでください。監査プロトコルを実装して継続的なセキュリティを確保し、定期的な監査を実行し、Ubuntuとそのスタックに関連したセキュリティニュースと更新情報に精通しておいてください。

記事の内容に誤りがある場合, あなたは


コメント