コマンドラインを使用して Linux サーバーをセキュリティ保護する方法
Linuxサーバーを保護するためのコマンドライン操作には、以下が含まれます。
- 強固なパスワードを使用する。サーバー上の全ユーザーアカウントのパスワードが、8文字以上の大文字、小文字、数字、記号を含む強固なものになるよう確保します。以下のコマンドでパスワードを変更します。
passwd ユーサーネーム
- 不必要なユーザーアカウントを無効にする: サーバー上のユーザーアカウントを確認し、不要になったアカウントを無効または削除する。すべてのユーザーアカウントを確認するには次のコマンドを使用します:
cat /etc/passwd
以下のコマンドを使用して、ユーザー アカウントを無効にすることができます:
usermod -L ユーザー名
- ファイアウォールの利用:ファイアウォールを設定し、サーバへのアクセスを制限します。iptablesまたはfirewalldを使用して、ファイアウォール規則を設定できます。iptablesを使用したファイアウォール規則の設定例を以下に示します。
# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允许HTTP连接
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许HTTPS连接
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 其他连接一律拒绝
iptables -A INPUT -j DROP
- システムの更新:最新のセキュリティパッチや修正プログラムを入手するために、サーバー上のオペレーティングシステムやソフトウェアパッケージを定期的に更新します。ソフトウェアパッケージは、次のコマンドを使用して更新できます。
sudo apt update && sudo apt upgrade
- SSH鍵認証を使う:SSH鍵認証をパスワード認証の代わりに使うことでサーバーの安全性を高めることができます。まずは鍵ペアを作りましょう:
ssh-keygen -t rsa
そして、公開鍵をサーバの~/.ssh/authorized_keysファイルにコピーします。これにより、許可されたユーザのみがサーバにアクセスできるようになります。
- 定期的に重要なデータをサーバーからバックアップし、データの紛失や破損を防ぐ。rsync または他のバックアップツールを使用して自動バックアップを実行できます。
- サーバーのモニタリング: モニタリングツールを使用して、サーバーの状態やアクティビティをリアルタイムで監視します。たとえば、top、htop、iotop などのコマンドラインツールを使用して、システムリソースの使用状況を監視します。これらのツールをインストールするには、次のコマンドを使用できます。
sudo aptでhtop iotopをインストール
- 安全なプロトコルの使用:機密性の高いデータの転送には、HTTPS や SSH など、データを暗号化する安全なプロトコルを使用します。これにより、情報が転送中に盗まれたり改ざんされたりするのを防ぎます。
- リモートアクセスを制限する: 必要なリモートアクセスのみを許可し、安全なプロトコルとツールを使用します。例えば、root ユーザーの SSH ログインを無効にし、特定の IP アドレスからのみサーバーへのアクセスを許可します。
- 定期監査ログ:サーバのログファイルを定期的に確認し、異常なアクティビティや潜在的なセキュリティ上の問題がないか監視を行います。以下のコマンドを使用してログファイルを確認します:
tail -f /var/log/syslog
Logwatch や ELK スタックなどのログ分析ツールでログを解析・レポートすることも可能です。
これらは、Linux サーバーを保護するための一般的なコマンドライン操作の一部にすぎません。サーバーのセキュリティは継続的なプロセスであり、各サーバーの状況と要件に応じて追加のセキュリティ対策を実施する必要があります。