PlusMagi's Blog By Pitt Phunsanit Linux,networking,Security,SSH เปลี่ยนพอร์ต SSH เริ่มต้น และเปิดใช้งาน การยืนยันตัวตนด้วย SSH Key เท่านั้น

เปลี่ยนพอร์ต SSH เริ่มต้น และเปิดใช้งาน การยืนยันตัวตนด้วย SSH Key เท่านั้น

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


เจาะลึกรายละเอียดและประเด็นสำคัญ

การปรับเปลี่ยนพอร์ต SSH ออกจากค่ามาตรฐาน (Port 22) เป็นมาตรการที่เรียกว่า “Security by Obscurity” ซึ่งช่วยลดปริมาณ Traffic จากเครื่องมือสแกนช่องโหว่แบบอัตโนมัติ (Automated Scanners) ได้อย่างมีประสิทธิภาพ ในขณะเดียวกัน การบังคับใช้การยืนยันตัวตนด้วย SSH Key แทนรหัสผ่าน เป็นการกำจัดความเสี่ยงจากการโจมตีแบบ Brute-Force ที่พึ่งพาการเดารหัสผ่าน ซึ่งเป็นแนวทางปฏิบัติที่ดีที่สุดที่ทุกองค์กรควรนำไปใช้

ในเชิงเทคนิค การดำเนินการนี้ต้องมีการแก้ไขไฟล์คอนฟิกูเรชันหลักของ SSH Daemon (sshd_config) เพื่อระบุพอร์ตใหม่ และตั้งค่า `PasswordAuthentication no` ควบคู่ไปกับการตรวจสอบว่า Public Key ของผู้ใช้งานถูกเพิ่มเข้าไปในไฟล์ `~/.ssh/authorized_keys` อย่างถูกต้อง การทำเช่นนี้จะทำให้ระบบมีความทนทานต่อการโจมตีได้สูงขึ้นอย่างเห็นได้ชัด

# 1. แก้ไขไฟล์ sshd_config เพื่อเปลี่ยนพอร์ตและปิดรหัสผ่าน
sudo sed -i 's/^Port 22/Port 2222/' /etc/ssh/sshd_config
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

# 2. รีสตาร์ทบริการ SSH
sudo systemctl restart sshd

# 3. การตรวจสอบ Key (ตัวอย่างการเพิ่ม Public Key)
echo "ssh-rsa AAAAB3NzaC1yc2E... user@host" >> ~/.ssh/authorized_keys


การนำไปประยุกต์ใช้ในชีวิตและการทำงานยุคใหม่

  • การทำ Infrastructure as Code (IaC): แทนที่จะแก้ไขไฟล์ด้วยมือ ควรใช้เครื่องมืออย่าง Ansible หรือ Terraform ในการจัดการและบังคับใช้นโยบายความปลอดภัยเหล่านี้ เพื่อให้มั่นใจว่าทุกสภาพแวดล้อม (Dev, Staging, Prod) มีมาตรฐานเดียวกันโดยอัตโนมัติ
  • การจัดการ Identity และ Access Management (IAM): การใช้ SSH Key เป็นส่วนหนึ่งของการควบคุมสิทธิ์ที่เข้มงวด ทำให้เราสามารถผูกสิทธิ์เข้าถึงระบบกับตัวตนของผู้ใช้งานได้อย่างชัดเจนและตรวจสอบย้อนหลังได้ง่ายกว่าการใช้รหัสผ่าน

โดยสรุปแล้ว การปรับปรุงความปลอดภัยของ SSH ไม่ใช่แค่การทำตาม Checklist แต่คือการเปลี่ยน Mindset จากการ “ป้องกัน” ไปสู่การ “ออกแบบระบบที่ทนทานต่อการโจมตีตั้งแต่ต้นทาง” (Security by Design) ซึ่งเป็นหัวใจสำคัญของการทำงานในฐานะ DevOps Engineer ยุคใหม่


อ่านเพิ่มเติม

Exit mobile version