關(guān)閉ping掃描,雖然沒什么卵用
先切換到root
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表關(guān)閉
0代表開啟
用iptables
iptables -I INPUT -p icmp -j DROP
簡單介紹下基本的安全設(shè)置
一、創(chuàng)建普通用戶,禁止root登錄,只允許普通用戶使用su命令切換到root
這樣做的好處是雙重密碼保護(hù),黑客就算知道了普通用戶的密碼,如果沒有root密碼,對服務(wù)器上攻擊也比較有限
以下是具體做法(需要在root下)
添加普通用戶
useradd xxx
設(shè)置密碼
passwd xxx
這樣就創(chuàng)建好了一個普通用戶
禁止root登錄
vi /etc/ssh/sshd_config
PermitRootLogin no
Systemctl restart sshd
這樣就完成了第一步,之后root就無法登錄服務(wù)器只能通過普通用戶su切換
二、修改ssh的默認(rèn)端口22,因?yàn)閟sh的端口是22,我們?nèi)绻薷牧嗽摱丝?,他們就需要花費(fèi)一點(diǎn)時間來掃描,稍微增加了點(diǎn)難度
以下將端口改為51866可以根據(jù)需要自己更改,最好選擇10000-65535內(nèi)的端口
step1 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //這行去掉#號
Port 51866 //下面添加這一行
為什么不先刪除22,以防其他端口沒配置成功,而又把22的刪除了,無法再次進(jìn)入服務(wù)器
step2 修改SELinux
安裝semanage
$ yum provides semanage
$ yum -y install policycoreutils-python
使用以下命令查看當(dāng)前SElinux 允許的ssh端口:
semanage port -l | grep ssh
添加51866端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 51866
注:操作不成功,可以參考:https://sebastianblade.com/how-to-modify-ssh-port-in-centos7/
失敗了話應(yīng)該是selinux沒有打開
然后確認(rèn)一下是否添加進(jìn)去
semanage port -l | grep ssh
如果成功會輸出
ssh_port_t tcp 51866, 22
step3 重啟ssh
systemctl restart sshd.service
查看下ssh是否監(jiān)聽51866端口
netstat -tuln
Step4 防火墻開放51866端口
firewall-cmd --permanent --zone=public --add-port=51866/tcp
firewall-cmd --reload
然后測試試試,能不能通過51866登錄,若能登錄進(jìn)來,說明成功,接著刪除22端口
vi /etc/ssh/sshd_config
刪除22端口 wq
systemctl restart sshd.service
同時防火墻也關(guān)閉22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp
注意如果是使用阿里的服務(wù)器需要到阿里里面的安全組添加新的入站規(guī)則(應(yīng)該是因?yàn)榘⒗锏姆?wù)器是用的內(nèi)網(wǎng),需要做端口映射)
三、使用一些類似DenyHosts預(yù)防SSH暴力破解的軟件(不詳細(xì)介紹)
其實(shí)就是一個python腳本,查看非法的登錄,次數(shù)超過設(shè)置的次數(shù)自動將ip加入黑名單。
四、使用云鎖(不詳細(xì)介紹)
參考自http://tim-fly.iteye.com/blog/2308234
總的來說做好了前兩步能夠減少至少百分之五十的入侵,在做好第三步之后,基本可以杜絕百分之八十以上的入侵。當(dāng)然最重要的還是自己要有安全意識,要多學(xué)習(xí)一些安全知識和linux的知識。
第三第四其中都有稍微提到一點(diǎn),感興趣可以看看