Như đã nói ở trên, thay đổi số phiên bản là
- Khó làm
- An ninh thông qua sự tối tăm
- Không linh hoạt
Những gì tôi đề nghị là thực hiện Port Knocking. Đây là một kỹ thuật khá đơn giản để ẩn bất cứ thứ gì đang chạy trên máy chủ của bạn.
Đây là một triển khai tốt:
http://www.zeroflux.org/projects/knock
Đây là cách tôi triển khai nó trên các máy chủ của mình (các số khác) để chỉ mở SSH cho những người biết 'tiếng gõ bí mật':
[openSSH]
sequence = 300,4000,32
seq_timeout = 5
command = /opencloseport.sh %IP% 2305
tcpflags = syn
Điều này sẽ đưa ra một cửa sổ 5 giây trong đó 3 gói tin SYN cần được nhận theo đúng thứ tự. Chọn các cổng cách xa nhau và không tuần tự. Bằng cách đó, một portscanner không thể mở cổng một cách tình cờ. Các cổng này không cần phải được mở bởi iptables.
Kịch bản tôi gọi là cái này. Nó mở một cổng cụ thể trong 5 giây để IP gửi các gói tin.
#!/bin/bash
/sbin/iptables -I INPUT -s $1 -p tcp --dport $2 -j ACCEPT
sleep 5
/sbin/iptables -D INPUT -s $1 -p tcp --dport $2 -j ACCEPT
Việc gửi các gói tin SYN có thể là một nỗi đau thực sự vì vậy tôi sử dụng tập lệnh để kết nối với SSH của các máy chủ của mình:
#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh $5@$1 -p $6
(Nó khá rõ ràng những gì đang xảy ra ở đây ...)
Sau khi kết nối được thiết lập, cổng có thể được đóng lại. Gợi ý: Sử dụng xác thực khóa. Nếu không, bạn cần phải rất nhanh để nhập mật khẩu của bạn.