A Secure Shell protokoll (SSH) az egyik legelterjedtebb módja a távoli kiszolgálók biztonságos kezelésének számos platformon, a 22-es szabványos TCP portot használva. Ennek oka, hogy az SSH kriptográfiailag biztonságos kapcsolatot biztosít, amely lehetővé teszi a felhasználó számára a hitelesítést, a parancsok végrehajtását és a be- és kimenetek továbbítását egy távoli kiszolgálóról és egy távoli kiszolgálóra egy nem biztonságos hálózaton (az interneten) keresztül.

Sok új AWS-felhasználó számára az SSH az olyan számítási szolgáltatásokhoz, mint az EC2 vagy a Lightsail, való hozzáférés preferált módszere. Kiterjedt használat után azonban, vagy olyan online hírekbe botolva, mint “Hackerek eltérítették a fiókomat, hogy bitcoint bányásszanak, ami 40 000 dolláros havi számlát eredményezett”, az ember szükségtelenül kockázatosnak tarthatja a privát kulcsok kezelésével és a 22-es bejövő port nyitva hagyásával járó erőfeszítést a biztonsági csoportján.

Hogyan csatlakozhat az Amazon EC2-hez az AWS SSM munkamenet-kezelő használatával

Az AWS Systems Manager (SSM) egy olyan szolgáltatás, amelyet a fiókjában lévő telepített infrastruktúra megtekintésére vagy ellenőrzésére használhat. Az SSM Session Manager számos képessége közül a konzol vagy az AWS CLI használatával biztonságos és ellenőrizhető csomópontkezelést biztosít anélkül, hogy bejövő portokat kellene nyitni, Bastion Hostokat kellene karbantartani vagy SSH-kulcsokat kellene kezelni.

Ne feledje, hogy az alábbi lépések azt írják le, hogyan csatlakozhat egy Linoxot futtató EC2-példányhoz munkamenet segítségével. Ez a cikk feltételezi, hogy már van egy hasonló példánya, amely nyitott 22-es bejövő porttal fut.

1. Hozzuk létre és csatoljuk a szükséges EC2-példány szerepkört

Hozzon létre egy IAM-szerepet az AmazonSSMManagedInstanceCore házirenddel (policy), és csatolja a szerepet az Ec2-példányához. Ez biztosítja a jogosultságokat a példány és a Rendszergazdálkodási API közötti kommunikációhoz. Az AmazonSSMManagedInstanceCore házirend lehetővé teszi a példány számára az AWS Systems Manager szolgáltatás alapfunkcióinak használatát.

2. Ellenőrizze, hogy az SSM Agent fut-e az Ön példányán.

Ellenőrözzük, hogy a legújabb SSM Agent telepítve van és fut is azon az EC2 instanceon, amelybe a Session Manager segítségével szeretnénk bejelentkezni. Lépjünk be SSH-n Linuxunkra a már beállított preferált módszerrel, vagy használjuk az EC2 instance connect szolgáltatást az AWS konzolon. Ha már bent vagyunk, folytassuk az alábbi lépésekkel.

Az SSM Agent alapértelmezés szerint telepítve van a legtöbb Amazon Linux vagy Amazon által biztosított AMI-ra; ha azonban telepíteni szeretné, használja a következő parancsot

sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm

Vagy ARM-os (T4g, vagy A1) CPU típus esetén:

sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_arm64/amazon-ssm-agent.rpm

A telepített agent működésének ellenőrzése:

sudo systemctl status amazon-ssm-agent

Ha azt látjuk, hogy nem fut, csak indítsuk el:

sudo systemctl start amazon-ssm-agent

3. A biztonsági csoport kimenő szabályainak módosítása

Szükséges, hogy az EC2 példány biztonsági csoportja engedélyezze a HTTPS (443-as port) kimenő forgalmat, hogy az SSM agent csatlakozhasson néhány kulcsfontosságú AWS végponthoz, pl. ssm.region.amazonaws.com, ssmmessages.egion.amazonaws.com. Tetszés szerint a VPC interfész végpontokat is konfigurálhatja ehhez.

Szerkessze a példánya biztonsági csoportját úgy, hogy engedélyezze a 443-as porton a kimenő HTTPS-t. Törölje az összes bejövő szabályt a példánya biztonsági csoportjából ezen a ponton, hogy lezárja az összes bejövő portot.

4. Session Manager telepítése a saját gépre

Az SSM Session Manager bővítményt az AWS CLI-vel együtt használják az aws ssm parancsok futtatására a számítógép terminálján, ezért az AWS CLI 1.16.12-es vagy újabb verzióját kell telepíteni a számítógépre. Az aws-cli-v2 telepítésére vonatkozó utasításokért kattintson ide.

5. Végül hozzon létre egy munkamenetet, hogy csatlakozhasson a példányához.

Szerezd meg az EC2 instancod ID-ját az AWS konzolról, és indíts munkamenetet az EC2 példányodhoz az aws ssm start-session paranccsal. Az AWS CLI hitelesítő adatainak konfigurálásakor ügyeljünk arra, hogy azt a régiót használjuk, ahol a példányunk telepítve van. Alternatív megoldásként létrehozhat egy profilt az alapértelmezettől eltérő régióhoz is, hogy ezt elérje.

A következő parancs munkamenetet indít az AWS CLI frankfurti régiójában található az i-092c4481dc1f3gc6g azonosítóval rendelkező példányhoz, amely az AWS eu-central-1 régióhoz kapcsolódik.

aws ssm start-session --target i-092c4481dc1f3gc6g --profile frankfurt

Megjegyzés: Az SSM agent létrehoz egy ssm-user nevű felhasználói fiókot a Linuxon, melyből sudo vagy su segítségével válthatunk root (vagy más) felhasználóra. Ennek a felhasználói fióknak a hitelesítő adatai szolgálnak a munkamenetek indításához.

Voila! Most már elindítottunk egy munkamenetet, hogy biztonságosan csatlakozhassunk az EC2 példányunkhoz anélkül, hogy privát kulcsokat használnánk, vagy bármilyen portot nyitva hagynánk a példányunk hálózati tűzfalán. Remélem, hasznosnak találja ezt az információt. Köszönjük, hogy időt szakított ránk.