Tích hợp Sentry với Gitlab
Tích hợp Sentry với Gitlab
Nơi chứa các tài liệu tham khảo của dịch vụ Cloud365.
Khi sử dụng các Server VPS Linux chúng ta thường sử dụng SSH remote thao tác với Server.
Mặc dù SSH là một giao thức đã được bảo mật hoạt động ở lớp trên trong mô hình TCP/IP (thường) sử dụng port 22 nhưng cũng tồn tại những rủi ro nhất định cho trong quá trình vận hành lý do là vì ssh phơi ra phía ngoài internet. Việc bị dò mật khẩu là một trong những cách tấn công phổ biến nhất.
Các biện pháp Secure SSH thường được sử dụng nhằm tránh, hạn chế bị tấn công Brute force
(Dò và thử đến khi đăng nhập được)
/etc/ssh/sshd_config
ClientAliveInterval 360
ClientAliveCountMax 0
/etc/ssh/sshd_config
PermitEmptyPasswords no
/etc/ssh/sshd_config
AllowUsers user1 user2
Thường để bảo mật chúng ta để các user được phép SSH là user thường sau khi login vào được server chúng ta mới thực hiện chuyển sang user khác để thao tác
root
login, cấu hình /etc/ssh/sshd_config
PermitRootLogin no
/etc/ssh/sshd_config
Protocol 2
/etc/ssh/sshd_config
Port 2345
iptables -A INPUT -p tcp –dport 2345 -m state –state NEW -m recent –set –name ssh –rsource
iptables -A INPUT -p tcp –dport 2345 -m state –state NEW -m recent ! –rcheck –seconds 90 –hitcount 3 –name ssh –rsource -j ACCEPT
- Bật sử dụng xác thực 2 lớp <a href="https://www.linux.com/blog/securing-ssh-two-factor-authentication-using-google-authenticator" target="_blank">link</a>
- Sử dụng key để ssh thay cho password
+ Thao tác trên máy client
```sh
ssh-keygen -t rsa
+ Copy key qua Server ```sh ssh-copy-id username@server ``` - Và một vài secure khác khi được kết hợp trong hệ thống như VPN, Fail2ban
Trường hợp vẫn bị quét và chúng ta muốn block hẳn IP của Client đang ssh liên tục vào hệ thống chúng ta sẽ sử dụng fail2ban. Fail2ban sẽ theo dõi log file để phát hiện những địa chỉ IP đăng nhập sai password SSH nhiều lần. Sau đó, Fail2Ban sử dụng iptable firewall rules để block.
1 Server Linux cài đặt Fail2ban
1 máy là có cài đặt SSH Client để tiến hành dò ssh server phía trên
Trên máy Client.217 thực hiện ssh nhiều lần sai password
cat /var/log/secure | grep 'Failed password' | sort | uniq -c
[root@server ~]# cat /var/log/secure | grep 'Failed password' | sort | uniq -c
1 Feb 14 14:39:49 centos7 sshd[4714]: Failed password for root from 10.10.10.217 port 43460 ssh2
1 Feb 14 14:39:54 centos7 sshd[4714]: Failed password for root from 10.10.10.217 port 43460 ssh2
1 Feb 14 14:40:12 centos7 sshd[4714]: Failed password for root from 10.10.10.217 port 43460 ssh2
[root@server ~]#
BÙM!!
server của bạn đã nằm trong tay người khácyum install epel-release -y
yum install fail2ban -y
cat << EOF >> /etc/fail2ban/jail.conf
[DEFAULT]
ignoreip = 127.0.0.1
bantime = 600
findtime = 600
maxretry = 3
EOF
Trong đó
cat << EOF >> /etc/fail2ban/jail.local
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 5
bantime = 3600
EOF
Trong đó
systemctl enable fail2ban
systemctl start fail2ban
iptables -L
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
## Thực hiện kiểm tra sau khi cài đặt fail2ban
- Trên máy Client thực hiện ssh nhiều lần sai password lại
> Kết quả: Sau 5 lần ssh thất bại do sai password máy Client sẽ bị block trong 1 tiếng
```sh
root@client:~# ssh root@10.10.10.244
ssh: connect to host 10.10.10.244 port 22: Connection refused
root@client:~#
cat /var/log/secure | grep 'Failed password' | sort | uniq -c
fail2ban-client status sshd
[root@server ~]# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 1
| |- Total failed: 6
| `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 10.10.10.217
[root@server ~]#
fail2ban-client set sshd unbanip 10.10.10.217
root@client:~# ssh root@10.10.10.244
root@10.10.10.244's password:
Fail2ban mà chúng tôi giới thiệu phía trên chỉ là một trong những giải pháp hiệu quả trong việc ngăn chặn bute-force. Việc phối hợp nhiều biện pháp khác nhau nhằm bảo vệ SSH là vô cùng cần thiết.
http://www.fail2ban.org/wiki/index.php/Main_Page
Thực hiện bởi cloud365.vn