セキュリティは、システム管理者にとって長年の関心事です。また、新しいシステムを保護するための明確な基準が実際にはないため、新しいシステムを保護することは常に課題となります。この記事のセキュリティ対策と制御のリストは、個人的な経験、DISA STIG、他のシステム管理者やセキュリティ担当者からの推奨事項など、さまざまなソースから取得しています。これらのセキュリティ対策は優れていますが、システムセキュリティを向上させるための第一歩にすぎません。これらの8つのシステム制御は、特に重要な順序ではありません。
SSHキー
SSHキーペアを使用してパスワードなしの認証を構成します。手順については、Susan Lauberの記事を確認してください:公開鍵と秘密鍵のペアを使用したパスワードなしのSSH。パスワードは、どれほど長く複雑であっても、適切なセキュリティ対策ではありません。 SSHキーペアと単一のジャンプボックスを使用して、システムへの高レベルの安全なアクセスを確立できます。
SSH認証
認証用にSSHキーペアを設定したら、SSHD
を構成する必要があります リモートログインのためにそれらを受け入れるため。 /etc/ssh/sshd_config
ファイルは、SSHD
を保護するための中心的な場所です あなたのシステムで。確認および変更するための注目すべきオプションは次のとおりです。
#PermitRootLogin yes | PermitRootLogin no |
#PubkeyAuthenticationはい | PubkeyAuthenticationはい |
#PermitEmptyPasswords no | PermitEmptyPasswords no |
PasswordAuthenticationはい | PasswordAuthenticationいいえ |
SSHD
を再起動する必要があります 構成ファイルに変更を加えて、変更を有効にした後。
NULLパスワード
すべてのアカウントが認証にパスワードを使用していることを確認してください。アカウントにnullまたは空白のパスワードを許可しないでください。キーペアを設定することは、nullパスワードに対する優れた防御策です。 /etc/pam.d/system-auth
の「nullok」オプションのインスタンスをすべて削除します および/etc/pam.d/password-auth
空のパスワードでのログインを防ぐため。
安全でないサービスを削除する
システムのセキュリティを強化するには、セキュリティで保護されていないサービス(ネットワーク経由でプレーンテキストでパスワードを送信するサービス、または匿名(認証されていない)接続を許可するサービス)を削除します。次のパッケージを削除します:
- ypserv
- rsh-server
- vsftpd *
- telnet-server
- tftp-server
システム間のファイル転送とインタラクティブ接続は、SSH
を使用して実行する必要があります 。 rsh-server
は必要ありません 、vsftpd
、およびtelnet-server
。 ypserv
の代わりにLDAPまたはActiveDirectoryを使用する必要があります (NIS / NIS +)。 tftp-server
について 、使用する必要がある場合は、1つのシステムまたは仮想マシンを専用にして、chroot
にインストールします。 セキュリティを強化するための刑務所。
* vsftpd
通信を暗号化します。この機能はSSH/SFTP/SCP
によってより適切に処理されます。 。
ホストベースの認証を無効にする
.shosts
の形式でホストベースの認証のすべてのインスタンスを削除します およびshosts.equiv
ファイル。ホストベースの認証は、システムへの不正アクセスを防ぐには不十分です。これは、接続要求のインタラクティブな識別と認証を必要としないため、または多要素認証を使用するためです。
SNMPバージョンとコミュニティ名
ユーザー認証とメッセージ暗号化にはSNMPバージョン3.xを使用します。デフォルトのコミュニティ文字列をpublic
から変更します またはprivate
別の文字列値に。
X11転送
ネットワークでXプロトコルを使用する場合は、SSLで保護されていることを確認してください。 /etc/ssh/sshd_config
を編集します X11Forwardingパラメータを次のように設定します。
X11Forwarding yes
パラメータは存在するが、先頭に#
がコメントされている場合 、次に#
を削除します SSHDを再起動します。
GNOMEの保護
サーバーシステムでGNOMEを使用する場合は、/etc/gdm/custom.conf
の次の設定で保護します。 ファイル。 AutomaticLoginEnable
の行を追加または編集します [daemon]
のパラメータ custom.conf
のセクション 以下に示すように、ファイルをfalseに設定します。
[daemon]
AutomaticLoginEnable=false
そして、TimedLoginEnable
の行を追加または編集します [daemon]
のパラメータ /etc/gdm/custom.conf
のセクション 以下に示すように、ファイルをfalseに設定します。
[daemon]
TimedLoginEnable=false
一部のセキュリティアドバイザーは、サーバーシステムを標的とするマルウェアが原因で、サーバーシステムでグラフィカルユーザーインターフェイス(GUI)を使用することを再度警告しています。
[ウイルス対策ソフトウェアでシステムセキュリティをさらに強化する:Linuxシステム向けの3つのウイルス対策ソリューション]
まとめ
Unixライクなセキュリティは非常に優れていますが、Linuxはインストール後に100%安全ではありません。また、100%安全というものはありませんが、システムをより適切に保護するために、いくつかのコントロールを設定し、いくつかの基本的なタスクを実行できます。現在、システムセキュリティに重点を置いたこのような記事をさらにお届けしています。
[セキュリティについてもっと知りたいですか? ITセキュリティとコンプライアンスのチェックリストを確認してください。 ]