ดิ้นรนกับกลุ่มความปลอดภัยใน AWS ต้องการตั้งค่า SG เดียว ซึ่งฉันจะใช้ในอินสแตนซ์ EC2 ทั้งหมดของฉัน เพื่ออนุญาตการรับส่งข้อมูล SSH (ฉันมี SG อื่นสำหรับบทบาทอื่น ปรับใช้ตามความเหมาะสม) อย่างไรก็ตาม ฉันไม่เห็นเหตุผลที่จะเปิดกลุ่ม SSH นี้ให้กับคนทั้งโลก สิ่งที่ฉันต้องการจะทำคือการจำกัดการเข้าถึงไปยังสหรัฐอเมริกาเท่านั้นในตอนนี้ สิ่งนี้เป็นไปได้หรือไม่?

answer

ทำได้ด้วยpam_geoip

ใน /etc/security/geoip.conf:

*           sshd          allow     US
*           sshd          ignore    UNKNOWN
*           sshd          deny      *

เป็นไปได้ในทางทฤษฎี แต่อาจไม่ใช่สิ่งที่คุณต้องการทำ

ตัวอย่างเช่น ฉันสามารถใช้บริการ VPN ฟรีเพื่อให้ที่อยู่ IP ในสหรัฐอเมริกาแก่ฉัน แม้ว่าฉันจะอยู่ในลอนดอน

ทางออกที่ดีกว่าคือคีย์ SSH ปิดใช้งานการเข้าสู่ระบบโดยใช้รหัสผ่าน และพิจารณาการตรวจสอบสิทธิ์แบบ 2 ปัจจัย

ฉันสับสนว่าทำไมคุณถึงต้องการอนุญาตให้เข้าถึง netblocks สำหรับประเทศโดยรวม ในเมื่อมีเพียงม่านความปลอดภัยที่บางที่สุดเท่านั้น (ผ่านความมืดมน)