ฉันพยายามส่งอีเมลถึงฉันและผู้ใช้ว่ามีคนพยายามลงชื่อเข้าใช้ ssh และล้มเหลว - IP ถูกแบน แต่ฉันไม่เข้าใจว่าฉันจะใช้ตัวแปรในอีเมลที่ฉันพยายามส่งได้อย่างไร
Sendmail ได้รับการตั้งค่าอย่างถูกต้องเนื่องจากอีเมลถูกส่งโดยไม่มีปัญหา
นี่คือ jail.local config ของฉัน
[sshd]
พอร์ต = ssh
ล็อกพาธ = %(sshd_log)s
แบ็กเอนด์ = %(sshd_backend)s
การกระทำ = %(banaction)s[ชื่อ=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="% (ห่วงโซ่"]
%(mta)s-whois-lines-ssh[ชื่อ=%(__name__)s, sender="%(sender)s", dest="%(destemail)s", logpath=%(logpath)s, chain= "%(ห่วงโซ่"]
และนี่คือ action.d/sendmail-whois-lines-ssh.conf ของฉัน
[รวมถึง]
ก่อน = sendmail-common.conf
helpers-common.conf
[คำนิยาม]
ปรับปรุงใหม่ = 1
actionban = ( printf %%b "หัวเรื่อง: [Fail2Ban] <ชื่อ>: ถูกแบน <ip> จาก <fq-hostname>
วันที่: `LC_ALL=C วันที่ +"%%a, %%d %%h %%Y %%T %%z"`
จาก: <ชื่อผู้ส่ง> <<ผู้ส่ง>>
ถึง: <dest>, <F-USER>@mydomain.cz\n
สวัสดี\n
IP <ip> เพิ่งถูกแบนโดย Fail2Ban หลังจากนั้น
<ความล้มเหลว> พยายามต่อต้าน <ชื่อ>\n\n
นี่คือข้อมูลเพิ่มเติมเกี่ยวกับ <ip> :\n
`/usr/bin/whois <ip> || echo ไม่มีโปรแกรม whois`\n\n
บรรทัดที่มีความล้มเหลวของ <ip>\n";
%(_grep_logs)s;
พิมพ์f %%b "\n
ขอแสดงความนับถือ\n
Fail2Ban" ) | /usr/sbin/sendmail -f <sender>.mydomain.cz <dest> <F-USER>@mydomain.cz
[ในนั้น]
ชื่อ = ค่าเริ่มต้น
ล็อกพาธ = /dev/null
อีเมลที่ส่งถึงฉันไม่เป็นไร เพราะนำมาจากการกำหนดค่าอย่างถูกต้อง แต่ <F-USER> ไม่มีค่า ดังนั้นมันจึงถูกส่งไปที่ @mydomain.cz
ฉันจะรับค่าเพื่อส่งอีเมลไปยังผู้ใช้ได้อย่างไร
แก้ไข
regex ที่โดน SSH คืออันนี้:
^pam_unix\(sshd:auth\):\s+การตรวจสอบความถูกต้องล้มเหลว;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\s *ruser=<F-USER>\S*</F-USER>\s*rhost=<HOST>\s.*%(__suff)s$