Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/letran3691/secu_sshd
https://github.com/letran3691/secu_sshd
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/letran3691/secu_sshd
- Owner: letran3691
- Created: 2021-08-26T08:33:48.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-27T12:53:58.000Z (over 3 years ago)
- Last Synced: 2023-12-25T04:29:20.060Z (about 1 year ago)
- Size: 1.95 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Ở đây mình không nhắc đến Fail2band, vì nó là con dao 2 lưỡi(nếu tài nguyên của bạn không nhiều, Fail2band có thể làm chết hệ thống, trước khi hệ thống bị chết vì tấn công)
Đổi port ssh
- Trước khi đóng port 22 hãy mở thêm 1 port khác VD: 2244
Sửa file /etc/ssh/sshd_config
Port 2244
Port 22
- Cấu hình chặn ssh bằng password
**Trước khi thực hiện bước này hãy chắc chắn rằng các tài khoản đã được cấu hình ssh bằng private key.**
sửa lại tham số sau trong /etc/ssh/sshd_config
PasswordAuthentication no
note: Bgio sẽ có 2 port để sshcấu hình xong nhớ restart ssh
- Cấu hình iptable
- Tránh tình trạng "tự sát" khi cấu hình iptable, cần allow ip whitelist
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
#allow ip whitelist
-A INPUT -s x.x.x.a -j ACCEPT
-A INPUT -s x.x.x.b -j ACCEPT
-A INPUT -s x.x.x.c -j ACCEPT
-A INPUT -s x.x.x.d -j ACCEPT
-A INPUT -s x.x.x.e -j ACCEPT
#trong 5 phút chỉ cho phép 4 gói TCP/SYN từ 1 IP đến port 22-2244
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 2244 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 2244 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --name DEFAULT --rsource -j DROP
#Mở port ssh
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2244 -j ACCEPT
Note: Việc cấu hình allow ip whitelist này sẽ tránh được tình trạng vì lí do nào đó cấu hình sai, iptable sẽ DROP tất các cả IP.Nhớ restart iptable
Bgio sẽ sử dụng 1 module của Linux PAM (Pluggable Authentication Modules) để band account(theo địa chỉ IP) ssh fail >3 lần.
mở file /etc/pam.d/system-auth
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=300
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300`
account required pam_faillock.somở file /etc/pam.d/password-auth
auth required pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=300
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 unlock_time=300
account required pam_faillock.so
Các tham số
- audit – enables user auditing
- deny – used to define the number of attempts
- unlock_time – sets the time band account(trong ví dụ trên mình band 5p, trong thực thế có thể đặt vào hơn. Như hệ thống của mình, mình để 1 ngày luôn)
**chú ý: thứ tự các dòng rất quan trọng. nếu cấu hình sai tất các user có thể bị lock.**sau khi cấu hình xong 2 file sẽ giống thế này:
![image](https://user-images.githubusercontent.com/19284401/131115728-820418cf-eefb-4ab8-a9e0-26b26d25ccef.png)sau khi cấu hình xong restart lại sshd
check faillock
faillock # danh sach tất các user đã bị log
faillock --reset #clear toàn bộ các tài khoản bị lock
faillock --user abx --reset clear 1 tài khoản
Lock password của users
passwd -l root
passwd -S root # kiểm tra lại tài khoản
![image](https://user-images.githubusercontent.com/19284401/130927930-a9bd918f-4d71-42f2-9972-01969970a162.png)Cuối cùng hãy đóng port 22 trong /etc/ssh/sshd_config và iptable. Làm xong nhớ restart lại iptable và sshd
vài thứ bắt được sau khi cấu hình
![image](https://user-images.githubusercontent.com/19284401/130934082-6aea0211-3074-4530-b656-734a6da132be.png)