Shell chống ssh brute force cho server linux.

tepriu

W-------
25/12/2014
0
21 bài viết
Shell chống ssh brute force cho server linux.
Hiện nay số lượng server linux chạy dịch vụ ngày một tăng do những đặc điểm vượt trội hơn so với window server như hiệu năng cao, ngốn ít tài nguyên.
Tuy nhiên bên cạnh đó không tránh khỏi việc server bị tấn công chiếm quyền kiểm soát, một phương pháp sử dụng khá phổ biến là ssh brute force. Một số phương pháp như đặt mật khẩu mạnh, giới hạn truy cập, sử dụng key login cũng hạn chế được phần nào kiểu tấn công trên.
Nhưng vấn đề là những ip tấn công đó là nguy cơ lớn đối với server chạy dịch vụ và chắc chắn chúng ta cũng rất muốn ngăn chặn những ip đó truy cập tới server.
Mình cũng đã áp dụng nhiều phương pháp để chống tấn công ssh brute force nhưng đều không hiệu quả và đạt được như ý muốn.
Thay vào đó chúng ta nên viết viết một đoan shell script để chặn những ip có dấu hiệu tấn công ssh brute force tới server.


Dưới đây là đoạn shell script dùng iptables block những ip login fail nhiều lần (dấu hiệu brute force) đến server.


Mã:
#!/bin/sh


# kiem tra file log: /var/log/secure voi centos/redhat.
# kiem tra file log: /var/log/auth.log voi ubuntu.


tail -1000 /var/log/secure | awk '/sshd/ && /Failed password for/ { if (/invalid user/) try[$13]++; else try[$11]++; }
END { for (h in try) if (try[h] > 4) print h; }' |
while read ip
do
    # note: check if IP is already blocked...
    /sbin/iptables -L -n | grep $ip > /dev/null
    if [ $? -eq 0 ] ; then
        # echo "already denied ip: [$ip]" ;
        true    
    else
        # echo "Subject: denying ip: $ip" | /usr/sbin/sendmail [email protected]
        logger -p authpriv.notice "*** Blocking SSH attempt from: $ip"
        /sbin/iptables -I INPUT -s $ip -j DROP
    fi
done

Đặt crontab chạy shell tự động:

Mã:
crontab -e
# scan the secure log every 2 minutes
*/2 * * * * /root/scan-secure.sh

Hi vọng bài viết sẽ giúp ích nhiều cho các bạn đang làm quản trị hệ thống.
Nguồn tham khảo: pbxer.com
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: Shell chống ssh brute force cho server linux.

Mình dùng Centos 6.
Đã tail /var/log/secure nhưng trong file đó mình không thấy có thông tin nào chứa địa chỉ IP cả, nên script ko có tác dụng.
Ko biết có file nào khác chứa thông tin các IP bruceforce ko các bạn.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Shell chống ssh brute force cho server linux.

tuandungtb89;22248 đã viết:
Mình dùng Centos 6.
Đã tail /var/log/secure nhưng trong file đó mình không thấy có thông tin nào chứa địa chỉ IP cả, nên script ko có tác dụng.
Ko biết có file nào khác chứa thông tin các IP bruceforce ko các bạn.
Bạn kiểm tra size file đó: ls -lh secure
hoặc cat file đó ra vì trên centos mặc định file lưu log truy cập ssh là secure thôi.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên