ศักยภาพเซสชัน SSH ที่ถูกแย่งชิงและแนวปฏิบัติที่ดีที่สุดของ SSH


14

ในขณะนี้ฉันกำลังออกไปเล็กน้อย ฉันเป็น SSHing ในเซิร์ฟเวอร์ระยะไกลที่ฉันเพิ่งได้รับหน้าที่ ฉันทำเช่นนี้เป็นราก ฉันติดตั้ง fail2ban และมี IP จำนวนมากถูกแบนในบันทึก

ครั้งสุดท้ายที่ฉันลงชื่อเข้าใช้ฉันสังเกตเห็นว่าเทอร์มินัลของฉันล้าหลังมากจากนั้นการเชื่อมต่ออินเทอร์เน็ตของฉันลดลง เมื่อฉันซื้อมันกลับมาหลังจากผ่านไปประมาณ 5 นาทีฉันก็กลับเข้าสู่เซิร์ฟเวอร์และทำ 'ใคร' และรู้ว่ามีผู้ใช้รูทสองคนเข้าสู่ระบบฉันจะคิดว่าถ้าการเชื่อมต่อของฉันยุติกระบวนการจากเซสชันล่าสุด หยุดบนเซิร์ฟเวอร์หรือไม่

การเชื่อมต่อจบลงด้วย 'การเขียนล้มเหลว: ท่อแตก' เมื่อฉันถูกตัดการเชื่อมต่อเป็นครั้งแรก ฉันฆ่าเซสชันทุบตีกับรากอื่น ๆ ฉันไม่รู้เกี่ยวกับความปลอดภัยของ SSH มากนัก มีวิธีตรวจสอบสิ่งนี้หรือไม่? ฉันจำเป็นต้องเข้าสู่ระบบต่อผ่านทาง ssh ฉันควรระวังอะไรบ้าง? ถ้าฉันกำลังผ่านพร็อกซีเพื่อไปยังเซิร์ฟเวอร์ของฉัน (เช่นคนที่อยู่ตรงกลางของการโจมตี) พวกเขาสามารถจี้เซสชั่น ssh ของฉันได้อย่างไร

คำตอบ:


40

การเข้าสู่ระบบรูทอาจเป็นช่วงของการแชทเชลล์ที่ครั้งหนึ่งเคยเป็น เซิร์ฟเวอร์ของคุณอาจได้รับ dDOS ด้วยการพยายามลงชื่อเข้าใช้ทั้งหมด

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

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

หากกลุ่มมองโกลยังคงปะทะกำแพงเมืองของคุณต่อไปอาจย้าย SSH ไปยังพอร์ตสูงอื่น (ต่ำกว่า 1024 ตามที่ @AustinBurke ชี้ให้เห็น - เพื่อใช้พอร์ตพิเศษ) แทน 22 วิธีนี้จะลดทราฟฟิกของพอร์ตนั้นถ้าสิ่งนี้ เป็นปัญหาสำหรับคุณ (และบอตส่วนใหญ่ไม่ได้สวยมากดังนั้นพวกเขาจะพยายามเพียงวันที่ 22) มันจะไม่หยุดสิ่งต่าง ๆ จากการลองพอร์ต 22 หรือแม้แต่การสแกนเครื่องของคุณเพื่อดูว่าพอร์ตใดกำลังฟัง SSH และในกรณีส่วนใหญ่คือความไม่สะดวกที่ไม่จำเป็น แต่อาจช่วยได้

คนอื่น ๆ อาจให้คำแนะนำเพิ่มเติมได้ แต่สิ่งเหล่านี้เป็นมาตรการรักษาความปลอดภัยทั่วไปที่น่าสนใจสำหรับเซิร์ฟเวอร์ SSH ที่เปิดเผยต่อสาธารณะ


22
การใช้กุญแจไม่เพียงพอ ต้องปิดใช้งานการตรวจสอบรหัสผ่านด้วยเช่นกัน
EEAA

4
@marcelm " จำนวนมากของ IP ที่ถูกแบนในบันทึก " ไม่ได้บอกเป็นนัย ๆ ว่าสิ่งนี้อาจจะเกิดขึ้นได้หรือไม่?
TripeHound

4
@tripehound ไม่ไม่ มันบอกว่าไม่มีอะไรเกี่ยวกับทรัพยากรที่เกี่ยวข้องที่บริโภคไป
marcelm

3
มันเป็นคำใบ้ถึงผลกระทบที่ว่า @marcelm
การแข่งขัน Lightness กับโมนิก้า

4
แม้ว่าสิ่งนี้จะเป็นไปได้ในจักรวาลนี้ แต่ ssh นั้นปลอดภัยมาก แน่นอนว่าคุณสามารถรับส่งข้อมูลในเที่ยวบินและเก็บไว้ในสถานะที่เข้ารหัส แต่การแลกเปลี่ยนคีย์ Diffie – Hellman ใช้เพื่อสร้างช่องทางการเข้ารหัส การแคร็กนี้ไม่สามารถทำได้หากคุณมีทั้งคีย์ส่วนตัวและคีย์สาธารณะที่ใช้สำหรับการตรวจสอบสิทธิ์เนื่องจากคีย์สตรีมไม่เคยสื่อสารระหว่างเซสชัน เมื่อถึงเวลาที่มีใครบางคนแตกลำธารเราจะต้องตาย
Spooler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.