AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
使用 SSH 安全地存取 EC2 Linux 執行個體,同時避免未經授權的存取的最佳實務是什麼?
我想使用 SSH 存取 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。在使用 SSH 時,保護執行個體安全並避免未經授權存取的最佳實務是什麼?
解決方法
使用 SSH 時,請使用下列最佳實務來保護您的執行個體。對於涉及命令的步驟,請務必使用根權限執行命令。執行 sudo -i 命令以成為根使用者。
使用 AWS Systems Manager Session Manager 對 EC2 執行個體進行 Shell 存取
Session Manager 允許 AWS Identity and Access Management (IAM) 使用者使用加密和記錄功能登入您的執行個體。Systems Manager 的流量會通過 Systems Manager 端點,無需開啟傳入連接埠即可輕鬆、安全地存取私有執行個體。如需有關 Session Manager 的詳細資訊,請參閱使用 AWS Systems Manager Session Manager 對 EC2 執行個體進行 Shell 存取。
使用 EC2 Instance Connect 對 EC2 執行個體進行 Shell 存取
Amazon EC2 Instance Connect 可讓您透過 IAM 角色和政策使用 Secure Shell (SSH) 連接至 Linux 執行個體。如需有關 EC2 Instance Connect 的詳細資訊,請參閱使用 EC2 Instance Connect 連線至 Linux 執行個體。
**注意:**下列發行版支援 EC2 Instance Connect:
- Amazon Linux 2 (任何版本)
- Ubuntu 16.04 或更新版本
不允許根使用者使用 SSH 終端
預設情況下,Amazon 提供的 AMI 和 AWS Marketplace 中的大多數供應商都不允許根使用者從 SSH 終端登入。如果您的執行個體允許根使用者登入,請遵循下方步驟拒絕存取。
1. 將 * (星號) 新增至 /etc/shadow 檔案中的密碼欄位,以使根使用者密碼無效:
使用 vipw -s 編輯檔案。
第一行通常是根使用者的行。變更根使用者的行,如下所示:
root:*LOCK*:14600::::::
2. 使用編輯器 (例如 vi 編輯器) 編輯 SSH 常駐程式的組態檔案:
vi /etc/ssh/sshd_config
確保下列行存在且未註釋。此行拒絕根使用者的登入許可。
PermitRootLogin no
3. 重新啟動 SSH 常駐程式:
systemctl restart sshd
如需有關 PermitRootLogin 選項的其他參數資訊,請參閱 OpenBSD 上的 sshd_config。
確保所有使用者都使用 SSH 金鑰對登入,然後停用密碼驗證
Amazon 提供的 AMI 預設組態使用 SSH 金鑰對登入,並停用密碼驗證。這是因為使用密碼會使您的執行個體面臨安全風險,例如暴力密碼破解攻擊。強度不夠的密碼可能會被破解以取得存取權。
因此,如果您將執行個體變更為使用密碼,請使用下列命令還原為預設組態:
1. 使用 vi 編輯器或您選擇的編輯器來存取 sshd_config 檔案:
vi /etc/ssh/sshd_config
2. 確認下列行存在且未註釋:
PasswordAuthentication no
3. 重新啟動 SSH 常駐程式:
systemctl restart sshd
**注意:**在停用密碼驗證之前,確保已安裝金鑰對。這可避免您失去對 EC2 執行個體的 SSH 存取權。每個使用者都需要將其公有金鑰插入 ~/.ssh/authorized_keys 路徑。如需有關金鑰型登入的詳細資訊,請參閱 Amazon EC2 金鑰對和 Linux 執行個體。
限制來自未知來源的存取
如果公有執行個體發生設定錯誤或非預期軟體漏洞的情況,則讓 SSH 連接埠保持開啟且不受限制可能會造成遭到入侵。為防止入侵,請遵循下列最佳實務:
1. 將 SSH 常駐程式更新為 Linux 發行版維護者提供的最新版本。SSH 常駐程式通常會從上游供應商接收來自較新版本的向後移植更新。如需有關向後移植的詳細資訊,請參閱 Red Hat 客戶入口網站上的向後移植安全修正程式。
yum -y install openssh-server # for Amazon Linux, RHEL, Centos apt update && apt install openssh-server # For Ubuntu, Debian
2. 限制您的安全群組,僅允許從可信 IP (例如公司網路 IP) 傳入連線至連接埠 22。如需詳細資訊,請參閱授權 Linux 執行個體的傳入流量。
3. 部分入侵者可能會嘗試猜測使用者的名稱和密碼,如果連接埠 22 向全世界開放,也可能會嘗試溢位您的 SSH 常駐程式。公用程式 fail2ban 會監控您的日誌檔案是否持續嘗試登入您的執行個體,然後在幾次嘗試失敗之後進行封鎖。若要安裝 fail2ban**:**
Ubuntu:
apt -y install fail2ban
Amazon Linux、CentOS、RHEL:
執行下列命令:
yum -y install fail2ban systemctl enable fail2ban systemctl start fail2ban
如需設定 fail2ban 的詳細資訊,請參閱 Linux 安全性: 使用 fail2ban 保護您的系統 (在 Red Hat 網站上)。
相關內容
- 已提問 1 年前
- 已提問 2 年前
- 已提問 2 年前
