ในระหว่างการตรวจสอบจาก/var/log/auth.log
หนึ่งในเว็บเซิร์ฟเวอร์สาธารณะของฉันฉันพบสิ่งนี้:
Jan 10 03:38:11 Bucksnort sshd[3571]: pam_unix(sshd:auth): authentication failure;
logname= uid=0 euid=0 tty=ssh ruser= rhost=61.19.255.53 user=bin
Jan 10 03:38:13 Bucksnort sshd[3571]: Failed password for bin from 61.19.255.53
port 50647 ssh2
เมื่อเริ่มแรกให้ดูเหมือนว่าจะเป็นssh
สแปมเข้าสู่ระบบทั่วไปจากแฮกเกอร์แบบสุ่ม อย่างไรก็ตามเมื่อฉันมองใกล้ ๆ ฉันก็สังเกตเห็นอย่างอื่น /var/log/auth.log
รายการที่ล้มเหลวส่วนใหญ่พูดinvalid user
ในรายการเช่นนี้
Jan 9 10:45:23 Bucksnort sshd[3006]: Failed password for invalid user sales
from 123.212.43.5 port 10552 ssh2
สิ่งที่น่าผิดหวังเกี่ยวกับข้อความเข้าสู่ระบบที่ล้มเหลวสำหรับbin
คือมันเป็นผู้ใช้ที่ถูกต้องใน/etc/passwd
ที่แม้จะมีเปลือกเข้าสู่ระบบ:
[mpenning@Bucksnort ~]$ grep ^bin /etc/passwd
bin:x:2:2:bin:/bin:/bin/sh
ฉันคิดว่าฉันได้ครอบคลุมทุกชื่อผู้ใช้เริ่มต้นที่จะเข้าสู่ระบบจากระยะไกลเมื่อผมปิดการใช้งานPermitRootLogin
ใน/etc/ssh/sshd_config
; การค้นพบรายการนี้เปิดโอกาสใหม่ในใจหวาดระแวงของฉัน หากมีบริการใดบริการbin
อยู่ในระยะไกลอาจเป็นไปได้ว่าใครบางคนสามารถแทรกคีย์ ssh ลงในbin
ไดเรกทอรีของผู้ใช้จากบริการที่กำลังทำงานอยู่ในกล่องดังนั้นฉันจึงต้องการปิดใช้งานการเข้าสู่ระบบสำหรับbin
ผู้ใช้อย่างสมบูรณ์ถ้าเป็นไปได้
คำถาม
เซิร์ฟเวอร์นี้มีระยะไกลและมีราคาแพงในการแก้ไข (เช่นฉันจะจ่ายเงินสำหรับมือระยะไกลเพื่อขอใช้งาน KVM รวมถึงการเช่า KVM) ฉันกำลังพยายามคิดออกว่าฉันจะทำอะไรผิดถ้าฉันเปลี่ยน
/etc/passwd
รายการให้bin
เป็นแบบนี้:bin:x:2:2:bin:/bin:/bin/false
ฉันวิ่งคำสั่งต่อไปพยายามที่จะคิดออกว่า
bin
เป็นสิ่งจำเป็นสำหรับ ...bin
แต่คำสั่งเหล่านี้ขึ้นมากับไฟล์ไม่มีและผมไม่สามารถหากระบวนการที่เป็นเจ้าของโดย อะไรbin
ใช้ทำต่อไปหรือไม่$ sudo find / -group bin
$ sudo find / -user bin
มีผู้ใช้รายอื่นที่ควรตั้งค่าการเข้าสู่ระบบเปลือกหอยของพวกเขา
/bin/false
? FYI ผมมีอยู่แล้วใน/bin/false
www-data
ฉันกำลังหวาดระแวงเกินไปหรือไม่
ฉันกำลังเรียกใช้ Debian ถ้าเป็นเช่นนั้น