1. 配置SSH安全訪問密鑰卿操,關(guān)閉密碼登錄
a.參考SecureCRT密鑰連接Linux闸英,使用SecureCRT在本機(jī)生成公私密鑰
b.在VPS對應(yīng)的用戶目錄下锁蠕,新建.ssh文件夾拦英,并上傳公鑰迫靖,然后更名為authorized_keys院峡,并修改權(quán)限,如下
mkdir ~/.ssh #如果當(dāng)前用戶目錄下沒有 .ssh 目錄系宜,就先創(chuàng)建目錄
chmod 700 ~/.ssh
mv id_rsa.pub ~/.ssh
cd .ssh
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys
c.關(guān)閉ssh密碼登錄
vim /etc/ssh/sshd_config
PasswordAuthentication no #此處改為no
d.【可選】添加普通用戶
useradd roubin
passwd roubin
e.【可選】禁止root登陸
vim /etc/ssh/sshd_config
PermitRootLogin no #此處改為no
f.重啟ssh服務(wù)
service sshd restart
g.備份公私密鑰
2.更改SSH端口及設(shè)置
vim /etc/ssh/sshd_config
Port 22222 #更改默認(rèn)端口號
MaxAuthTries 5
PermitEmptyPasswords no #不允許空密碼
service sshd reload
iptables -I INPUT -p tcp --dport 22222 -j ACCEPT #CentOS 6 中防火墻開啟對應(yīng)端口
firewall-cmd --zone=public --add-port=22222/tcp --permanent #CentOS 7 中防火墻開啟對應(yīng)端口
3.鎖定口令文件
[root@localhost /]# chattr +i /etc/passwd
[root@localhost /]# chattr +i /etc/shadow
[root@localhost /]# chattr +i /etc/group
[root@localhost /]# chattr +i /etc/gshadow
4.安裝fail2ban防止暴力破解
yum install -y fail2ban
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
vim /etc/fail2ban/jail.local
[sshd]
enabled = trueport = 22222
logpath = %(sshd_log)s
backend = %(sshd_backend)s
filter = sshd
action = iptables[name=SSH, port=22222, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com]
logpath = /var/log/secure
maxretry = 3
5.啟用iptables
參考Linux上iptables防火墻的基本應(yīng)用教程
# 清除已有iptables規(guī)則
iptables -F
# 允許本地回環(huán)接口(即運(yùn)行本機(jī)訪問本機(jī))
iptables -A INPUT -i lo -j ACCEPT
# 允許已建立的或相關(guān)連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機(jī)向外的訪問
iptables -A OUTPUT -j ACCEPT
# 允許訪問22222(SSH)端口照激,以下幾條相同,分別是22222,80,443端口的訪問
iptables -A INPUT -p tcp --dport 22222 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#如果有其他端口的話盹牧,規(guī)則也類似俩垃,稍微修改上述語句就行
#允許ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允許的規(guī)則訪問(注意:如果22端口未加入允許規(guī)則,SSH鏈接會直接斷開汰寓。)
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
#保存防火墻規(guī)則
service iptables save
#設(shè)置防火墻開機(jī)啟動(dòng)
chkconfig --level 345 iptables on
6.禁用ipv6
#編輯/etc/sysconfig/network添加行:
NETWORKING_IPV6=no
#修改/etc/hosts,把ipv6本地主機(jī)名解析的注釋掉(可選):
#::1 localhost localhost6 localhost6.localdomain6
#禁止系統(tǒng)加載ipv6相關(guān)模塊口柳,創(chuàng)建modprobe關(guān)于禁用ipv6的設(shè)定文件/etc/modprobe.d/disable_ipv6.conf(名字隨便起)(RHEL6.0之后沒有/etc/modprobe.conf這個(gè)文件),內(nèi)容如下有滑,三選其一(本次使用的第一種):
alias net-pf-10 off
options ipv6 disable=1
#禁止開機(jī)啟動(dòng)
chkconfig ip6tables off
#查看ipv6是否被禁用
lsmod | grep -i ipv6
ifconfig | grep -i inet6
7.阻止百度收錄真實(shí)位置
恩跃闹,免得上門查水表
vim /etc/hosts
0.0.0.0 api.map.baidu.com
0.0.0.0 ps.map.baidu.com
0.0.0.0 sv.map.baidu.com
0.0.0.0 offnavi.map.baidu.com
0.0.0.0 newvector.map.baidu.com
0.0.0.0 ulog.imap.baidu.com
0.0.0.0 newloc.map.n.shifen.com
:: api.map.baidu.com
:: ps.map.baidu.com
:: sv.map.baidu.com
:: offnavi.map.baidu.com
:: newvector.map.baidu.com
:: ulog.imap.baidu.com
:: newloc.map.n.shifen.com
其他參考文章:
購買了VPS之后你應(yīng)該做足的安全措施
Securing a Linux Server
轉(zhuǎn)載請注明出處:https://roubintech.com/post/vps-security