ในปัจจุบันนี้ โพสต์ที่หกและครั้งสุดท้าย จากชุดโพสต์ของเราบน การเรียนรู้ SSH เราจะกล่าวถึงในทางปฏิบัติ การกำหนดค่า และการใช้ ตัวเลือกที่ระบุใน ไฟล์คอนฟิกูเรชัน OpenSSH ที่จับด้านข้างของ ssh-เซิร์ฟเวอร์, นั่นคือ, ไฟล์ "การกำหนดค่า SSHD" (sshd_config) ซึ่งเราได้กล่าวถึงในงวดที่แล้ว
ในลักษณะที่เราสามารถทราบได้โดยย่อ เรียบง่าย และตรง ๆ ว่า . บางส่วน แนวปฏิบัติที่ดีที่ดีที่สุด (คำแนะนำและเคล็ดลับ) เมื่อ ตั้งค่าเซิร์ฟเวอร์ SSHทั้งที่บ้านและในสำนักงาน
และก่อนที่จะเริ่มหัวข้อของวันนี้เกี่ยวกับสิ่งที่ดีที่สุด “แนวปฏิบัติที่ดีที่จะใช้ในการกำหนดค่าของเซิร์ฟเวอร์ SSH”เราจะทิ้งลิงก์ไปยังสิ่งตีพิมพ์ที่เกี่ยวข้องไว้สำหรับอ่านในภายหลัง:
แนวปฏิบัติที่ดีในเซิร์ฟเวอร์ SSH
แนวปฏิบัติที่ดีใดบ้างที่ใช้เมื่อกำหนดค่าเซิร์ฟเวอร์ SSH
ถัดไปและขึ้นอยู่กับตัวเลือกและพารามิเตอร์del ไฟล์กำหนดค่า SSHD (sshd_config), ก่อนหน้านี้เห็นในโพสต์ก่อนหน้านี้ เหล่านี้จะเป็นบางส่วนของ แนวปฏิบัติที่ดีที่ดีที่สุด เพื่อดำเนินการเกี่ยวกับการกำหนดค่าของไฟล์ดังกล่าว to ปลอดภัย ดีที่สุดของเรา การเชื่อมต่อระยะไกลขาเข้าและขาออกบนเซิร์ฟเวอร์ SSH ที่กำหนด:
ระบุผู้ใช้ที่สามารถเข้าสู่ระบบ SSH ด้วยตัวเลือก อนุญาตให้ผู้ใช้
เนื่องจากโดยปกติแล้วตัวเลือกหรือพารามิเตอร์นี้จะไม่รวมอยู่ในไฟล์ดังกล่าวโดยค่าเริ่มต้น จึงสามารถแทรกไว้ที่ส่วนท้ายของไฟล์ได้ การใช้ a รายการรูปแบบชื่อผู้ใช้, คั่นด้วยช่องว่าง. เพื่อว่าถ้ากำหนดไว้ เข้าสู่ระบบจากนั้นจะอนุญาตเฉพาะชื่อผู้ใช้และชื่อโฮสต์ที่ตรงกับรูปแบบใดรูปแบบหนึ่งที่กำหนดค่าไว้
ตัวอย่างเช่นดังที่แสดงด้านล่าง:
AllowUsers *patron*@192.168.1.0/24 *@192.168.1.0/24 *.midominio.com *@1.2.3.4
AllowGroups ssh
บอก SSH ว่าอินเทอร์เฟซเครือข่ายท้องถิ่นใดที่จะรับฟังด้วยตัวเลือก ListenAddress
เมื่อต้องการทำเช่นนี้ คุณต้องเปิดใช้งาน (ไม่แสดงข้อคิดเห็น) the ตัวเลือก ฟังที่อยู่ซึ่งมาจากe ค่าเริ่มต้นด้วย ค่า "0.0.0.0"แต่ใช้งานได้จริงบน โหมดทั้งหมดนั่นคือฟังบนอินเทอร์เฟซเครือข่ายที่มีอยู่ทั้งหมด ดังนั้นจึงต้องกำหนดมูลค่าดังกล่าวในลักษณะที่ระบุว่าค่าใดค่าหนึ่งหรือ ที่อยู่ IP ท้องถิ่น พวกเขาจะถูกใช้โดยโปรแกรม sshd เพื่อฟังคำขอเชื่อมต่อ
ตัวอย่างเช่นดังที่แสดงด้านล่าง:
ListenAddress 129.168.2.1 192.168.1.*
ตั้งค่าการเข้าสู่ระบบ SSH ผ่านคีย์ด้วยตัวเลือก การตรวจสอบรหัสผ่าน
เมื่อต้องการทำเช่นนี้ คุณต้องเปิดใช้งาน (ไม่แสดงข้อคิดเห็น) the ตัวเลือก การตรวจสอบรหัสผ่านซึ่งมาจากe ค่าเริ่มต้นด้วย ใช่ค่า. แล้วตั้งค่านั้นเป็น «ไม่»เพื่อกำหนดให้ใช้คีย์สาธารณะและคีย์ส่วนตัวเพื่อรับสิทธิ์การเข้าถึงเครื่องเฉพาะ บรรลุว่าเฉพาะผู้ใช้ระยะไกลเท่านั้นที่สามารถเข้ามาได้จากคอมพิวเตอร์หรือคอมพิวเตอร์ที่ได้รับอนุญาตก่อนหน้านี้ ตัวอย่างเช่นดังที่แสดงด้านล่าง:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
PubkeyAuthentication yes
ปิดใช้งานการเข้าสู่ระบบรูทผ่าน SSH ด้วยตัวเลือก สิทธิ์รูทเข้าสู่ระบบ
เมื่อต้องการทำเช่นนี้ คุณต้องเปิดใช้งาน (ไม่แสดงข้อคิดเห็น) the ตัวเลือก PermitRootLoginซึ่งมาจากe ค่าเริ่มต้นด้วย "ห้ามรหัสผ่าน" ค่า. อย่างไรก็ตามหากต้องการให้ครบถ้วน ผู้ใช้รูทไม่ได้รับอนุญาตให้เริ่มเซสชัน SSH ค่าที่เหมาะสมในการตั้งค่าคือ «ไม่». ตัวอย่างเช่นดังที่แสดงด้านล่าง:
PermitRootLogin no
เปลี่ยนพอร์ต SSH เริ่มต้นด้วยตัวเลือกพอร์ต
เมื่อต้องการทำเช่นนี้ คุณต้องเปิดใช้งาน (ไม่แสดงข้อคิดเห็น) the พอร์ตตัวเลือกซึ่งมาโดยปริยายกับ ค่า "22" แต่ถึงอย่างไรจำเป็นต้องเปลี่ยนพอร์ตดังกล่าวเป็นพอร์ตอื่นที่มีอยู่ เพื่อลดและหลีกเลี่ยงจำนวนการโจมตี บังคับด้วยมือหรือเดรัจฉาน ที่สามารถทำได้ผ่านพอร์ตที่มีชื่อเสียงดังกล่าว สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าพอร์ตใหม่นี้พร้อมใช้งาน และสามารถใช้โดยแอปพลิเคชันอื่นๆ ที่จะเชื่อมต่อกับเซิร์ฟเวอร์ของเรา ตัวอย่างเช่นดังที่แสดงด้านล่าง:
Port 4568
ตัวเลือกที่มีประโยชน์อื่น ๆ ในการตั้งค่า
สุดท้ายและตั้งแต่ โปรแกรม SSH นั้นกว้างขวางเกินไปและในงวดที่แล้ว เราได้กล่าวถึงแต่ละตัวเลือกโดยละเอียดแล้ว ด้านล่างนี้ เราจะแสดงเฉพาะตัวเลือกเพิ่มเติม โดยมีค่าบางค่าที่เหมาะสมในกรณีการใช้งานที่หลากหลายและหลากหลาย
และมีดังต่อไปนี้:
- แบนเนอร์ /etc/issue
- ClientAliveInterval 300
- ClientAliveCountMax 0
- เข้าสู่ระบบ GraceTime 30
- ระดับล็อก ข้อมูล
- MaxAuth ลอง 3
- เซสชันสูงสุด 0
- Max Startups 3
- อนุญาตว่างเปล่ารหัสผ่าน ไม่
- PrintMotd ใช่
- PrintLastLog ใช่
- โหมดเข้มงวด ใช่
- Syslogสิ่งอำนวยความสะดวก รับรอง
- X11 กำลังส่งต่อใช่
- X11DisplayOffset5
หมายเหตุหมายเหตุ: โปรดทราบว่าขึ้นอยู่กับระดับของประสบการณ์และความเชี่ยวชาญของ ผู้ดูแลระบบ และข้อกำหนดด้านความปลอดภัยของแต่ละแพลตฟอร์มเทคโนโลยี ตัวเลือกเหล่านี้จำนวนมากสามารถเปลี่ยนแปลงได้อย่างเหมาะสมและสมเหตุสมผลในวิธีที่ต่างกันมาก นอกจากนี้ ยังสามารถเปิดใช้งานตัวเลือกขั้นสูงหรือซับซ้อนอื่นๆ ได้ เนื่องจากมีประโยชน์หรือจำเป็นในสภาพแวดล้อมการทำงานที่แตกต่างกัน
แนวปฏิบัติที่ดีอื่นๆ
อื่น ๆ แนวปฏิบัติที่ดีในการนำไปใช้ในเซิร์ฟเวอร์ SSH เราสามารถพูดถึงต่อไปนี้:
- ตั้งค่าการแจ้งเตือนทางอีเมลสำหรับการเชื่อมต่อ SSH ทั้งหมดหรือเฉพาะ
- ป้องกันการเข้าถึง SSH ไปยังเซิร์ฟเวอร์ของเราจากการโจมตีแบบเดรัจฉานโดยใช้เครื่องมือ Fail2ban
- ตรวจสอบเป็นระยะด้วยเครื่องมือ Nmap บนเซิร์ฟเวอร์ SSH และอื่นๆ เพื่อค้นหาพอร์ตเปิดที่ไม่ได้รับอนุญาตหรือจำเป็น
- เสริมสร้างความปลอดภัยของแพลตฟอร์มไอทีโดยการติดตั้ง IDS (ระบบตรวจจับการบุกรุก) และ IPS (ระบบป้องกันการบุกรุก)
ข้อมูลอย่างย่อ
ในระยะสั้นกับงวดล่าสุดนี้บน "การเรียนรู้ SSH" เราเสร็จสิ้นเนื้อหาอธิบายทุกอย่างที่เกี่ยวข้องกับ OpenSSH. แน่นอน ในเวลาอันสั้น เราจะแบ่งปันความรู้ที่จำเป็นอีกเล็กน้อยเกี่ยวกับ โปรโตคอล SSHและเกี่ยวกับ .ของคุณ ใช้โดยคอนโซล ตลอด การเขียนสคริปต์เชลล์. เราหวังว่าคุณจะเป็น “แนวปฏิบัติที่ดีในเซิร์ฟเวอร์ SSH”ได้เพิ่มมูลค่ามากมายทั้งส่วนตัวและในอาชีพเมื่อใช้ GNU/Linux
หากคุณชอบโพสต์นี้อย่าลืมแสดงความคิดเห็นและแบ่งปันกับผู้อื่น และอย่าลืมเยี่ยมชม .ของเรา «หน้าแรก» เพื่อสำรวจข่าวสารเพิ่มเติมรวมทั้งเข้าร่วมช่องทางการของเราที่ โทรเลขของ DesdeLinux, ตะวันตก กลุ่ม สำหรับข้อมูลเพิ่มเติมในหัวข้อของวันนี้
ฉันหวังว่าจะได้ส่วนที่สองของบทความนี้ที่คุณขยายเพิ่มเติมในประเด็นสุดท้าย:
เสริมสร้างความปลอดภัยของแพลตฟอร์มไอทีโดยการติดตั้ง IDS (ระบบตรวจจับการบุกรุก) และ IPS (ระบบป้องกันการบุกรุก)
ขอบคุณ!
ขอแสดงความนับถือ Lhoqvso ฉันจะรอการตระหนักรู้ ขอบคุณสำหรับการเยี่ยมชมเราอ่านเนื้อหาของเราและแสดงความคิดเห็น