Cài đặt Fail2Ban


Cài đặt Fail2Ban
Chúng ta sẽ cài đặt Fail2Ban thông qua Repo EPEL
yum install epel-release
yum install fail2ban
Cấu hình Fail2Ban
Sau khi cài đặt xong, bạn mở file cấu hình của Fail2Ban lên sẽ thấy một số thông số như sau:
nano /etc/fail2ban/jail.conf
[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# "bantime" is the number of seconds that a host is banned.
bantime = 600

# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime = 600

# "maxretry" is the number of failures before a host get banned.
maxretry = 3
Trong đó
  • ignoreip: không block những địa chỉ này, thường địa chỉ IP ở VN là địa chỉ động, nên chúng ta không sử dụng được option này.
  • bantime: khoảng thời gian (giây) block IP
  • findtime: khoảng thời gian (giây) một IP phải login thành công
  • maxretry: số lần login false tối đa
Cấu hình mặc định của Fail2Ban khá là ổn rồi, chúng ta không cần thiết phải cập nhật mà đến bước tiếp theo.
Cấu hình Fail2Ban bảo vệ SSH
Tạo file cấu hình
nano /etc/fail2ban/jail.local
Và sử dụng nội dung sau:
[ssh-iptables]

enabled  = true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]
#           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath  = /var/log/secure
maxretry = 2
bantime = 3600
Trong đó
  • enabled: kích hoạt bảo vệ, nếu muốn tắt bạn hãy chuyển thành false
  • filter: giữ mặc định để sử dụng file cấu hình /etc/fail2ban/filter.d/sshd.conf
  • action: fail2ban sẽ ban địa chỉ IP nếu match filter /etc/fail2ban/action.d/iptables.conf. Nếu bạn đã thay đổi port ssh, sửa đoạn port=ssh bằng port mới, ví dụ port=2222
  • logpath: đường dẫn file log fail2ban sử dụng để theo dõi
  • maxretry: số lần login false tối đa
  • bantime: thời gian ban IP 3600 giây = 1 giờ, bạn có thể điều chỉnh lại nếu muốn
Khởi động Service Fail2Ban
chkconfig --level 23 fail2ban on
service fail2ban start
Cuối cùng check lại iptables xem đã có rule của Fail2Ban chưa:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-SSH tcp -- anywhere anywhere tcp dpt:EtherNet/IP-1

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-SSH (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Theo dõi SSH login
– Bạn có thể sử dụng lệnh sau để biết được VPS/Server đã từng bị tấn công SSH chưa:
cat /var/log/secure | grep 'Failed password' | sort | uniq -c
Kết quả thường sẽ là như bên dưới, đã từng có rất nhiều đợt tấn công:
 1 Aug 19 14:18:42 vultr sshd[24424]: Failed password for root from 61.160.223.66 port 1283 ssh2
 1 Aug 19 14:18:45 vultr sshd[24424]: Failed password for root from 61.160.223.66 port 1283 ssh2
 1 Aug 19 14:18:47 vultr sshd[24424]: Failed password for root from 61.160.223.66 port 1283 ssh2
 1 Aug 19 14:18:57 vultr sshd[24426]: Failed password for root from 61.160.223.66 port 1388 ssh2
 1 Aug 19 14:18:59 vultr sshd[24426]: Failed password for root from 61.160.223.66 port 1388 ssh2
 1 Aug 19 14:19:02 vultr sshd[24426]: Failed password for root from 61.160.223.66 port 1388 ssh2
 1 Aug 19 14:19:03 vultr sshd[24426]: Failed password for root from 61.160.223.66 port 1388 ssh2
 1 Aug 19 14:19:05 vultr sshd[24426]: Failed password for root from 61.160.223.66 port 1388 ssh2
 1 Aug 19 14:19:08 vultr sshd[24485]: Failed password for root from 61.160.223.66 port 1536 ssh2
 1 Aug 19 14:19:10 vultr sshd[24485]: Failed password for root from 61.160.223.66 port 1536 ssh2
 1 Aug 19 14:19:12 vultr sshd[24485]: Failed password for root from 61.160.223.66 port 1536 ssh2
 1 Aug 19 14:19:14 vultr sshd[24485]: Failed password for root from 61.160.223.66 port 1536 ssh2
 1 Aug 19 14:19:16 vultr sshd[24485]: Failed password for root from 61.160.223.66 port 1536 ssh2
 1 Aug 19 14:19:29 vultr sshd[24490]: Failed password for root from 61.160.223.66 port 1629 ssh2
 1 Aug 19 14:19:31 vultr sshd[24490]: Failed password for root from 61.160.223.66 port 1629 ssh2
 1 Aug 19 14:19:34 vultr sshd[24490]: Failed password for root from 61.160.223.66 port 1629 ssh2
 1 Aug 19 14:19:36 vultr sshd[24490]: Failed password for root from 61.160.223.66 port 1629 ssh2
 1 Aug 19 14:19:38 vultr sshd[24490]: Failed password for root from 61.160.223.66 port 1629 ssh2
– Để xem IP đã bị banned bởi Fail2Ban bạn sử dụng lệnh:
fail2ban-client status ssh-iptables
Output trả về sẽ có dạng như thế này:
Status for the jail: ssh-iptables
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     3
|  `- File list:        /var/log/secure
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   103.207.68.41
– Để xóa IP khỏi danh sách banned, bạn sử dụng lệnh sau
fail2ban-client set ssh-iptables unbanip 103.207.68.41

Zabbix Monitor



      I.            GIỚI THIỆU
1. Giới thiệu về Zabbix
·        Zabbix là gì?
Zabbix được sáng lập bởi Alexei Vladishev, hiện tại được hỗ trợ và phát triển bởi Zabbix SIA. Zabbix là công cụ mã nguồn mở giải quyết vấn đề giám sát. Zabbix là phần mềm các tham số của một mạng , tình trạng và tính toàn vẹn của server. Zabbix sử dụng một cơ chế thông báo linh hoạt cho phép người dùng cấu hình email cảnh báo cho sự kiện bất kỳ. Điều này cho phép giải quyết nhanh các vấn đề server. Zabbix cung cấp báo cáo và dữ liệu chính xác dựa trên cơ sở dữ liệu. Điều này làm cho Zabbix trở nên lý tuởng hơn. Tất cả các báo cáo, thống kê cũng như các thông số cấu hình của Zabbix được truy cập thông qua giap diện web. Giao diện giúp ta theo dõi được tình trạng hệ mạng và server. Cấu hình đúng, Zabbix đóng một vai trò quan trọng trong việc theo dõi cơ sở hạ tầng công nghệ thông tin. Điều này phù hợp cho các tổ chức nhỏ có một server và các công ty lớn với nhiều server.

2. Ưu điểm của Zabbix
·         Tự động phát hiện server và thiết bị mạng
·         Được phân phối theo dõi bởi admin
·         Hỗ trợ máy chủ Linux, Solaris, HP-UX, AIX, Free BDS, Open BSD, OS X  
·         Hỗ trợ máy trạm Linux, Solaris, HP-UX, AIX, Free BDS, Open BSD, OS X,  True64/OSF1, All windows…
·         Đáng tin cậy trong việc chứng thực người dùng
·         Linh hoạt trong việc phân quyền người dùng
·         Giao diện web
·         Có thể thông báo sự cố qua email
·         Có xem báo cáo, biểu đồ qua giao diện web
·         Kiểm tra theo dõi việc đăng nhập.

3. Tại sao sử dụng Zabbix
·         Mã nguồn mở
·         Hiệu quả cao đối với Unix và Win32  
·         Chi phí thấp  
·         Cấu hình đơn giản  
·         Tất cả các thông tin được lưu trong cơ sở dữ liệu
·         Cài đặt dễ dàng
·         Hỗ trợ SNMP
·         Giao diện trực quan
4. Đối tượng sử dụng Zabbix:
·         Tất cả các tổ chức lớn nhỏ trên thế giới có nhu cầu sử dụng Zabbix cho công việc giám sát.

         II.            CÀI ĐẶT VÀ CẤU HÌNH
1. Thành phần của hệ thống giám sát mạng Zabbix Gồm 4 thành phần cơ bản :
a)      Zabbix Server: Đây là thành phần trung tâm của zabbix. Server có thể kiểm tra các dịch vụ mạng từ xa (web server và mail server ). Agent sẽ báo cáo toàn bộ thông tin và số lượng thống kê cho server. Server sẽ lưu trữ tất cả cấu hình và dữ liệu thống kê.
b)      Zabbix Proxy: Proxy là phần tùy chọn của zabbix. Proxy sẽ thu  nhận dữ liệu, lưu trong bộ nhớ đệm và được chuyển đến zabbix server. Zabbix Proxy là một giải pháp lý tưởng cho một giám sát mạng tập trung của địa điểm từ xa, chi nhánh, mạng lưới không có các quản trị viên địa phương. Zabbix proxy cũng có thể đƣợc sử dụng để phân phối tải của một đơn Zabbix Server
c)      Zabbix Agent: Để giám chủ động giám sát các thiết bị cục bộ và các ứng dụng (ổ cứng, bộ nhớ, bộ xử lý số liệu thống kê,…) trên hệ thống mạng, các hệ thống phải chạy Zabbix Agent. Agent sẽ thu thập thông tin hoạt động từ hệ thống mà nó đang chạy và báo cáo dữ liệu này đến Zabbix Server để xử lý tiếp. Trong trƣờng hợp lỗi (ổ cứng đầy hoặc dịch vụ của một quá trình chết), Zabbix Server báo các cho quản trị viên sự cố này.
d)      Web interface: Để dễ dàng truy cập dữ liệu theo dõi và sau đó cấu hình Zabbix từ bất cứ giao diện web cung cấp. Giao diện là một phần của Zabbix Server , và thường chạy trên các máy vật lý giống như đang chạy một trong các Zabbix Server.
+ Các tính năng giám sát của Zabbix Server
- ZBX là một tính năng giám sát của chính Zabbix Server thông qua truyền thông dữ liệu giữa Agent và Server thông qua port 10051 và 10050
- SNMP SNMP (viết tắt từ tiếng Anh: Simple Network Management Protocol) là một tập hợp các giao thức không chỉ cho phép kiểm tra các thiết bị mạng như router, switchhay server có đang vận hành mà còn hỗ trợ vận hành các thiết bị này một cách tối ưu, ngoài ra SNMP còn cho phép quản lý các thiết bị mạng từ xa. ( Theo wikipedia)

- JMX  là Java Management Extensions ( JMX ) là một công nghệ Java cung cấp các công cụ để quản lý và giám sát các ứng dụng , đối tượng hệ thống, các thiết bị (như máy in ) và các mạng định hướng dịch vụ. Những tài nguyên này được đại diện bởi các đối tượng được gọi là MBeans (đối với Managed Bean ). Trong API, các lớp có thể được tự động nạp và khởi tạo. Quản lý và giám sát các ứng dụng có thể được thiết kế và phát triển bằng cách sử dụng Bộ Quản lý Năng động Java . ( Theo Wikipedia )

- IPMI là một tập hợp các giao diện máy tính thông số kỹ thuật cho một hệ thống con máy tính tự trị cung cấp quản lý và khả năng giám sát độc lập với hệ thống máy chủ của CPU , firmware ( BIOS hoặc UEFI ) và hệ điều hành . IPMI định nghĩa một tập các giao diện được sử dụng bởi người quản trị hệ thống cho quản lý out-of-band của hệ thống máy tínhvà giám sát hoạt động của họ. Ví dụ, IPMI cung cấp một cách để quản lý máy tính có thể bị tắt nguồn hoặc không phản hồi bằng cách sử dụng một kết nối mạng với phần cứng hơn là vào hệ điều hành hoặc trình bao đăng nhập.
2. Cài đặt

     B1: Cài các gói và dịch vụ cần thiết
yum -y install php-mysql php-gd php-xml php-bcmath httpd php-* mysql-server
 B2:  Cài đặt gói zabbix-release-3.4-1.
B3: Cài đặt các dịch vụ cho Zabbix
yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-agent
B4:  Khởi động , bật cùng hệ thống dịch vụ mysql
            systemctl start mysqld
            systemctl enable mysqld
B5: Thiết lập mysql ban đầu bằng lệnh sau:
            mysql_secure_installation
B6:  Tạo cơ sở dữ liệu cho Zabbix Server
mysql -u root -p
create database zabbix;
grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456a@';
grant all privileges on zabbix.* to zabbix@'%' identified by '123456a@';
FLUSH PRIVILEGES;
B7: Di chuyển vào thư mục zabbix và import vào cơ sở dữ liệu zabbix
cd /usr/share/doc/zabbix-server-mysql-*/
gunzip create.sql.gz
mysql -u root -p zabbix < create.sql
B8: Mở và chỉnh sửa file conf của zabbix-server bằng vi
vi /etc/zabbix/zabbix_server.conf
Thêm vào dòng 90:
DBHost=localhost
Thêm vào dòng 124:
DBPassword=123456a@
B9: Bật và khởi động cùng hệ thống dịch vụ Zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server
B10: Mở port trên firewalld
firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
firewall-cmd –reload
B10: Mở và cấu hình file zabbix-agent
            vi /etc/zabbix/zabbix_agentd.conf
dòng 97
Server=127.0.0.1
Dòng 138
ServerActive=127.0.0.1
Dòng 147
Hostname=monitor.nghialt.com
B11: Bật và khởi động cùng hệ thống dịch vụ zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent
B12: Chỉnh sửa time zone cho zabbix
vi /etc/httpd/conf.d/zabbix.conf
dòng 10
dòng 19
php_value date.timezone Asia/Ho_Chi_Minh
B13: Khởi động lại service httpd : systemctl restart httpd
Sau khi cài đặt xong truy cập vào http://”ipcuaserver”/zabbix vài màn hình đăng nhập:



3 Cấu hình
·         Change Password  Admin
·         Notification email
·         Set SMTP server
·         Set monitoring target
·         Add Target Host ( Linux )
·         Add Target Host ( Window )
·         Add Target Host ( SW Cisco )
·         Add Target Item ( HTTP )
Change Password  Admin
-          Vào Tab Administration\User\Admin\Change Password\Add




           Notification email
Vẫn trong tile User chọn vào phần Media vào làm theo hình dưới đây:





·         Set SMTP server
Chọn vào Tab Configuration\Media types\Email\ và sửa như hình dưới đây:




          Set monitoring target
Trong Tab Configuratation\Host\
-          Chứa những Host đã được tạo và có thể enable hoặc disable, export và delete host
-          Hiển thi thông tin Status, Application, items, triggers, graphs, discovery , web, interface..


          Add Target Host ( Linux )
-          Trên agent linux thực hiện cài gói Zabbix đúng version trên Zabbix server
Đối với các phiên bản CentOS:
-          Cài dịch vụ zabbix-agent
yum install zabbix-agent –y

-           Mở và cấu hình file zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
dòng 97
Server=127.0.0.1
Dòng 138
ServerActive=127.0.0.1
Dòng 147
Hostname=monitor.nghialt.com
-          Mở ruler trên iptables centos 6
vi /etc/sysconfig/iptables
Mở port 10050 TCP như hình dưới đây:

-          Khởi động lại firewall
Service iptables restart
Trên Zabbix-Server thực hiện như sau :
-          Chọn Tab Configuration\Create host để tạo 1 host

Nhập vào các thông tin cần thiết :
+ Host name: Tên host
+ Visible Name : Tên hiển thị
+ Group host : Trong group host nào
+ Agent interface : Nhập IP agent

Sau dó là phần chọn Template :
                + Ấn vào phần Add vào chọn mẫu template OS Linux
                + Sau đó ấn Add để hoàn thành việc tạo host





Chờ 1 vài phút để Zabbix-Server kết nối đến Zabbix-Agent nếu phần ZBX màu xanh tức là đã kết nối đc.

        Add Target Host ( Window )
Trên agent windows :
-          Download file zabbix-agent windows trên trang chủ zabbix


-          Sau khi download file Zabbix Agent đúng với phiên bản đang chạy giải nén
và đưa vào thư mục
C:\Program Files\Zabbix_Agent


-          Chỉnh file zabbix_agentd.win.conf
Dòng 86: Server=172.16.2.123
Dòng 127: ServerActive=172.16.2.123
Dòng 138: Hostname=DC_SRV12

-          Sau khi chỉnh file conf thì chạy CMD bằng quyền Adminitrators nhập dòng lệnh sau:

> cd C:\Program Files\Zabbix_Agent
> zabbix_agentd.exe --config "C:\Program Files\Zabbix_Agent\zabbix_agentd.win.conf" --install
-          Sau khi cài đặt tiến hành bật dịch vụ Zabbix Agent

-          Trên Zabbix Server tạo HOST giống như Add Host Linux
-         Add host Cisco
-          Bật tính năng snmp-community trên Switch Cisco
-          Tạo Host trên zabbix server
-         Add Item là add thêm Template chứa các Item muốn giám sát