Cài đặt fail2ban trên CentOS 7


15

Tôi đang sử dụng câu trả lời của @GarethTheRed cho câu hỏi này để cài đặt fail2ban trên máy chủ CentOS 7 từ xa. Tôi có thể hoàn thành tất cả các bước cho đến khi tail -f /var/log/fail2ban.log, tại thời điểm đó tôi nhận được kết quả khác với câu trả lời của mình.

Đây là kết quả tôi nhận được ở bước này:

[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log
2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0
2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO    Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3'
2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'  

Sau dòng cuối cùng, tôi chỉ nhận được một con trỏ nhưng không có dấu nhắc lệnh trừ khi tôi gõ Ctrl-C.

Khi tôi gõ systemctl status fail2ban, nó cho tôi biết đó fail2banlà hoạt động. Khi tôi đăng xuất khỏi hệ thống và đăng nhập lại sau, hãy sshdnói với tôi rằng đã có nhiều lần thất bại để đăng nhập kể từ lần đăng nhập cuối cùng của tôi. Vì vậy cần có fail2bannhật ký. Nhưng tôi dường như không thể tìm thấy chúng.

Ai đó có thể chỉ cho tôi cách thiết lập cài đặt này để fail2bantạo nhật ký mà tôi có thể theo dõi không?


Bạn đã kiểm tra quyền truy cập tập tin? Tôi đã lãng phí thời gian hơn một lần chỉ để thấy rằng các quyền là vấn đề.
mã hóa

1
fail2banhiện đang trong repo EPEL. Hãy thử cài đặt nó từ đó. Gỡ cài đặt phiên bản hiện tại và đảm bảo rằng không có tệp cấu hình còn lại, vv Sau đó cài đặt từ EPEL. Tôi đã có nó chạy trên máy CentOS 7 mà không gặp vấn đề gì.
garethTheRed

Tôi đã nói một lời nói dối nhỏ trong bình luận cuối cùng - tôi quên rằng tôi phải sửa nó một lúc trước. Câu trả lời dài bên dưới ...
garethTheRed 5/12/14

Câu trả lời:


32

Hãy thử cài đặt fail2bantừ EPEL . Nó được đóng gói cho CentOS 7 và bạn sẽ nhận được các bản cập nhật khi chúng được phát hành. Cài đặt rpmmẫu repo khác có thể hoạt động (trong trường hợp này) nhưng không phải là cách tốt nhất để làm việc.

Trước hết, cài đặt kho EPEL bằng cách phát hành sau (dưới dạng root):

yum install epel-release

Ở trên nên cài đặt EPEL và cung cấp cho bạn quyền truy cập vào nhiều gói mới . fail2banDo đó, một trong những gói đó là cài đặt nó bằng cách chạy:

yum install fail2ban

Theo mặc định, không có tù được cấu hình, do đó để cấu hình một sshdnhà tù cơ bản :

Tạo / chỉnh sửa tệp /etc/fail2ban/jail.localvà thêm:

[sshd]
enabled = true

Bắt đầu với:

systemctl start fail2ban

Làm cho nó bắt đầu lúc khởi động:

systemctl enable fail2ban

Đã từng có một lỗi đã biết trong đó SELinux sẽ chặn fail2bantruy cập các tệp nhật ký mà nó cần để thực hiện công việc của mình. Điều này dường như được khắc phục trong phiên bản mới nhất của CentOS 7; bạn không cần phải thực hiện các thay đổi dưới đây.

Nếu bạn có vấn đề này, các triệu chứng không có gì xuất hiện trong nhật ký và không có gì xuất hiện dưới dạng thất bại hoặc bị chặn trong đầu ra của fail2ban-client status sshd.

Để kiểm tra lỗi SELinux, hãy đọc các tạp chí với:

journalctl -lfu fail2ban

Xem chúng cho các tin nhắn như:

SELinux is preventing /usr/bin/python2.7 from getattr access on the file .
       *****  Plugin catchall (100. confidence) suggests   **************************
       If you believe that python2.7 should be allowed getattr access on the  file by default.
       Then you should report this as a bug.
       You can generate a local policy module to allow this access.
       Do 
       allow this access for now by executing:
       # grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
       # semodule -i mypol.pp

Do đó, làm như đề xuất và chạy:

grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

Sau đó, để an toàn, hãy khởi động lại fail2ban:

systemctl restart fail2ban

Bạn thậm chí có thể phải lặp lại quá trình trên cho đến khi không còn thông báo lỗi xuất hiện trong nhật ký.

Nếu máy chủ của bạn ở trên internet thì hãy theo dõi fail2ban-client status sshd. Nó sẽ sớm bắt đầu hiển thị số lượng thất bại và bị cấm nếu bạn bắt gặp tất cả các vấn đề của SELinux.

Lưu ý rằng bạn sẽ phải theo dõi các cập nhật chính sách của mình. Nếu một selinux-policybản cập nhật gói xuất hiện, nó có thể ghi đè lên phần trên và bạn có thể cần chạy lại các lệnh trên. Bạn sẽ biết nếu đây là trường hợp fail2bansẽ ngừng hoạt động trở lại!


Cảm ơn bạn rất nhiều. Tôi có nên thực hiện các bước cụ thể để gỡ cài đặt fail2ban trước không? Hoặc được xử lý tự động trong các bước bạn cung cấp ở trên?
CodeMed

Trước tiên tôi sẽ gỡ cài đặt phiên bản từ Fedora 20 và đảm bảo rằng thư mục /etc/fail2banđã bị xóa.
garethThe

Phần đó enabled = trueđã làm việc. Tôi đọc ở khắp mọi nơi rằng ssh được cấu hình và kích hoạt theo mặc định nhưng điều này không đúng.
Rahil Wazir
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.