Việc phát hiện user root đăng nhập sai password qua SSH rất quan trọng vì có thể tránh được một số nguy cơ như thăm dò pass của root. Mình xin giới thiệu plugin check_logfiles trong Nagios được sử dụng để “raise alerts” trong trường hợp phát hiện user root đăng nhập sai mật khẩu.
I. Chuẩn bị
1. Máy đã cài sẵn Nagios Core 3.x
2. Plugin check_logfiles.
Link: http://labs.consol.de/lang/en/nagios/check_logfiles/. Plugin này để tìm kiếm và so sánh một mẫu, chuỗi ký tự trong log files và đưa ra cảnh báo tương ứng.
Link download: http://labs.consol.de/download/shinken-nagios-plugins/check_logfiles-3.5.1.tar.gz
II. Cài đặt
1. Download check_logfiles:
#cd /tmp
#wget http://labs.consol.de/download/shinken-nagios-plugins/check_logfiles-3.5.1.tar.gz
2. Cài đặt check_logfiles plugin vào thư mục /usr/local/nagios/libexec. Đây chính là thư mục chứa các plugin của Nagios
#tar xzf check_logfiles-3.5.1.tar.gz
#cd check_logfiles-3.5.1
#./configure –prefix=/usr/local/nagios
#make
#make install
3. Kiểm tra hoạt động của plugin check_logfiles
cd /usr/local/nagios/libexec
check_logfiles –tag ssh –logfile=/var/log/secure –rotation=SOLARIS –criticalpattern=” Failed password for root from”
4. Định nghĩa thêm command trong file /usr/local/nagios/etc/objects/commands.cfg
####### Check root login failed
define command {
command_name check_ssh_attack
command_line $USER1$/check_logfiles –tag=ssh –logfile=/var/log/secure –criticalpattern=”Failed password for root from”
}
5. Chỉnh sửa file /usr/local/nagios/etc/objects/localhost.cfg và định nghĩa thêm dịch vụ mới cho host cần monitor (ở đây mình định nghĩa cho localhost)
define service{
use generic-service
host_name localhost
service_description SSH Attacks
check_command check_ssh_attack
}
6. Khởi động lại nagios
6.1. Trên web interface sẽ báo lỗi: “(2 errors in check_logfiles.protocol-2013-03-16-10-03-03) – cannot write status file /var/tmp/check_logfiles/check_logfiles._var_log_secure.ssh! check your filesystem (permissions/usage/integrity) and disk devices …”
Đây là lỗi permission, thực thi câu lệnh sau:
#chown –R nagios /var/tmp/check_logfiles
6.2. Nếu báo lỗi: “insufficient permissions to open logfile /var/log/secure”
Đó là do Nagios user cần quyền read đối với file /var/log/secure
Thực thi câu lệnh:
#setfacl –m u:nagios:r /var/log/secure
Khởi động lại Nagios và enjoy
Done
Ref: http://www.linuxmantra.com/2012/07/detect-ssh-attack-using-nagios.html