วิธีการรักษาความปลอดภัย 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

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน