pam service (sshd) ไม่สนใจการลองซ้ำสูงสุด


32

ฉันมี vps ที่ฉันใช้เพื่อเรียกใช้เว็บเซิร์ฟเวอร์ในขณะนี้ทำงานบนเซิร์ฟเวอร์ ubuntu 12.04 ตั้งแต่สองสามสัปดาห์ฉันได้รับข้อผิดพลาดมากมายในคอนโซล ssh ของฉัน

2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3

มีคนช่วยบอกฉันว่าข้อผิดพลาดเหล่านี้หมายถึงอะไร หรืออย่างน้อยบอกวิธีการปิดการใช้งานข้อผิดพลาดเหล่านี้ มันน่ารำคาญจริง ๆ เมื่อฉันทำงานกับ ssh และข้อผิดพลาดเหล่านี้ก็โผล่ขึ้นมาบนหน้าจอของฉัน

คำตอบ:


40

PAMกำลังบอกคุณว่ามีการกำหนดค่าด้วย "ลองใหม่ = 3" และจะเพิกเฉยต่อคำขอการรับรองความถูกต้องเพิ่มเติมจาก sshd ภายในเซสชันเดียวกัน SSHอย่างไรก็ตามจะพยายามต่อไปจนกว่าจะหมดการตั้งค่า MaxAuthTries (ค่าเริ่มต้นคือ 6)

คุณควรตั้งค่าทั้งสองอย่างนี้ (SSH และ PAM) ให้เป็นค่าเดียวกันสำหรับการลองตรวจสอบใหม่สูงสุด

Updated

วิธีเปลี่ยนพฤติกรรมนี้:

สำหรับsshdคุณแก้ไขและการตั้งค่า/etc/ssh/sshd_config MaxAuthTries 3รีสตาร์ทเซิร์ฟเวอร์ SSH เพื่อให้การตั้งค่ามีผล

สำหรับPAMคุณต้องค้นหาการกำหนดค่าใน/etc/pam.dไดเรกทอรี (ฉันคิดว่ามันเป็นcommon-passwordไฟล์ใน Ubuntu) คุณต้องเปลี่ยนretry=ค่า

หมายเหตุ:ฉันขอแนะนำอย่างยิ่งให้ตรวจสอบคำตอบของ Peter Hommel เกี่ยวกับสาเหตุของการร้องขอเหล่านี้เนื่องจากเป็นไปได้ว่า SSH ของคุณถูกบังคับให้ดุร้าย


ขอบคุณปัญหาได้รับการแก้ไขโดยการเพิ่มMaxAuthTries 3ในการกำหนดค่า ssh แล้วรีบูตเซิร์ฟเวอร์
Jerodev

41

ในขณะที่คำตอบอื่น ๆ นั้นถูกต้องในการกำจัดข้อความแสดงข้อผิดพลาดที่คุณได้รับให้พิจารณาว่าข้อความแสดงข้อผิดพลาดนี้อาจเป็นอาการของปัญหาพื้นฐานอื่น

คุณได้รับข้อความเหล่านี้เนื่องจากมีความพยายามในการเข้าสู่ระบบล้มเหลวหลายครั้งผ่าน ssh ในระบบของคุณ อาจมีบางคนกำลังพยายามใส่ร้ายในกล่องของคุณ (เป็นกรณีเมื่อฉันได้รับข้อความเดียวกันในระบบของฉัน) อ่านของคุณvar/log/auth.logเพื่อการวิจัย ...

หากเป็นกรณีนี้คุณควรลองติดตั้งเครื่องมือเช่น 'fail2ban' ( sudo apt-get install fail2banบน Ubuntu) มันจะอ่านไฟล์บันทึกของระบบของคุณโดยอัตโนมัติค้นหาความพยายามในการเข้าสู่ระบบล้มเหลวหลายครั้งและบล็อกไคลเอนต์ที่เป็นอันตรายสำหรับเวลาที่กำหนดผ่าน iptables ...


4
นี่เป็นความคิดเห็นที่ดีมากฉันได้อัปเดตคำตอบของฉันพร้อมด้วยหมายเหตุเพื่ออ่านคำตอบสำหรับทุกคนที่อาจจะเจอ
phoops

5

ดูเหมือนว่าการวิเคราะห์ข้างต้นไม่ถูกต้องสมบูรณ์ ดูเหมือนจะไม่มีตัวเลือก retry = สำหรับการรับรองความถูกต้องของ pam (ฉันหา pam_cracklib แต่พบว่าเกี่ยวข้องกับการเปลี่ยนรหัสผ่านในส่วน "รหัสผ่าน" เท่านั้นไม่ใช่การตรวจสอบสิทธิ์ในส่วน "รับรองความถูกต้อง" ของ pam) pam_unix มีจำนวนครั้งในการลองใหม่สูงสุดเป็น 3 หลังจากลอง 3 ครั้ง pam จะส่งคืนรหัสข้อผิดพลาด PAM_MAXRETRIES เพื่อแจ้งให้ทราบถึงสิ่งนี้

sshd ควรหยุดลองในกรณีนี้จริงๆโดยไม่คำนึงถึง MaxAuthTries ของมันเอง ไม่ใช่ซึ่งฉันคิดว่าเป็นข้อผิดพลาด (ซึ่งฉันเพิ่งรายงานด้วย openssh )

จนกว่าข้อผิดพลาดนั้นจะได้รับการแก้ไขดูเหมือนว่าการตั้งค่า MaxAuthTries เป็น <= 3 เป็นวิธีเดียวที่จะป้องกันไม่ให้ข้อความนี้ปรากฏขึ้น


ดูเหมือนว่าข้อผิดพลาดจะได้รับการแก้ไขด้วยรุ่น 7.3p1
Dennis Nolte

3

ไคลเอ็นต์ ssh อาจพยายามตรวจสอบสิทธิ์ด้วยปุ่มอย่างน้อยหนึ่งปุ่ม คีย์ใด ๆ ที่ไม่ได้ระบุไว้ใน authorized_keys จะล้มเหลวโดยใช้หนึ่งในความพยายามของ sshd ลูกค้าจะลองใช้ทุกคีย์ ssh ที่มีจนกว่าจะสำเร็จหรือล้มเหลวทั้งหมดดังนั้นจึงเป็นเรื่องดีที่ sshd ให้คุณลองได้หลาย ๆ ปุ่ม

หากไม่มีคีย์ที่ตรงกัน sshd อาจอนุญาตให้คุณลองใช้รหัสผ่าน แต่ละความพยายามเหล่านี้ยังใช้หนึ่งในการลองใหม่ที่อนุญาตของ sshd แต่มันยังใช้หนึ่งในการลองใหม่ที่อนุญาตของ PAM

ดังนั้นการรวมกันของ 6 ssh auth พยายามและ 3 pam auth พยายามเป็นสิ่งที่ดี: หมายความว่า ssh จะอนุญาตให้ 6 auth ลองทั้งหมด (คีย์หรือรหัสผ่าน) แต่พยายามเพียง 3 รหัสผ่าน

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


1

หลังจากอัปเกรดจาก Debian 6 เป็น Debian 7 ฉันพบปัญหาเดียวกัน ทันใดนั้นข้อผิดพลาด sshd เหล่านี้เกิดขึ้นในคอนโซลของฉัน

2014 Oct 15 13:50:12 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:17 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:18 vps456 PAM service(sshd) ignoring max retries; 6 > 3

ในกรณีของฉันปัญหาrsyslogคือว่าไม่ได้ติดตั้งอีกต่อไปหลังจากการอัพเกรด Debian

หลังจากติดตั้ง rsyslog ข้อผิดพลาดเหล่านี้หายไปจากคอนโซลของฉัน: apt-get install rsyslog


3
สิ่งนี้ทำให้ปรากฏในที่อื่นแทนคอนโซล คำตอบของฉันแก้ไขสาเหตุของข้อผิดพลาดเนื่องจากการกำหนดค่า SSH / PAM ไม่ถูกต้องหลังจากอัปเกรด
phoops

-1

