GNU/Linux >> Linux の 問題 >  >> Linux

Linuxのセキュリティ:さらに8つのシステムロックダウンコントロール

システムのロックダウンは、最も疲れ切ったシステム管理者の心に恐怖を与えるような大きなタスクや恐ろしいタスクである必要はありません。いいえ、Linuxサーバーを適切にロックダウンすることは直感的ではなく、必ずしも簡単ではありませんが、量子物理学でもありません。前回の記事「Sysadminセキュリティ:8つのLinuxロックダウンコントロール」では、機能に関係なく、すべてのLinuxシステムに加える必要のある8つの重要な変更について説明しました。この記事では、迅速かつ無料で実装できるその他のシステム制御について説明します。

これらのコントロールは、私自身の経験、DISA STIG、その他のシステム管理者など、さまざまなソースから発信されています。ここにリストされているコントロールは、重要性や重大度の特定の順序ではありません。

バナー

システムにグラフィカルユーザーインターフェイスがあるかどうかに関係なく、ログオン時にユーザーに表示されるバナーを作成する必要があります。バナーは、システムが<あなたの国の法律および規制>によって保護されていること、およびシステムの誤用は刑事犯罪であることをユーザーに警告する必要があります。バナーは、コンソールのユーザーとネットワーク経由でログインするユーザーに表示する必要があります。

/etc/issueを編集します コンソールユーザーおよび/etc/issue.netの場合 ネットワークユーザー向け。 /etc/ssh/sshd_configで、バナーに使用しているファイルへのフルパスを必ず指定してください 次のようにファイルします:

Banner /etc/issue.net

任意のファイルを使用できますが、バナーパスを編集して、メッセージが含まれているファイルを指すようにする必要があります。

いいえ、バナーを設定しても、攻撃者がシステムを侵害するのを防ぐことはできません。それでも、攻撃者はシステムがプライベートで保護されたシステムであることを認識していなかったという防御の議論を破壊します。

パスワードの複雑さの強制

/etc/security/pwquality.conのパラメータを変更することにより、パスワードを引き続き使用するシステムに対して、パスワードの複雑さを強制します。 ファイル(以下に表示)。このファイルには、システムに強力なパスワードを適用するための編集可能なパラメータのリストが含まれています。

# Configuration for systemwide password quality limits
# Defaults:
#
# Number of characters in the new password that must not be present in the
# old password.
# difok = 5
#
# Minimum acceptable size for the new password (plus one if
# credits are not disabled which is the default). (See pam_cracklib manual.)
# Cannot be set to lower value than 6.
# minlen = 9
#
# The maximum credit for having digits in the new password. If less than 0
# it is the minimum number of digits in the new password.
# dcredit = 1
#
# The maximum credit for having uppercase characters in the new password.
# If less than 0 it is the minimum number of uppercase characters in the new
# password.
# ucredit = 1
#
# The maximum credit for having lowercase characters in the new password.
# If less than 0 it is the minimum number of lowercase characters in the new
# password.
# lcredit = 1
#
# The maximum credit for having other characters in the new password.
# If less than 0 it is the minimum number of other characters in the new
# password.
# ocredit = 1
#
# The minimum number of required classes of characters for the new
# password (digits, uppercase, lowercase, others).
# minclass = 0
#
# The maximum number of allowed consecutive same characters in the new password.
# The check is disabled if the value is 0.
# maxrepeat = 0

推奨値は以下のとおりです。注:強制値を有効にするには、必ずパラメーター行のコメントを解除してください。

difok = 8

minlen = 15

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

minclass = 4

maxrepeat = 3

maxclassrepeat = 4

これらのパラメータは、システムパスワードがデフォルト設定よりもはるかに安全であることを保証するのに役立ちます。システムアクセスのセキュリティを強化するには、パスワードではなく多要素認証を使用することをお勧めします。

注:minlen (最小長)パラメーターは15以上の値に設定する必要があります。基準を満たす単語を1つ見つけるのではなく、パスフレーズを使用するようにユーザーに教えます。

パスワードの最小有効期間

一部の賢いユーザーは、システムのセキュリティを回避するためにパスワードを複数回変更します。パスワードの更新を余儀なくされると、システムのセキュリティを破るのに十分な回数パスワードを変更し、最終的にパスワードを元に戻します。 PASS_MIN_DAYS /etc/login.defsのパラメータ ファイルはこのアクティビティを防ぐことができます。値を1以上に設定します。デフォルトは0で、これがセキュリティの問題の原因です。

PASS_MIN_DAYS 1

このパラメーターを設定すると、ユーザーは新しいパスワードを再度変更する前に、少なくとも1日は保持する必要があります。値は任意の数値に設定できますが、ユーザーがすぐに複数回変更できないようにすると、問題が解決するようです。

パスワードの最大有効期間

