รักษาความปลอดภัยการเชื่อมต่อ SSH ของระบบ Linux เพื่อปกป้องระบบและข้อมูลของคุณ ผู้ดูแลระบบและผู้ใช้ตามบ้านจำเป็นต้องทำให้คอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ตแข็งและปลอดภัย แต่ SSH อาจมีความซับซ้อน นี่คือการชนะอย่างรวดเร็วสิบประการเพื่อช่วยปกป้องเซิร์ฟเวอร์ SSH ของคุณ
ข้อมูลพื้นฐานเกี่ยวกับความปลอดภัย SSH
SSH ย่อมาจาก Secure Shell . ชื่อ“ SSH” ใช้แทนกันได้เพื่อหมายถึงโปรโตคอล SSH เองหรือเครื่องมือซอฟต์แวร์ที่อนุญาตให้ผู้ดูแลระบบและผู้ใช้ทำการเชื่อมต่อที่ปลอดภัยกับคอมพิวเตอร์ระยะไกลโดยใช้โปรโตคอลนั้น
โปรโตคอล SSH เป็นโปรโตคอลที่เข้ารหัสที่ออกแบบมาเพื่อให้มีการเชื่อมต่อที่ปลอดภัยผ่านเครือข่ายที่ไม่ปลอดภัยเช่นอินเทอร์เน็ต SSH ใน Linux สร้างขึ้นจากไฟล์ OpenSSH โครงการ. มีการใช้งานในไฟล์ แบบจำลองไคลเอ็นต์เซิร์ฟเวอร์คลาสสิก ด้วยเซิร์ฟเวอร์ SSH ที่ยอมรับการเชื่อมต่อจากไคลเอนต์ SSH ไคลเอนต์ถูกใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์และกับ แสดง เซสชันให้กับผู้ใช้ระยะไกล เซิร์ฟเวอร์ยอมรับการเชื่อมต่อและ ดำเนินการ เซสชั่น
ในการกำหนดค่าเริ่มต้นเซิร์ฟเวอร์ SSH จะรับฟังการเชื่อมต่อขาเข้าบน Transmission Control Protocol ( TCP ) พอร์ต 22 เนื่องจากเป็นแบบมาตรฐาน พอร์ตที่รู้จักกันดี มันเป็นเป้าหมายสำหรับ ผู้คุกคาม และ บอทที่เป็นอันตราย .
ผู้กระทำการคุกคามจะเปิดบอทที่สแกนที่อยู่ IP ที่หลากหลายเพื่อค้นหาพอร์ตที่เปิดอยู่ จากนั้นพอร์ตจะถูกตรวจสอบเพื่อดูว่ามีช่องโหว่ที่สามารถใช้ประโยชน์ได้หรือไม่ การคิดว่า“ ฉันปลอดภัยมีเป้าหมายที่ใหญ่กว่าและดีกว่าฉันให้คนร้ายเล็ง” เป็นการให้เหตุผลที่ผิดพลาด บอทไม่ได้เลือกเป้าหมายโดยพิจารณาจากข้อดีใด ๆ พวกเขากำลังมองหาระบบที่พวกเขาสามารถละเมิดได้อย่างเป็นระบบ
คุณเสนอชื่อตัวเองเป็นเหยื่อหากคุณไม่ได้รักษาความปลอดภัยระบบของคุณ
แรงเสียดทานด้านความปลอดภัย
แรงเสียดทานด้านความปลอดภัยคือการระคายเคืองไม่ว่าจะในระดับใดก็ตามที่ผู้ใช้และคนอื่น ๆ จะได้สัมผัสเมื่อคุณใช้มาตรการรักษาความปลอดภัย เรามีความทรงจำอันยาวนานและจำได้ว่าแนะนำผู้ใช้ใหม่ ๆ ให้รู้จักกับระบบคอมพิวเตอร์และได้ยินพวกเขาถามด้วยน้ำเสียงที่น่ากลัวว่า จริงๆ ต้องป้อนรหัสผ่าน ทุกเวลา พวกเขาเข้าสู่ระบบเมนเฟรม นั่นคือความขัดแย้งด้านความปลอดภัยสำหรับพวกเขา
(อนึ่งการประดิษฐ์รหัสผ่านได้รับเครดิต เฟอร์นันโดเจคอร์บาโต อีกรูปหนึ่งในแพนธีออนของนักวิทยาศาสตร์คอมพิวเตอร์ที่ทำงานร่วมกันมีส่วนทำให้เกิดสถานการณ์ที่นำไปสู่การกำเนิด Unix .)
การแนะนำมาตรการรักษาความปลอดภัยมักจะเกี่ยวข้องกับความขัดแย้งบางอย่างสำหรับใครบางคน เจ้าของธุรกิจต้องจ่ายสำหรับมัน ผู้ใช้คอมพิวเตอร์อาจต้องเปลี่ยนแนวปฏิบัติที่คุ้นเคยหรือจดจำรายละเอียดการตรวจสอบสิทธิ์ชุดอื่นหรือเพิ่มขั้นตอนเพิ่มเติมเพื่อเชื่อมต่อให้สำเร็จ ผู้ดูแลระบบจะมีงานเพิ่มเติมที่ต้องทำเพื่อดำเนินการและรักษามาตรการรักษาความปลอดภัยใหม่
การชุบแข็งและการล็อกระบบปฏิบัติการแบบลินุกซ์หรือยูนิกซ์สามารถมีส่วนร่วมได้อย่างรวดเร็ว สิ่งที่เรานำเสนอต่อไปนี้คือชุดขั้นตอนที่ใช้งานง่ายซึ่งจะปรับปรุงความปลอดภัยของคอมพิวเตอร์ของคุณโดยไม่ต้องใช้แอปพลิเคชันของบุคคลที่สามและไม่ต้องขุดผ่านไฟร์วอลล์ของคุณ
ขั้นตอนเหล่านี้ไม่ใช่คำสุดท้ายในการรักษาความปลอดภัย SSH แต่จะช่วยให้คุณก้าวไปข้างหน้าได้ไกลจากการตั้งค่าเริ่มต้นและไม่มีความขัดแย้งมากเกินไป
ใช้ SSH Protocol เวอร์ชัน 2
ในปี 2549 โปรโตคอล SSH ได้รับการอัปเดตจากเวอร์ชัน 1 เป็น รุ่น 2 . มันเป็นการอัพเกรดครั้งสำคัญ มีการเปลี่ยนแปลงและการปรับปรุงมากมายโดยเฉพาะอย่างยิ่งเกี่ยวกับการเข้ารหัสและความปลอดภัยเวอร์ชัน 2 ไม่สามารถใช้งานร่วมกับเวอร์ชัน 1 ได้ในการป้องกันการเชื่อมต่อจากไคลเอนต์เวอร์ชัน 1 คุณสามารถกำหนดได้ว่าคอมพิวเตอร์ของคุณจะยอมรับการเชื่อมต่อจากไคลเอนต์เวอร์ชัน 2 เท่านั้น
โดยแก้ไขไฟล์
/ etc / ssh / sshd_config
ไฟล์. เราจะทำเช่นนี้ตลอดบทความนี้ เมื่อใดก็ตามที่คุณต้องการแก้ไขไฟล์นี้เป็นคำสั่งที่จะใช้:
sudo gedit / etc / ssh / sshd_config
เพิ่มบรรทัด:
โปรโตคอล 2
และบันทึกไฟล์. เรากำลังจะเริ่มกระบวนการ SSH daemon ใหม่ อีกครั้งเราจะทำเช่นนี้ตลอดบทความนี้ นี่คือคำสั่งที่จะใช้ในแต่ละกรณี:
sudo systemctl รีสตาร์ท sshd
ตรวจสอบว่าการตั้งค่าใหม่ของเรามีผลบังคับใช้ เราจะข้ามไปยังเครื่องอื่นและลอง SSH ไปยังเครื่องทดสอบของเรา และเราจะใช้
-1
(โปรโตคอล 1) ตัวเลือกเพื่อบังคับใช้
ssh
คำสั่งใช้โปรโตคอลเวอร์ชัน 1
ssh -1 [email protected]
เยี่ยมมากคำขอเชื่อมต่อของเราถูกปฏิเสธ ตรวจสอบให้แน่ใจว่าเรายังสามารถเชื่อมต่อกับโปรโตคอล 2 ได้เราจะใช้ไฟล์
-2
(โปรโตคอล 2) ตัวเลือกเพื่อพิสูจน์ความจริง
ssh -2 [email protected]
ความจริงที่ว่าเซิร์ฟเวอร์ SSH กำลังขอรหัสผ่านของเราเป็นข้อบ่งชี้ในเชิงบวกว่ามีการเชื่อมต่อและคุณกำลังโต้ตอบกับเซิร์ฟเวอร์ อันที่จริงเนื่องจากไคลเอนต์ SSH สมัยใหม่จะใช้โปรโตคอล 2 เป็นค่าเริ่มต้นเราจึงไม่จำเป็นต้องระบุโปรโตคอล 2 ตราบใดที่ไคลเอนต์ของเราเป็นข้อมูลล่าสุด
ssh [email protected]
และการเชื่อมต่อของเราได้รับการยอมรับ ดังนั้นจึงเป็นเพียงการเชื่อมต่อโปรโตคอล 1 ที่อ่อนแอกว่าและปลอดภัยน้อยกว่าที่ถูกปฏิเสธ
หลีกเลี่ยงพอร์ต 22
พอร์ต 22 เป็นพอร์ตมาตรฐานสำหรับการเชื่อมต่อ SSH หากคุณใช้พอร์ตอื่นระบบจะเพิ่มความปลอดภัยเล็กน้อยผ่านการปิดบังให้กับระบบของคุณ การรักษาความปลอดภัยด้วยความคลุมเครือไม่เคยถือเป็นมาตรการรักษาความปลอดภัยที่แท้จริงและฉันได้โจมตีมันในบทความอื่น ๆ ในความเป็นจริงบ็อตโจมตีที่ชาญฉลาดกว่าบางตัวจะตรวจสอบพอร์ตที่เปิดอยู่ทั้งหมดและพิจารณาว่าพวกเขากำลังให้บริการใดแทนที่จะอาศัยรายการพอร์ตที่ค้นหาง่าย ๆ และสมมติว่าพวกเขาให้บริการตามปกติ แต่การใช้พอร์ตที่ไม่ได้มาตรฐานสามารถช่วยลดเสียงรบกวนและการรับส่งข้อมูลที่ไม่ดีบนพอร์ต 22 ได้
ในการกำหนดค่าพอร์ตที่ไม่ได้มาตรฐานให้แก้ไขไฟล์คอนฟิกูเรชัน SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
ลบแฮช # ออกจากจุดเริ่มต้นของบรรทัด "พอร์ต" และแทนที่ "22" ด้วยหมายเลขพอร์ตที่คุณเลือก บันทึกไฟล์คอนฟิกูเรชันของคุณและรีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
มาดูกันว่ามีผลกระทบอะไรบ้าง บนคอมพิวเตอร์เครื่องอื่นของเราเราจะใช้ไฟล์
ssh
คำสั่งเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของเรา
ssh
คำสั่งเริ่มต้นใช้พอร์ต 22:
ssh [email protected]
การเชื่อมต่อของเราถูกปฏิเสธ ลองอีกครั้งและระบุพอร์ต 470 โดยใช้ตัวเลือก -p (พอร์ต):
ssh -p 479 [email protected]
การเชื่อมต่อของเราได้รับการยอมรับ
กรองการเชื่อมต่อโดยใช้ TCP Wrappers
TCP Wrappers เป็นเรื่องง่ายที่จะเข้าใจ รายการควบคุมการเข้าถึง . ช่วยให้คุณสามารถยกเว้นและอนุญาตการเชื่อมต่อตามลักษณะของคำขอการเชื่อมต่อเช่นที่อยู่ IP หรือชื่อโฮสต์ ควรใช้ TCP wrapper ร่วมกับไฟร์วอลล์ที่กำหนดค่าไว้อย่างเหมาะสมแทน ในสถานการณ์เฉพาะของเราเราสามารถกระชับสิ่งต่างๆได้มากโดยใช้ TCP wrapper
TCP wrappers ได้รับการติดตั้งแล้วบนเครื่อง Ubuntu 18.04 LTS ที่ใช้ในการค้นคว้าบทความนี้ ต้องติดตั้งบน Manjaro 18.10 และ Fedora 30
ในการติดตั้งบน Fedora ให้ใช้คำสั่งนี้:
sudo yum ติดตั้ง tcp_wrappers
ในการติดตั้งบน Manjaro ให้ใช้คำสั่งนี้:
sudo pacman -Syu tcp-wrappers
มีสองไฟล์ที่เกี่ยวข้อง คนหนึ่งถือรายการที่อนุญาตและอีกคนถือรายการที่ถูกปฏิเสธ แก้ไขรายการปฏิเสธโดยใช้:
sudo gedit /etc/hosts.deny
ซึ่งจะเปิดไฟล์
gedit
แก้ไขด้วยไฟล์ปฏิเสธที่โหลดอยู่ในนั้น
คุณต้องเพิ่มบรรทัด:
ทั้งหมด: ทั้งหมด
และบันทึกไฟล์. ซึ่งจะบล็อกการเข้าถึงทั้งหมดที่ไม่ได้รับอนุญาต ตอนนี้เราจำเป็นต้องอนุญาตการเชื่อมต่อที่คุณต้องการยอมรับ ในการทำเช่นนั้นคุณต้องแก้ไขไฟล์ allow:
sudo gedit /etc/hosts.allow
ซึ่งจะเปิดไฟล์
gedit
แก้ไขด้วยไฟล์ allow ที่โหลดอยู่ในนั้น
เราได้เพิ่มชื่อ SSH daemon
SSHD
และที่อยู่ IP ของคอมพิวเตอร์ที่เราจะอนุญาตให้ทำการเชื่อมต่อ บันทึกไฟล์แล้วมาดูกันว่ามีการบังคับใช้ข้อ จำกัด และสิทธิ์หรือไม่
ขั้นแรกเราจะพยายามเชื่อมต่อจากคอมพิวเตอร์ที่ไม่ได้อยู่ใน
hosts.allow
ไฟล์:
การเชื่อมต่อถูกปฏิเสธ ตอนนี้เราจะพยายามเชื่อมต่อจากเครื่องที่ที่อยู่ IP 192.168.4.23:
การเชื่อมต่อของเราได้รับการยอมรับ
ตัวอย่างของเรานี้ค่อนข้างโหด - มีเพียงคอมพิวเตอร์เครื่องเดียวเท่านั้นที่สามารถเชื่อมต่อได้ TCP wrapper ค่อนข้างหลากหลายและยืดหยุ่นกว่านี้ รองรับ ชื่อโฮสต์สัญลักษณ์แทนและซับเน็ตมาสก์ เพื่อยอมรับการเชื่อมต่อจากช่วงของที่อยู่ IP คุณได้รับการสนับสนุนให้ ตรวจสอบหน้าคน .
ปฏิเสธคำขอเชื่อมต่อโดยไม่มีรหัสผ่าน
แม้ว่าจะเป็นการปฏิบัติที่ไม่ดี แต่ผู้ดูแลระบบ Linux สามารถสร้างบัญชีผู้ใช้โดยไม่ต้องใช้รหัสผ่าน นั่นหมายความว่าคำขอเชื่อมต่อระยะไกลจากบัญชีนั้นจะไม่มีรหัสผ่านให้ตรวจสอบ การเชื่อมต่อเหล่านั้นจะได้รับการยอมรับ แต่ไม่ได้รับการตรวจสอบสิทธิ์
การตั้งค่าเริ่มต้นสำหรับ SSH ยอมรับคำขอเชื่อมต่อโดยไม่มีรหัสผ่าน เราสามารถเปลี่ยนแปลงสิ่งนั้นได้อย่างง่ายดายและตรวจสอบการเชื่อมต่อทั้งหมด
เราจำเป็นต้องแก้ไขไฟล์กำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่อ่านว่า“ #PermitEmptyPasswords no.” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัดและบันทึกไฟล์ รีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
ใช้คีย์ SSH แทนรหัสผ่าน
คีย์ SSH เป็นวิธีที่ปลอดภัยในการล็อกอินเข้าสู่เซิร์ฟเวอร์ SSH รหัสผ่านสามารถเดาถอดรหัสหรือ เดรัจฉานบังคับ . คีย์ SSH ไม่เปิดสำหรับการโจมตีประเภทนี้
เมื่อคุณสร้างคีย์ SSH คุณจะสร้างคีย์คู่หนึ่ง หนึ่งคือคีย์สาธารณะและอีกอันคือคีย์ส่วนตัว มีการติดตั้งคีย์สาธารณะบนเซิร์ฟเวอร์ที่คุณต้องการเชื่อมต่อ คีย์ส่วนตัวตามชื่อที่แนะนำจะถูกเก็บไว้อย่างปลอดภัยในคอมพิวเตอร์ของคุณเอง
คีย์ SSH ช่วยให้คุณสามารถเชื่อมต่อได้โดยไม่ต้องใช้รหัสผ่านซึ่งมีความปลอดภัยมากกว่าการเชื่อมต่อที่ใช้การตรวจสอบรหัสผ่าน
เมื่อคุณร้องขอการเชื่อมต่อคอมพิวเตอร์ระยะไกลจะใช้สำเนาคีย์สาธารณะของคุณเพื่อสร้างข้อความเข้ารหัสที่ส่งกลับไปยังคอมพิวเตอร์ของคุณ เนื่องจากมีการเข้ารหัสด้วยคีย์สาธารณะของคุณคอมพิวเตอร์ของคุณจึงสามารถยกเลิกการเข้ารหัสด้วยคีย์ส่วนตัวของคุณได้
จากนั้นคอมพิวเตอร์ของคุณจะดึงข้อมูลบางส่วนออกจากข้อความโดยเฉพาะอย่างยิ่งรหัสเซสชันเข้ารหัสข้อมูลนั้นและส่งกลับไปยังเซิร์ฟเวอร์ หากเซิร์ฟเวอร์สามารถถอดรหัสด้วยสำเนาคีย์สาธารณะของคุณและหากข้อมูลภายในข้อความตรงกับสิ่งที่เซิร์ฟเวอร์ส่งถึงคุณการเชื่อมต่อของคุณจะได้รับการยืนยันว่ามาจากคุณ
ที่นี่มีการเชื่อมต่อกับเซิร์ฟเวอร์ที่ 192.168.4.11 โดยผู้ใช้ที่มีคีย์ SSH โปรดทราบว่าระบบจะไม่ถามรหัสผ่าน
ssh [email protected]
คีย์ SSH มอบบทความทั้งหมดให้กับตัวเอง เรามีให้คุณ นี่คือ วิธีสร้างและติดตั้งคีย์ SSH .
ที่เกี่ยวข้อง: วิธีสร้างและติดตั้งคีย์ SSH จาก Linux Shell
ปิดใช้งานการตรวจสอบรหัสผ่านพร้อมกัน
แน่นอนว่าส่วนขยายเชิงตรรกะของการใช้คีย์ SSH คือหากผู้ใช้ระยะไกลทั้งหมดถูกบังคับให้นำมาใช้คุณสามารถปิดการตรวจสอบรหัสผ่านได้อย่างสมบูรณ์
เราจำเป็นต้องแก้ไขไฟล์กำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่ขึ้นต้นด้วย“ #PasswordAuthentication ใช่” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัดเปลี่ยน "ใช่" เป็น "ไม่ใช่" และบันทึกไฟล์ รีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
ปิดใช้งานการส่งต่อ X11
การส่งต่อ X11 ช่วยให้ผู้ใช้ระยะไกลสามารถเรียกใช้แอปพลิเคชันกราฟิกจากเซิร์ฟเวอร์ของคุณผ่านเซสชัน SSH ในมือของผู้คุกคามหรือผู้ใช้ที่เป็นอันตรายอินเทอร์เฟซ GUI สามารถทำให้จุดประสงค์ที่มุ่งร้ายง่ายขึ้น
มนต์มาตรฐานในการรักษาความปลอดภัยทางไซเบอร์คือถ้าคุณไม่มีเหตุผลที่จะเปิดใช้งานให้ปิดมันซะ เราจะดำเนินการดังกล่าวโดยแก้ไขไฟล์การกำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่ขึ้นต้นด้วย“ # X11Forwarding no” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัดและบันทึกไฟล์ รีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
ตั้งค่าการหมดเวลาที่ไม่ได้ใช้งาน
หากมีการเชื่อมต่อ SSH กับคอมพิวเตอร์ของคุณและไม่มีกิจกรรมใด ๆ ในช่วงระยะเวลาหนึ่งอาจก่อให้เกิดความเสี่ยงด้านความปลอดภัย มีโอกาสที่ผู้ใช้จะออกจากโต๊ะและไปยุ่งที่อื่น ใครก็ตามที่เดินผ่านโต๊ะทำงานสามารถนั่งลงและเริ่มใช้คอมพิวเตอร์และผ่าน SSH คอมพิวเตอร์ของคุณได้
การกำหนดขีด จำกัด การหมดเวลาจะปลอดภัยกว่ามาก การเชื่อมต่อ SSH จะหลุดหากช่วงเวลาที่ไม่ใช้งานตรงกับเวลาที่กำหนด อีกครั้งเราจะแก้ไขไฟล์การกำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่ขึ้นต้นด้วย“ #ClientAliveInterval 0” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัดให้เปลี่ยนตัวเลข 0 เป็นค่าที่คุณต้องการ เราใช้ไป 300 วินาทีซึ่งก็คือ 5 นาที บันทึกไฟล์และรีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
กำหนดขีด จำกัด สำหรับความพยายามในการใช้รหัสผ่าน
การกำหนดขีด จำกัด จำนวนครั้งในการตรวจสอบสิทธิ์สามารถช่วยป้องกันการเดารหัสผ่านและการโจมตีด้วยกำลังดุร้าย หลังจากจำนวนคำขอการตรวจสอบสิทธิ์ที่กำหนดผู้ใช้จะถูกตัดการเชื่อมต่อจากเซิร์ฟเวอร์ SSH โดยค่าเริ่มต้นไม่มีขีด จำกัด แต่นั่นสามารถแก้ไขได้อย่างรวดเร็ว
อีกครั้งเราต้องแก้ไขไฟล์กำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่ขึ้นต้นด้วย“ #MaxAuthTries 0” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัดให้เปลี่ยนตัวเลข 0 เป็นค่าที่คุณต้องการ เราใช้ 3 ที่นี่ บันทึกไฟล์เมื่อคุณทำการเปลี่ยนแปลงและรีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
เราสามารถทดสอบได้โดยพยายามเชื่อมต่อและจงใจป้อนรหัสผ่านไม่ถูกต้อง
โปรดทราบว่าหมายเลข MaxAuthTries ดูเหมือนจะมากกว่าจำนวนครั้งที่ผู้ใช้อนุญาต หลังจากพยายามไม่ดีสองครั้งผู้ใช้ทดสอบของเราจะถูกตัดการเชื่อมต่อ นี่คือ MaxAuthTries ตั้งค่าเป็นสาม
ปิดการใช้งาน Root Log Ins
การล็อกอินด้วยรูทบนคอมพิวเตอร์ Linux เป็นการปฏิบัติที่ไม่ดี คุณควรเข้าสู่ระบบในฐานะผู้ใช้ปกติและใช้งาน
sudo
เพื่อดำเนินการที่ต้องใช้สิทธิ์ root ยิ่งไปกว่านั้นคุณไม่ควรอนุญาตให้รูทเข้าสู่เซิร์ฟเวอร์ SSH ของคุณ ผู้ใช้ทั่วไปควรได้รับอนุญาตให้เชื่อมต่อเท่านั้น หากจำเป็นต้องทำงานด้านการดูแลระบบควรใช้
sudo
เกินไป. หากคุณถูกบังคับให้อนุญาตให้ผู้ใช้รูทเข้าสู่ระบบอย่างน้อยคุณสามารถบังคับให้พวกเขาใช้คีย์ SSH ได้
ในครั้งสุดท้ายเราจะต้องแก้ไขไฟล์การกำหนดค่า SSH ของคุณ:
sudo gedit / etc / ssh / sshd_config
เลื่อนดูไฟล์จนกว่าคุณจะเห็นบรรทัดที่ขึ้นต้นด้วย“ #PermitRootLogin ห้ามรหัสผ่าน” ลบแฮช
#
จากจุดเริ่มต้นของบรรทัด
- หากคุณต้องการป้องกันไม่ให้รูทเข้าสู่ระบบเลยให้แทนที่ "ห้าม - รหัสผ่าน" ด้วย "ไม่"
- หากคุณจะอนุญาตให้รูทล็อกอิน แต่บังคับให้ใช้คีย์ SSH ให้เว้น "การห้าม - รหัสผ่าน" ไว้
บันทึกการเปลี่ยนแปลงของคุณและรีสตาร์ท SSH daemon:
sudo systemctl รีสตาร์ท sshd
ขั้นตอนที่ดีที่สุด
แน่นอนว่าหากคุณไม่จำเป็นต้องใช้ SSH บนคอมพิวเตอร์ของคุณเลยตรวจสอบให้แน่ใจว่าปิดการใช้งานแล้ว
sudo systemctl หยุด sshd
sudo systemctl ปิดการใช้งาน sshd
หากคุณไม่เปิดหน้าต่างก็จะไม่มีใครปีนเข้ามาได้