การรับประกาศเหล่านั้นบนคอนโซลของคุณอาจทำให้เกิดความรำคาญ แต่เมื่อฉันเห็นในไฟล์บันทึกของฉันว่าเมื่อวานนี้ฉันมี 987 ครั้งที่ล้มเหลวในการพยายามเข้าสู่ระบบรากที่มาจากที่อยู่ IP ในประเทศจีนหรือ 2670 จากบริการคลาวด์ในแคลิฟอร์เนียหรือ ... อื่น ๆ ฉันไม่ต้องกังวล ผู้ใช้รูทไม่ได้รับอนุญาตให้เข้าสู่ระบบเลยบนเครื่องของฉัน ไม่ว่าจะพยายามกี่ครั้ง

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

การใช้บางอย่างเช่น fail2ban ดูเหมือนความซับซ้อนที่ไม่จำเป็นที่จะไม่ซื้ออะไรเลย (ถ้าคุณมีรหัสผ่านที่ดี) และความซับซ้อนนั้นไม่ดีสำหรับความปลอดภัย การควบคุมปริมาณความพยายามเป็นสิ่งที่ sshd ควรใช้ไม่ใช่สิ่งที่ควรจะต้องมี Add-on ... และ sshd ไม่พยายามเค้น ดี.

-kb เคนท์ที่ใช้รหัสผ่านที่ดีเท่านั้นและไม่เคยนำกลับมาใช้ใหม่ระหว่างไซต์ต่างๆ


2
การใช้คีย์ ssh และการปิดการใช้รหัสผ่านจะดียิ่งขึ้นในการป้องกันการโจมตีด้วยกำลังดุร้าย
HBruijn

ใช่ แต่ปัญหาจะเปลี่ยนเป็นการปกป้องคีย์ ssh ของคุณ พวกเขาอยู่ที่ไหน? พวกเขาเข้ารหัสหรือไม่ กุญแจสำคัญในการปกป้องพวกเขาดีแค่ไหน? หากรหัสผ่านไม่สามารถถอดรหัสในการลอง X-years ได้รหัสผ่านนั้นจะไม่สามารถถอดรหัสได้ในการลอง X-Years คุณต้องใช้ "ดีกว่า" เพื่ออะไร ฉันใช้เวลามากมายในการจัดการรหัสผ่านของฉันและฉันสามารถพิมพ์รหัสผ่านที่ฉันจำได้ แต่พวงกุญแจ ssh? ต้องการสถานที่ที่ปลอดภัยเพื่อให้พวกเขา
Kent Borg

2
การบังคับให้รหัสผ่านแบบไม่ถี่ถ้วน (โดยทั่วไปแล้วจะมีความยาวน้อยกว่า 20 ตัวอักษรและมักจะเลือกไม่ถูกต้อง) นั้นง่ายกว่าการบังคับให้ใช้คีย์ส่วนตัว 1024 บิต (ทำให้รหัสผ่าน 128 ตัวอักษรง่ายขึ้น) เพื่อเข้าถึง SSH ลองเปรียบเทียบแอปเปิ้ลกับแอปเปิ้ลกัน - - ยกเว้นว่าคุณเป็นคนงี่เง่าที่สมบูรณ์ (เช่นการเก็บคีย์ส่วนตัวของคุณในที่สาธารณะ gitub ของคุณ) การใช้กุญแจ ssh ส่วนตัวของคุณนั้นเป็นเรื่องยากเพราะมันไม่จำเป็นต้องออกจากเวิร์กสเตชันของคุณเลย เมื่อคีย์ส่วนตัวของคุณถูกบุกรุกเราจะไม่ถูกโจมตีแบบสุ่มอีกต่อไป แต่เข้าสู่ขอบเขตของการโจมตีเป้าหมาย ...
HBruijn

@ คุณทราบหรือไม่ว่าคุณสามารถใช้รหัสผ่านเพื่อป้องกันคีย์ SSH ได้ นอกจากนี้คุณบอกว่า fail2ban นั้นไม่จำเป็น แต่ยังคงแนะนำ SSH ว่าควรใช้คุณสมบัตินี้ในตัวเอง นอกจากนี้หากคุณไม่ปิดกั้นคำขอพวกเขาก็สามารถ DDoS ระบบของคุณง่ายขึ้นมาก
phoops
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.