linux .ssh隐藏,linux安全配置-将ssh服务隐藏于Internet(端口碰撞)
一:設備信息
要保護的服務器:ubuntu14.04 ? ?192.168.1.38
ssh測試機:kali2.0 ? ? ? ? ? ? ? ? ? ? ?192.168.1.47
二:配置過程
1.首先掃描一下未進行knockd配置的服務器的端口狀況:
由上面可知該服務器開啟了SSH端口
2.在服務器(192.168.1.38)下載并配置knockd
1)安裝knockd
#apt-get install update
#apt-get install build_essential -y
#apt-get install knockd -y
2)配置knockd服務:
2.1 配置/etc/knockd.conf。
[options]
#UseSyslog
LogFile = /knock.log ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//可以自定義日志的輸出位置以及文件名
[openSSH]
sequence = 7000,8000,9000 ? ? ? ? ? ? ? ? ? ? //定義順序號,此處是默認的,也可以修改
seq_timeout = 30 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //設置超時時間太小的話可能會出錯
command =?/sbin/iptables -I INPUT -s 192.168.1.47 -p tcp --dport 22 -j ACCEPT ? ? ?//-i 命令是將規則插入到最前面,最先生效,以防止過濾所有端口的情況將此條規則吃掉
tcpflags = syn
[closeSSH]
sequence = 9000,8000,7000 ? ? ? ? ? ? ? ? ? ?//定義關門順序號,與開門對應,順序相反
seq_timeout = 30
command = /sbin/iptables-D INPUT -s 192.168.1.47?-p tcp --dport 22 -j ACCEPT ? ?//SSH使用完后,再將22端口“保護”起來
tcpflags = syn
2.2 配置/etc/default/knockd,修改START_KNOCKD=1。
################################################
#
# knockd's default file, for generic sys config
#
################################################
# control if we start knockd at init or not
# 1 = start
# anything else = don't start
#
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING
START_KNOCKD=1
# command line options
#KNOCKD_OPTS="-i eth1"
2.3 ? 啟動knockd。
#service knockd start
重啟knockd
#service knockd restart
2.4 ? 添加適當的iptables規則
確保服務器可通過本地主機接口與自己對話:
#iptables -A INPUT -s 127.0.0.0/8 ?-j ? ACCEPT
本次測試中,阻塞所有進入服務器的通信:
#iptables -A INPUT ?-j ?DROP
查看添加到iptables規則:
#?iptables -nvL
此時再用nmap掃描將看不到22 SSH端口:
3.測試knockd服務
1) 直接在kali測試機上使用ssh登錄服務器:
#ssh bask@192.168.1.38
由上面可知,這樣是無法正常登錄的
2) 使用7000/8000/9000隊列號敲門登錄:
#for x in 7000 8000 9000; do nmap -Pn --host_timeout 201 --max-retries 0 -p $x 192.168.1.38; done
3) 再次測試此時是否能登陸:
#ssh bask@192.168.1.38
由上面可以看出,此時是成功登錄的
這時服務器上iptables規則是有變化的:
當指定的這臺測試機使用完SSH服務后,進行相應的關門操作,即可將端口再次“保護”起來
4)使用9000/8000/7000隊列號關門
for x in 9000 8000 7000; do nmap -Pn --host_timeout 201 --max-retries 0 -p $x 192.168.1.38; done
此時服務器的iptables規則恢復為:
此時將無法進行SSH登錄,必須進行開門才可以。
三、總結
在實際應用中,我們可以通過此方法使敏感服務器達到隱藏的效果,提高系統的安全性!
總結
以上是生活随笔為你收集整理的linux .ssh隐藏,linux安全配置-将ssh服务隐藏于Internet(端口碰撞)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux+网卡驱动社区,Linux下如
- 下一篇: linux抓源地址,【Linux】apt