這是 Amazon Inspector Classic 的使用者指南。如需新 Amazon Inspector 的相關資訊,請參閱 Amazon Inspector 使用者指南。若要存取 Amazon Inspector Classic 主控台,請在 開啟 Amazon Inspector 主控台https://console.aws.amazon.com/inspector/
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Inspector Classic 的安全最佳實務
使用 Amazon Inspector Classic 規則協助判斷您的系統是否已安全的設定。
重要
目前,您可以將以 Linux 或 Windows 作業系統為基礎的 EC2 執行個體包含在您的評估目標中。
在評估執行期間,本節中所述的規則會產生調查結果只要以執行 Linux 作業系統的 EC2 執行個體的問題。這些規則不會產生在 Windows 作業系統上執行的 EC2 執行個體的問題清單。
如需詳細資訊,請參閱 Amazon Inspector 受支援作業系統的傳統規則套件。
停用 SSH 根登入
此規則有助於判斷 SSH 協助程式是否已設定允許做為根來登入您的 EC2 執行個體。
- 嚴重性
- 問題清單
-
您評估目標中有一個 EC2 執行個體設定為允許使用者透過 SSH 的根登入資料來登入。這會增加暴力破解攻擊成功的可能性。
- 解決方案
-
我們建議您設定您的 EC2 執行個體,以防止根帳戶透過 SSH 登入。反之,以非根使用者登入,且必要時使用
sudo
以提升權限。若要停用 SSH 根帳戶登入,請在/etc/ssh/sshd_config
檔案中將PermitRootLogin
設為no
,然後重新啟動sshd
。
僅支援 SSH 版本 2
此規則有助於判斷您的 EC2 執行個體設定是否支援 SSH 通訊協定版本 1。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體設定為支援 SSH-1,其中包含將大幅降低其安全性的固有設計缺陷。
- 解決方案
-
我們建議您將評估目標中的 EC2 執行個體設定為僅支援 SSH-2 和更新版本。若是 OpenSSH,您可在
/etc/ssh/sshd_config
檔案中設定Protocol 2
來達到目標。如需詳細資訊,請參閱man sshd_config
。
停用 SSH 密碼驗證
此規則有助於判斷您的 EC2 執行個體設定為支援透過 SSH 進行密碼驗證。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體設定為支援透過 SSH 進行密碼驗證。密碼驗證易受暴力破解攻擊,應盡可能停用以金鑰為基礎的身份驗證。
- 解決方案
-
我們建議您停用在 EC2 執行個體上透過 SSH 進行密碼驗證,並啟用支援以金鑰為基礎的身份驗證。這會大幅減少暴力破解攻擊成功的可能性。如需詳細資訊,請造訪 https://aws.amazon.com/articles/1233/
。如果已支援密碼驗證,請務必限制存取 SSH 伺服器的為信任的 IP 位址。
設定密碼最長期限
此規則有助於判斷您的 EC2 執行個體密碼設定最大期限。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體密碼最大期限尚未設定。
- 解決方案
-
如果您使用的是密碼,我們建議您為評估目標中所有 EC2 執行個體的密碼設定最大期限。這需要使用者定期變更密碼,以降低密碼臆測攻擊成功的機率。若要為現有使用者修正此問題,請使用 chage 命令。若要為所有未來使用者設定密碼最大期限,請編輯
/etc/login.defs
檔案中的PASS_MAX_DAYS
欄位。
設定密碼長度下限
此規則有助於判斷您的 EC2 執行個體密碼設定長度下限。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體密碼長度下限尚未設定。
- 解決方案
-
如果您使用的是密碼,我們建議您為評估目標中所有 EC2 執行個體的密碼設定長度下限。強制執行最低密碼長度可減少密碼臆測攻擊成功的風險。您可以使用下列選項來執行這項作業。
pwquality.conf
文件:minlen
。 如需詳細資訊,請參閲。https://linux.die.net/man/5/pwquality.conf。 如果
pwquality.conf
在您的執行個體上沒有可用的,則可設定minlen
選項使用pam_cracklib.so
模組。如需詳細資訊,請參閱man pam_cracklib
。 所以此
minlen
選項應設為 14 或更大。
設定密碼複雜性
此規則有助於判斷您的 EC2 執行個體上是否已設定密碼複雜性機制。
- 嚴重性
- 問題清單
-
在您評估目標中的 EC2 執行個體上未設定密碼複雜性機制或限制。這將讓使用者能夠設定簡單的密碼,從而讓未經授權的使用者更有機會取得存取權並濫用帳戶。
- 解決方案
-
如果您使用的是密碼,我們建議您將評估目標中所有的 EC2 執行個體設定為密碼要求一定程度的密碼複雜性。方法是,在
pwquality.conf
檔案中使用下列選項:lcredit
、ucredit
、dcredit
和ocredit
。如需詳細資訊,請參閱 https://linux.die.net/man/5/pwquality.conf。 如果您的執行個體上沒有可用的
pwquality.conf
,則可使用pam_cracklib.so
模組來設定lcredit
、ucredit
、dcredit
和ocredit
選項。如需詳細資訊,請參閱man pam_cracklib
。 其中每個選項的預期值都小於或等於 -1,如下所示:
lcredit <= -1, ucredit <= -1, dcredit<= -1, ocredit <= -1
此外,
remember
選項必須設定為 12 或更大。如需詳細資訊,請參閱man pam_unix
。
啟用 ASLR
此規則有助於判斷您評估目標中 EC2 執行個體的作業系統上是否已啟用位址空間隨機化配置 (ASLR)。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體尚未啟用 ASLR。
- 解決方案
-
為了改善評估目標安全性,我們建議您執行以在目標中所有 EC2 執行個體的作業系統上啟用 ASLR。echo 2 | sudo tee /proc/sys/kernel/randomize_va_space。
啟用 DEP
此規則有助於判斷您評估目標中 EC2 執行個體的作業系統上是否已啟用資料執行防止 (DEP)。
注意
使用 ARM 處理器的 EC2 實例不支持此規則。
- 嚴重性
- 問題清單
-
您評估目標中的 EC2 執行個體尚未啟用 DEP。
- 解決方案
-
我們建議您在評估目標中所有 EC2 執行個體的作業系統上啟用 DEP。使用緩衝區溢位技巧啟用 DEP 以保護您的執行個體免受安全威脅。
設定系統目錄許可
此規則會在包含二進位檔和系統組態資訊的系統目錄上檢查許可,確認只有根使用者 (使用根帳戶登入資料登入的使用者) 才具有這些目錄的寫入許可。
- 嚴重性
- 問題清單
-
在您評估目標的一個 EC2 執行個體包含非根使用者可寫入的系統目錄。
- 解決方案
-
為了改善評估目標安全性並防止惡意的本機使用者權限提升,請設定目標中所有 EC2 執行個體的系統目錄,僅能由使用根帳户證書登入資料的使用者寫入。