วิธีการรักษาความปลอดภัย SSH เพิ่มเติมด้วยลำดับการทำ Port-knocking บน Ubuntu 18.04

บทนำ

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

ข้อกำหนดเบื้องต้น

  • เซิร์ฟเวอร์ Vultr ที่ใช้งาน Ubuntu 18.04
  • เข้าถึง Sudo

ก่อนที่จะทำตามขั้นตอนด้านล่างหากคุณไม่ได้ลงชื่อเข้าใช้ในฐานะผู้ใช้รูทโปรดรับรูทเชลล์ชั่วคราวโดยการเรียกใช้sudo -iและป้อนรหัสผ่าน หรือคุณอาจผนวกsudoคำสั่งที่แสดงไว้ในบทความนี้

ขั้นตอนที่ 1: การติดตั้ง Knockd

Knockd เป็นแพคเกจที่ใช้ร่วมกับ iptables เพื่อใช้พอร์ตการเคาะบนเซิร์ฟเวอร์ของคุณ 'การiptables-persistentแพคเกจ' จะต้องมี

apt update
apt install -y knockd iptables-persistent

ขั้นตอนที่ 2: กฎ iptables

เรียกใช้คำสั่งต่อไปนี้ตามลำดับ:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
iptables-save > /etc/iptables/rules.v4

คำสั่งเหล่านี้จะทำสิ่งต่อไปนี้ตามลำดับ:

  • สั่ง iptables เพื่อให้การเชื่อมต่อที่มีอยู่ยังคงอยู่
  • สั่ง iptables ให้ยกเลิกการเชื่อมต่อกับพอร์ต tcp / 22 (หาก SSH daemon ของคุณกำลังรับฟังพอร์ตอื่นที่ไม่ใช่ 22 คุณควรแก้ไขคำสั่งด้านบนตามลำดับ)
  • บันทึกกฎสองข้อนี้เพื่อที่จะคงอยู่หลังจากรีบูต

ขั้นตอนที่ 3: การกำหนดค่า Knockd

/etc/knockd.confใช้โปรแกรมแก้ไขข้อความที่คุณเลือกให้เปิดไฟล์

คุณจะเห็นสิ่งต่อไปนี้:

[openSSH]
sequence    = 7000,8000,9000
seq_timeout = 5
command     = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags    = syn

คุณควรเปลี่ยนลำดับของพอร์ต (เลือกหมายเลขพอร์ตด้านบน1024และไม่ได้ใช้โดยบริการอื่น ๆ ) และเก็บไว้อย่างปลอดภัย ชุดค่าผสมนี้ควรถือว่าเป็นรหัสผ่าน หากลืมคุณจะสูญเสียการเข้าถึง SSH x,y,zเราจะหมายถึงลำดับใหม่นี้เป็น

seq-timeoutเส้นเป็นจำนวนวินาที Knockd จะรอสำหรับลูกค้าที่จะเสร็จสมบูรณ์ลำดับพอร์ตเคาะ เป็นความคิดที่ดีที่จะเปลี่ยนสิ่งนี้ให้มีขนาดใหญ่ขึ้นโดยเฉพาะอย่างยิ่งถ้าการเคาะพอร์ตจะทำได้ด้วยตนเอง อย่างไรก็ตามค่าการหมดเวลาที่น้อยลงจะปลอดภัยยิ่งขึ้น 15ขอแนะนำให้เปลี่ยนเป็นเนื่องจากเราจะทำการเคาะด้วยตนเองในบทช่วยสอนนี้

เปลี่ยนลำดับการเปิดเป็นพอร์ตที่คุณเลือก:

[openSSH]
sequence    = x,y,z

เปลี่ยนค่าคำสั่งเป็นดังต่อไปนี้:

command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

ตอนนี้เปลี่ยนลำดับการปิดตามลำดับ:

[closeSSH]
sequence    = z,y,x

บันทึกการเปลี่ยนแปลงและออกจากนั้นเปิดไฟล์/etc/default/knockd:

  • แทนที่ด้วยSTART_KNOCKD=0START_KNOCKD=1
  • เพิ่มบรรทัดต่อไปนี้ในตอนท้ายของไฟล์: KNOCKD_OPTS="-i ens3"(แทนที่ens3ด้วยชื่อของอินเทอร์เฟซเครือข่ายสาธารณะของคุณถ้ามันแตกต่างกัน)
  • บันทึกและออก.

ตอนนี้เริ่ม Knockd:

systemctl start knockd

ถ้าตอนนี้คุณถอดจากเซิร์ฟเวอร์ของคุณคุณจะต้องเคาะบนพอร์ตx, yและzเชื่อมต่ออีกครั้ง

ขั้นตอนที่ 4: การทดสอบ

ตอนนี้คุณจะไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ SSH ของคุณได้

คุณสามารถทดสอบการเคาะพอร์ตด้วยไคลเอ็นต์เทลเน็ต

ผู้ใช้ Windows สามารถเรียกใช้ telnet ได้จากพรอมต์คำสั่ง หากไม่ได้ติดตั้ง telnet ให้เข้าถึงส่วน "โปรแกรม" ของแผงควบคุมจากนั้นค้นหา "เปิดหรือปิดคุณสมบัติ Windows" บนแผงคุณสมบัติค้นหา "ไคลเอ็นต์ Telnet" และเปิดใช้งาน

ในเทอร์มินัล / พรอมต์คำสั่งของคุณพิมพ์ต่อไปนี้:

telnet youripaddress x
telnet youripaddress y
telnet youripaddress z

ทำเช่นนี้ทั้งหมดในสิบห้าวินาทีตามที่กำหนดไว้ในการกำหนดค่า ตอนนี้พยายามเชื่อมต่อกับเซิร์ฟเวอร์ของคุณผ่าน SSH มันจะสามารถเข้าถึงได้

หากต้องการปิดการเข้าถึงเซิร์ฟเวอร์ SSH ให้รันคำสั่งตามลำดับย้อนกลับ

telnet youripaddress z
telnet youripaddress y
telnet youripaddress z

ข้อสรุป

ส่วนที่ดีที่สุดเกี่ยวกับการใช้การเคาะพอร์ตคือถ้ามีการกำหนดค่าควบคู่กับการรับรองความถูกต้องของคีย์ส่วนตัวนั้นแทบไม่มีโอกาสที่คนอื่นจะเข้าไปได้เว้นแต่จะมีคนรู้จักลำดับการเคาะพอร์ตของคุณและมีคีย์ส่วนตัวของคุณ



Leave a Comment

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true