ในระหว่างการตรวจสอบจาก/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/falsewww-dataฉันกำลังหวาดระแวงเกินไปหรือไม่
ฉันกำลังเรียกใช้ Debian ถ้าเป็นเช่นนั้น