Khối Fail2ban với IPtables không hoạt động trên Debian Lenny. [di chuyển cổng ssh]


11

Gần đây tôi đã quyết định thực hiện một số bảo trì bảo mật. Tôi đã thấy nhật ký của mình và đã có một số lần thử với máy chủ SSH của tôi. Lúc đầu, tôi chuyển đi cổng SSH từ mặc định 22. Sau đó, tôi đọc một cái gì đó về Fail2ban , BlockHostsdenyhosts .

Tôi đã xem xét đầu tiên: nó đơn giản để cấu hình, mọi thứ đều dễ hiểu; nhưng khi tôi cố gắng "thăm dò sự bảo vệ của nó", các thử nghiệm đều thất bại . Mọi thứ có vẻ tốt, nhưng tôi vẫn có thể truy cập máy chủ.

Tôi cũng đã kiểm tra IPtables: # iptables -I INPUT -j DROP- sau đó kết nối SSH của tôi bị mất (vì vậy, những gì tôi muốn). Sau đó # iptables -I INPUT -s 84.x.y.z -j DROP, làm việc quá.

Nhưng, Fail2ban đã làm những quy tắc nào, điều đó không hiệu quả: ( $ sudo iptables -L)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
fail2ban-apache  tcp  --  anywhere             anywhere            multiport dports www,https
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere            multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain fail2ban-apache (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination        
DROP       all  --  84.x.y.z           anywhere            
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere

Các mô-đun hạt nhân được tải: ( $ lsmod | grep ip)

iptable_nat             4680  0
nf_nat                 15576  1 iptable_nat
nf_conntrack_ipv4      12268  3 iptable_nat,nf_nat
nf_conntrack           55540  4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport            2816  2
iptable_filter          2624  1
ip_tables              10160  2 iptable_nat,iptable_filter
x_tables               13284  5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6                  235396  24

Phiên bản:

  • Debian Lenny 5.06, nhân 2.6,26-2-686
  • IPtables 1.4.2-6
  • Fail2ban 0.8.3-2s1
  • openssh-server 1: 5.1p1-5

Kiểm tra số 1 từng bước:

  1. Cấu hình Fail2ban để bantime thấp. 60 giây. Sau đó tải lại.
  2. Cố gắng đăng nhập (bằng SSH), trực tiếp với mật khẩu sai.
  3. Lần thứ 6, nhập mật khẩu chính xác (số lần thử tối đa chỉ là 4 ở đây). Tôi đã đăng nhập. Tôi cũng có thể truy cập trang web được lưu trữ bởi máy chủ đó.
  4. iptables -Lchỉ cho tôi như đã đề cập ở trên. Vì vậy, lệnh cấm đã hoạt động, khi tôi kết nối, chỉ huy máy chủ của tôi.

Kiểm tra số 2 từng bước:

  1. Dừng Fail2ban. Tạo một atkịch bản, để loại bỏ quy tắc cấm được viết dưới đây trong tương lai. ( iptables -D INPUT 1)
  2. Tạo quy tắc cấm: iptables -I INPUT 1 -s 84.x.y.z -j DROP
  3. Tôi không thể gõ bất cứ điều gì khác, kết nối SSH là không thể. Tôi không thể truy cập trang web. Vì vậy, những gì tôi muốn từ iptables.
  4. Sau atkịch bản, tôi có thể truy cập máy chủ của mình.

Tôi không thấy giải pháp, tôi nên làm gì để lệnh cấm IPtables của mình (được thực hiện bởi Fail2ban)?


Câu hỏi được chỉnh sửa! Có ý kiến ​​gì không?
antivirtel

Câu trả lời:


8

Tôi đã tìm thấy vấn đề, những gì tôi đã làm, trước khi cài đặt fail2ban. Xin lỗi vì thời gian của bạn.

Vì lý do bảo mật, tôi đã chuyển sshd của mình từ cổng 22 sang cổng khác. Các tham chiếu trong iptableschỉ đề cập đến cổng 22. Tôi nghĩ rằng đó là một biến, cái luôn luôn đề cập đến cổng sshd hiện tại. Nhưng KHÔNG .

Giải pháp chính xác (nếu bạn di chuyển daemon của mình khỏi cổng ban đầu):

  1. Mở jail.local (hoặc .conf).
  2. Tìm dịch vụ của bạn (trong niềng răng).
  3. Sửa portphần cho tất cả . Thí dụ:port = all
  4. Thêm hoặc chỉnh sửa một banactiondòng hiện có sau dòng cổng, với giá trị iptables-allports . Ví dụ : banaction = iptables-allports.
  5. Khởi động lại daemon. Ví dụ : # service fail2ban restart.

Tôi không thể tìm thấy giải pháp để thay đổi port sshchỉ thị hoặc viết số đó. Nếu bạn có giải pháp không phải tất cả các cổng, tôi sẽ lắng nghe!


1
Tất cả bạn cần làm là cung cấp số cổng thay vì tên.
Julian Knight

Cũng lưu ý rằng tên iptable của bạn phải có ít hơn 32 ký tự để được thêm thành công.
Adrian Lopez

2

Tôi gặp vấn đề tương tự với fail2ban không cấm sau khi tôi đã chuyển máy chủ ssh của mình sang cổng không chuẩn 12345 (giả sử).

Để làm cho fail2ban tạo ra các quy tắc đúng sau một số lần xác thực thất bại, tôi đã chỉnh sửa /etc/fail2ban/jail.conf.

port = ssh 

vào

port = 12345

Tôi giả sử một cách tiếp cận tương tự sẽ làm việc cho các dịch vụ khác trên các cổng không chuẩn.


0

Các cài đặt cho fail2ban nằm trong /etc/fail2ban/jail.local. Trên cài đặt mặc định, tôi không chắc là nó có ở đó không. Sau đó, những gì bạn làm là sao chép jail.confvào jail.local, vì vậy bạn có cả hai tập tin /etc/fail2ban/. Chỉnh sửa jail.local, đi đến dòng chứa [ssh]và kích hoạt nó như thế này:

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Sau đó, khởi động lại fail2ban:

sudo /etc/init.d/fail2ban restart

Có thể nó sẽ hoạt động ngay bây giờ, tôi đã thiết lập nó như thế và nó hoạt động.


Tôi nghĩ rằng, bạn đã không hiểu câu hỏi của tôi! Fail2ban làm, những gì tôi muốn: xem nhật ký và cấm những kẻ tấn công. Nhưng lệnh cấm đó, IPtables phải làm gì, không hoạt động. Tôi có thể VẪN TRUY CẬP máy chủ, với thiết lập quy tắc được đề cập ở trên.
antivirtel

Xin lỗi, tôi đã vội vàng, vì vậy tôi đã hiểu lầm và vì tôi có cùng một vấn đề, mà tôi đã giải quyết bằng cách thêm jail.local, tôi nghĩ rằng nó sẽ giúp ích. Thật không may, nếu bạn có mọi thứ được đặt chính xác hơn tôi không biết vấn đề là gì nhưng hy vọng người khác sẽ làm.
enedene

0

Bạn đã liệt kê "Fail2ban 0.8.3-2sid1" khi được cài đặt. Đây là một cấu hình không được hỗ trợ. Các gói Sid không nên được cài đặt vào một môi trường ổn định.

Tôi chạy Debian 6 (Squeeze), được nâng cấp từ Lenny, trong một VM cụ thể là máy chủ SSH cho nhà tôi. Tôi cũng sử dụng fail2ban. Tôi đã thực hiện Bài kiểm tra số 1 của bạn và mọi thứ hoạt động như bình thường. Tôi không thể đăng nhập cho số lần thử tối đa và sau đó các yêu cầu đăng nhập của tôi đã bị hủy trong 60 giây.

Danh sách phiên bản của tôi:

  • / etc / debian_version = 6.0.1
  • fail2ban = 08..4-3
  • iptables = 1.4.8
  • máy chủ openssh = 1: 5.5p1-6


Trong trường hợp đó, tôi khuyên bạn nên thực hiện nâng cấp dist.
James Sumners

okok, nó không quá dễ dàng, nhưng tôi sẽ xoay sở để làm điều đó bằng cách nào đó ... - có thể là cài đặt lại sạch sẽ
antivirtel

sed -i 's/lenny/squeeze/' /etc/apt/sources.list && apt-get update && apt-get dist-upgrade. Nó khá đơn giản.
James Sumners

đúng, nhưng có bất kỳ cơ hội nào để không khởi động vào lần tới ... các ghi chú phát hành đã viết, rằng kenel mới + hệ thống udev mới ... - nó có thành công với máy của bạn không?
antivirtel
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.