เมื่อคุณต้องการเปิดบางสิ่งในเครือข่ายในบ้านของคุณไปยังอินเทอร์เน็ตที่ใหญ่ขึ้นอุโมงค์ SSH เป็นวิธีที่ปลอดภัยเพียงพอที่จะทำหรือไม่?
เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน
คำถาม
ผู้อ่าน SuperUser Alfred M. ต้องการทราบว่าเขามาถูกทางหรือไม่ด้วยความปลอดภัยในการเชื่อมต่อ:
ฉันเพิ่งตั้งค่าเซิร์ฟเวอร์ขนาดเล็กที่มีคอมพิวเตอร์ระดับล่างที่ใช้งานเดเบียนโดยมีจุดประสงค์เพื่อใช้เป็นที่เก็บ git ส่วนตัว ฉันเปิดใช้งาน ssh แล้วและค่อนข้างประหลาดใจกับความรวดเร็วที่ได้รับความเดือดร้อนจากการโจมตีด้วยกำลังดุร้ายและสิ่งที่คล้ายกัน จากนั้นก็อ่านว่านี่คือ ค่อนข้างธรรมดา และเรียนรู้เกี่ยวกับมาตรการรักษาความปลอดภัยขั้นพื้นฐานเพื่อป้องกันการโจมตีเหล่านี้ (มีคำถามและข้อมูลซ้ำมากมายเกี่ยวกับการจัดการข้อผิดพลาดของเซิร์ฟเวอร์ดูตัวอย่างเช่น อันนี้ หรือ อันนี้ ).
แต่ตอนนี้ฉันกำลังสงสัยว่าทั้งหมดนี้คุ้มค่ากับความพยายามหรือไม่ ฉันตัดสินใจที่จะตั้งค่าเซิร์ฟเวอร์ของตัวเองเพื่อความสนุกสนานเป็นส่วนใหญ่ฉันสามารถพึ่งพาโซลูชันของบุคคลที่สามเช่น gitbucket.org, bettercodes.org เป็นต้นแม้ว่าส่วนหนึ่งของความสนุกจะเกี่ยวกับการเรียนรู้เกี่ยวกับความปลอดภัยทางอินเทอร์เน็ต แต่ฉันก็ไม่ได้ มีเวลามากพอที่จะอุทิศให้มันเป็นผู้เชี่ยวชาญและเกือบจะมั่นใจได้ว่าฉันได้ใช้มาตรการป้องกันที่ถูกต้อง
เพื่อที่จะตัดสินใจว่าฉันจะเล่นโปรเจ็กต์ของเล่นนี้ต่อไปหรือไม่ฉันอยากจะรู้ว่าฉันต้องเสี่ยงกับอะไรจริงๆ ตัวอย่างเช่นคอมพิวเตอร์เครื่องอื่น ๆ ที่เชื่อมต่อกับเครือข่ายของฉันคุกคามในระดับใด คอมพิวเตอร์เหล่านี้บางเครื่องถูกใช้โดยผู้ที่มีความรู้น้อยกว่าของฉันที่ใช้ Windows
ความเป็นไปได้ที่ฉันจะประสบปัญหาจริงคืออะไรหากฉันทำตามคำแนะนำพื้นฐานเช่นรหัสผ่านที่คาดเดายากปิดใช้งานการเข้าถึงรูทสำหรับ ssh พอร์ตที่ไม่ได้มาตรฐานสำหรับ ssh และอาจปิดใช้งานการล็อกอินด้วยรหัสผ่านและใช้กฎ fail2ban, denhosts หรือ iptables อย่างใดอย่างหนึ่ง
พูดอีกอย่างคือมีหมาป่าตัวใหญ่ตัวใหญ่ที่ฉันควรกลัวหรือส่วนใหญ่เกี่ยวกับการไล่ล่าตัวเล็ก ๆ ในสคริปต์?
Alfred ควรยึดติดกับโซลูชันของบุคคลที่สามหรือโซลูชัน DIY ของเขาปลอดภัยหรือไม่?
คำตอบ
ผู้สนับสนุน SuperUser TheFiddlerWins ให้ความมั่นใจกับอัลเฟรดว่าปลอดภัยมาก:
IMO SSH เป็นหนึ่งในสิ่งที่ปลอดภัยที่สุดในการฟังบนอินเทอร์เน็ตแบบเปิด หากคุณกังวลจริงๆให้ฟังบนพอร์ตระดับไฮเอนด์ที่ไม่ได้มาตรฐาน ฉันยังคงมีไฟร์วอลล์ (ระดับอุปกรณ์) ระหว่างกล่องของคุณกับอินเทอร์เน็ตจริงและเพียงแค่ใช้การส่งต่อพอร์ตสำหรับ SSH แต่นั่นเป็นข้อควรระวังสำหรับบริการอื่น ๆ SSH เองก็ค่อนข้างแข็ง
ผม มี มีคนเข้ามาที่เซิร์ฟเวอร์ SSH ที่บ้านของฉันเป็นครั้งคราว (เปิดให้ Time Warner Cable) ไม่เคยมีผลกระทบจริง
ผู้ร่วมให้ข้อมูลอีกคน Stephane กล่าวว่าการรักษาความปลอดภัย SSH นั้นง่ายเพียงใด:
การตั้งค่าระบบพิสูจน์ตัวตนด้วยคีย์สาธารณะด้วย SSH เป็นเรื่องจริง ไม่สำคัญและใช้เวลาประมาณ 5 นาทีในการตั้งค่า .
หากคุณบังคับให้ใช้การเชื่อมต่อ SSH ทั้งหมดมันจะทำให้ระบบของคุณมีความยืดหยุ่นอย่างที่คุณคาดหวังได้โดยไม่ต้องลงทุนจำนวนมากในโครงสร้างพื้นฐานด้านความปลอดภัย ตรงไปตรงมามันง่ายและมีประสิทธิภาพมาก (ตราบใดที่คุณไม่มีบัญชี 200 บัญชีมันก็ยุ่ง) การไม่ใช้มันควรจะเป็นการกระทำผิดต่อสาธารณะ
สุดท้าย Craig Watson เสนอเคล็ดลับอีกประการหนึ่งเพื่อลดความพยายามในการบุกรุก:
ฉันยังใช้งานเซิร์ฟเวอร์ git ส่วนตัวที่เปิดให้คนทั้งโลกได้เห็นบน SSH และฉันก็มีปัญหาแบบเดรัจฉานเช่นเดียวกับคุณดังนั้นฉันจึงเห็นใจกับสถานการณ์ของคุณ
FiddlerWins ได้กล่าวถึงผลกระทบด้านความปลอดภัยหลักของการเปิด SSH บน IP ที่สาธารณะเข้าถึงได้แล้ว แต่ IMO เครื่องมือที่ดีที่สุดในการตอบสนองต่อความพยายามที่ดุร้ายคือ Fail2Ban - ซอฟต์แวร์ที่ตรวจสอบไฟล์บันทึกการตรวจสอบสิทธิ์ของคุณตรวจจับความพยายามในการบุกรุกและเพิ่มกฎไฟร์วอลล์ลงในเครื่อง
iptablesไฟร์วอลล์ คุณสามารถกำหนดได้ทั้งจำนวนครั้งก่อนการแบนและระยะเวลาในการแบน (ค่าเริ่มต้นของฉันคือ 10 วัน)
มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีคนอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่ .