Session Manager โดยไม่ต้องเปิดพอร์ต
เข้าถึงอินสแตนซ์ผ่าน SSM โดยไม่ต้องเปิดการเข้าถึงขาเข้าเลย
Session Manager โดยไม่ต้องเปิดพอร์ต เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเข้าถึงเชลล์โดยไม่มีประตู
Session Manager ซึ่งเป็นความสามารถของ AWS Systems Manager (SSM) ช่วยให้คุณเข้าถึงเชลล์แบบโต้ตอบของอินสแตนซ์ EC2 และเซิร์ฟเวอร์ภายในองค์กรได้ โดยไม่ต้องเปิดพอร์ตรับข้อมูลขาเข้าใด ๆ การทำความเข้าใจอย่างแม่นยำว่าบริการนี้ทำเช่นนั้นได้อย่างไรเป็นหัวข้อสำคัญในการสอบ เพราะเป็นพื้นฐานของการดูแลระบบสมัยใหม่ที่ไม่ต้องใช้โฮสต์ป้อมปราการ
SSM Agent
ทุกอย่างเริ่มต้นที่ SSM Agent ซึ่งเป็นซอฟต์แวร์ที่ติดตั้งไว้ล่วงหน้าใน AMI ของ AWS ส่วนใหญ่ (Amazon Machine Images) เอเจนต์จะทำงานบนอินสแตนซ์และเริ่มการเชื่อมต่อ ขาออกไปยังปลายทางบริการ Systems Manager เนื่องจากอินสแตนซ์เป็นฝ่ายเชื่อมต่อออกไป จึงไม่จำเป็นต้องมีกฎขาเข้า และกลุ่มความปลอดภัยสามารถบล็อกการรับส่งข้อมูลขาเข้าทั้งหมดได้
บทบาทของอินสแตนซ์
เพื่อให้ SSM ทำงาน อินสแตนซ์ต้องมี บทบาท IAM (ผ่านโปรไฟล์อินสแตนซ์) ที่ให้สิทธิ์สำหรับ Systems Manager โดยทั่วไปคือ managed policy AmazonSSMManagedInstanceCore หากไม่มีบทบาทนี้ เอเจนต์จะลงทะเบียนไม่ได้ ดังนั้นการแนบบทบาทที่ถูกต้องจึงเป็นขั้นตอนแรกในการแก้ปัญหาเมื่ออินสแตนซ์ไม่ปรากฏเป็นโหนดที่จัดการได้
arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCoreไม่จำเป็นต้องมี IP สาธารณะ
Session Manager ทำงานได้แม้กับอินสแตนซ์ใน ซับเน็ตส่วนตัวที่ไม่มี IP สาธารณะ เอเจนต์จะเข้าถึง SSM ผ่านเกตเวย์ NAT หรือผ่าน ปลายทางอินเทอร์เฟซของ VPC (PrivateLink) สำหรับ ssm, ssmmessages และ ec2messages ซึ่งมีความปลอดภัยมากกว่า ปลายทางเหล่านี้ทำให้การรับส่งข้อมูลทั้งหมดอยู่บนเครือข่าย AWS และไม่ผ่านอินเทอร์เน็ต
การเริ่มเซสชัน
ผู้ใช้ที่ได้รับอนุญาตจะเริ่มเซสชันจากคอนโซล CLI หรือ SDK คำสั่งด้านล่างจะเปิดเชลล์บนอินสแตนซ์ที่จัดการได้ โดยไม่ต้องใช้ไคลเอ็นต์ SSH กุญแจ หรือพอร์ตที่เปิดอยู่ IAM เป็นผู้ตัดสินว่าผู้ใช้จะเริ่มเซสชันได้หรือไม่
aws ssm start-session --target i-0abcd1234efgh5678IAM ควบคุมการเข้าถึง
ผู้ใดสามารถเปิดเซสชันได้จะถูกกำกับทั้งหมดด้วย นโยบาย IAM สำหรับการดำเนินการ ssm:StartSession คุณสามารถกำหนดขอบเขตการเข้าถึงให้เฉพาะอินสแตนซ์บางรายการตามแท็ก จำกัดผู้ใช้ที่เชื่อมต่อได้ และจำกัดได้แม้กระทั่งเอกสาร SSM (ประเภทเซสชัน) ที่ผู้ใช้สามารถใช้ วิธีนี้แทนที่การแจกจ่ายกุญแจ SSH ด้วยการควบคุม IAM แบบรวมศูนย์ที่ตรวจสอบได้
ข้อจำกัดตามแท็ก
รูปแบบที่มีประสิทธิภาพคือการกำหนดขอบเขตการเข้าถึงเซสชันตาม แท็ก ของอินสแตนซ์ นโยบายสามารถอนุญาต ssm:StartSession เฉพาะกับอินสแตนซ์ที่ติดแท็ก เช่น Environment=Dev ทำให้นักพัฒนาเข้าถึงเครื่องสำหรับการพัฒนาได้ แต่ไม่สามารถเข้าถึงระบบจริงได้ การควบคุมตามแอตทริบิวต์นี้ขยายได้อย่างเป็นระบบ และบังคับใช้สิทธิ์น้อยที่สุดโดยไม่ต้องมีนโยบายแยกสำหรับแต่ละอินสแตนซ์
เข้ารหัสขณะส่งผ่าน
ข้อมูลเซสชันจะถูก เข้ารหัสขณะส่งผ่านโดยใช้ TLS และคุณสามารถกำหนดให้ใช้ การเข้ารหัส KMS สำหรับช่องทางเซสชันเพื่อเพิ่มความมั่นใจได้ เมื่อทำงานร่วมกับการไม่มีพอร์ตที่เปิดอยู่ การดำเนินการนี้ทำให้การรับส่งข้อมูลด้านการดูแลระบบไม่ปรากฏต่ออินเทอร์เน็ตและได้รับการปกป้องตั้งแต่ต้นทางถึงปลายทาง ซึ่งเป็นไปตามข้อกำหนดด้านการปฏิบัติตามกฎระเบียบที่เข้มงวด
การส่งต่อพอร์ต
Session Manager ยังรองรับ การส่งต่อพอร์ต โดยสร้างอุโมงค์จากพอร์ตบนเครื่องของคุณไปยังพอร์ตบนอินสแตนซ์ (หรือพอร์ตที่อยู่ถัดออกไป) ผ่านช่องทาง SSM ที่ปลอดภัย ทำให้คุณเข้าถึง RDP หรือฐานข้อมูลได้โดยไม่ต้องเปิดเผยพอร์ตเหล่านั้นต่อสาธารณะ และช่วยขจัดเหตุผลอีกประการหนึ่งที่ทีมงานเคยต้องใช้โฮสต์ป้อมปราการ
เหตุใดจึงปลอดภัย
รูปแบบการรักษาความปลอดภัยนี้มีข้อดีอย่างชัดเจน ได้แก่ ไม่มีพอร์ตรับข้อมูลขาเข้าให้โจมตี ไม่มีกุญแจ SSHให้รั่วไหล การควบคุมการเข้าถึงแบบ อิง IAM ปลายทางส่วนตัวที่เลือกใช้ได้ และ การเข้ารหัสตลอดเส้นทาง จุดอ่อนทุกประการของการเข้าถึงระยะไกลแบบดั้งเดิมได้รับการแก้ไข จึงเป็นเหตุผลที่การสอบถือว่า Session Manager เป็นคำตอบเริ่มต้นสำหรับการดูแลระบบอย่างปลอดภัย
นำทุกอย่างมารวมกัน
Session Manager ใช้ SSM Agent แบบขาออก ร่วมกับบทบาทอินสแตนซ์ที่มี AmazonSSMManagedInstanceCore เพื่อให้เข้าถึงเชลล์ได้โดย ไม่มีพอร์ตรับข้อมูลขาเข้า ไม่มี IP สาธารณะ และไม่มีกุญแจ การเข้าถึงถูกควบคุมด้วย IAM (ssm:StartSession) กำหนดขอบเขตด้วย แท็ก เข้ารหัสขณะส่งผ่าน และเข้าถึงแบบส่วนตัวผ่าน ปลายทาง VPC นอกจากนี้ยังรองรับการส่งต่อพอร์ตอย่างปลอดภัย
ตรวจสอบอย่างรวดเร็ว
ทดสอบกลไกการทำงานของ Session Manager
สรุปทบทวน
Session Manager ให้สิทธิ์เข้าถึงเชลล์ผ่าน SSM Agent แบบขาออก ร่วมกับบทบาทอินสแตนซ์ (AmazonSSMManagedInstanceCore) โดยไม่ต้องมี พอร์ตรับข้อมูลขาเข้า IP สาธารณะ หรือกุญแจ การเข้าถึงอยู่ภายใต้การควบคุมของ IAM (ssm:StartSession) กำหนดขอบเขตด้วย แท็ก เข้ารหัสด้วย TLS/KMS และทำงานแบบส่วนตัวผ่าน ปลายทาง VPC สำหรับ ssm, ssmmessages และ ec2messages นอกจากนี้ยังรองรับการส่งต่อพอร์ตอย่างปลอดภัย
คำถามที่พบบ่อย
บทเรียน “Session Manager โดยไม่ต้องเปิดพอร์ต” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Session Manager โดยไม่ต้องเปิดพอร์ต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Session Manager โดยไม่ต้องเปิดพอร์ต”
เข้าถึงอินสแตนซ์ผ่าน SSM โดยไม่ต้องเปิดการเข้าถึงขาเข้าเลย คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “Session Manager โดยไม่ต้องเปิดพอร์ต” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใด Bastion Host จึงเพิ่มความเสี่ยง
- Session Manager โดยไม่ต้องเปิดพอร์ต
- การตรวจสอบและบันทึกเซสชันผู้ดูแลระบบ
- การเสริมความปลอดภัยปลายทางและ Patch Manager