おそらく、最小パスワード有効期間よりもさらに危険なのは、最大パスワード有効期間の設定です。デフォルトは99999です。これは、ユーザーがパスワードを変更する必要がないことを意味します。これは重大なセキュリティ違反です。

会社のポリシーとセキュリティのニーズに応じて、60〜90日の範囲でパスワードの変更を強制する必要があります。このようなシステム全体の変更を実施するには、PASS_MAX_DAYSを編集します /etc/login.defsでの設定 ファイル。

PASS_MAX_DAYS 60

この設定により、ユーザーは60日ごとにパスワードを変更する必要があります。はい、特にPASS_MIN_DAYSと組み合わせると、不平が聞こえます。 制限。セキュリティはユーザーの苦情に勝ちます。

Sudoerセキュリティ

多くの場合、システム管理者はsudoを使用するようにユーザーアカウントを構成します パスワードなしのコマンド。これは重大なセキュリティ違反であり、機能に関係なく、どのシステムでもいかなる状況でも許可されるべきではありません。

/etc/sudoersを編集します visudoを含むファイル ファイル内のNOPASSWDのすべてのインスタンスを削除します。

さらに、/etc/sudoersで「!authentication」のインスタンスを確認します ファイル。このエントリにより、sudoを持つユーザーが許可されます sudoを引き続き使用するためのアクセス 再認証なし。これはセキュリティ違反です。 /etc/sudoersから「!authentication」のすべてのインスタンスを削除します ファイル。

ログイン遅延の失敗

ユーザーアカウントへのブルートフォース攻撃を阻止するには、ログイン失敗の遅延を少なくとも4秒に設定する必要があります。これはブルートフォース攻撃を阻止しますが、ユーザーが正しいパスワードを入力するのにも役立つ可能性があります。これは、長いパスワードやパスフレーズではより困難になります。

このパラメータは、/etc/login.defsで設定されます ファイル。この数値は、ログイン試行が失敗した後、システムが新しいログインプロンプトを表示する前に一時停止する秒数です。

FAIL_DELAY 4

4秒は、誤って間違ったキーを押した可能性のあるユーザーを苛立たせるのに十分な長さですが、ボットによる繰り返しのログイン試行を防ぐのに十分な長さです。

デバイスの自動マウントを無効にする

ファイルシステムの自動マウントは、システムに接続されている可能性のある未知のデバイスからのセキュリティリスクをもたらします。つまり、攻撃者はUSBデバイスを接続して、デバイスが自動マウントされたときにペイロードを配信する可能性があります。 autofsを停止して無効にすることにより、自動マウントを無効にします サービス。

$ sudo systemctl stop autofs

$ sudo systemctl disable autofs

新しいデバイスをシステムに接続した後にファイルシステムを手動でマウントする必要があるのは少し不便かもしれませんが、セキュリティの向上により、デバイスのマウントに必要な余分な3秒の労力が相殺されます。これにより、システム管理者は、許可されていないデバイスを無効化、ワイプ、またはイジェクトすることができます。

ファイル作成権限を制限する

/etc/login.defsに戻ります システム全体の変更を行うためのファイル。ユーザーが新しいファイルを作成すると、通常、umaskの結果として644の権限が付与されます。 フィルタ設定は022です。セキュリティを強化するには、すべての新しいファイルをumaskで作成する必要があります。 077の場合、デフォルトのアクセス許可として600を持つ新しいファイルになります。

UMASK 077

ほとんどのユーザーにとってはそれほど重要ではないかもしれませんが、rootによって作成されたファイルの場合、この設定は必須です。システム全体に設定すると、一貫性が確保されます。

まとめ

システムセキュリティの強化は、システム管理者の主要なタスクの1つです。新しいシステム、継承されたシステム、およびニッチな機能を提供するシステムは、ネットワーク上で最も脆弱です。すべてのネットワークシステムを保護するために特別な注意を払う必要があります。多くの場合、攻撃者はネットワークの内部にいて、1つ以上のシステムを制御しているため、1つのシステムが侵害されると、さらに多くのシステムが侵害される可能性があります。

これらのセキュリティ制御の一部は手間がかかるように見えるかもしれませんが、違反後の回復と比較すると、それは今日の「通常」の一部にすぎません。

[セキュリティについてもっと知りたいですか? ITセキュリティとコンプライアンスのチェックリストを確認してください。 ]


Linux
  1. Linuxシステム管理者向けのトレーニングと認定

  2. Linuxの高度なセキュリティ手順

  3. unix/linux システムでのパスワードの最大長は?

  1. Linuxシステムのファイアウォールにセキュリティを強化する

  2. エンタープライズLinuxでのセキュリティ監査の存続

  3. Linux または Windows - セキュリティの問題

  1. Linuxのセキュリティ:fail2banでシステムを保護する

  2. Sysadminセキュリティ:8つのLinuxロックダウンコントロール

  3. Linuxのセキュリティとユーザビリティのバランス