日常工作中有很多人会问,我买了阿里云的主机 买了腾讯 百度 的虚拟云主机,是不是就什么都不用做,直接用就行。这里说明一点,不是的主机提供商只是提供最基础的安全防护,担着不包括对你业务的防护,最基础的包括流量清洗 抗ddos攻击 系统级别漏洞检测(0day) 端口映射等功能,但是对于服务器本身的安全还是需要你自己设置的。
购买一台云主机,ok 它就是一台裸机 ,相当于新安装了一台服务器,那么需要做什么呢,我们一一列举一下:
1.修改远程管理ssh默认端口修改/etc/ssh/sshd_config
代码语言:javascript复制#port 22 修改为
port 10022 ##(端口可以根据自己需要设置)
重启ssh服务
2.添加user用户 禁止root直接登录
代码语言:javascript复制useradd user ##添加登录用户设置相应密码
修改/etc/ssh/sshd_config
#PermitRootLogin yes 修改为
PermitRootLogin no
重启ssh服务
3.开启IPtables设置规则只开放22 80 443等必须的端口,
代码语言:javascript复制/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT ###这里ssh的端口要跟之前修改的对起来否则连不上哦
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 内网地址可添加 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables -P INPUT DROP
4.关闭selinux,开着这个东西麻烦多多,建议关闭
代码语言:javascript复制vi /etc/selinux/config
修改SELINUX=enforcing 为
SELINUX=disabled
重启系统生效
5.关闭系统不需要的服务
centos7 查看开机启动服务 systemctl list-unit-files|grep enabled
根据自己需求关闭
6.服务器禁止ping,根据自己需要设置是否禁ping
iptables -I INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j DROP
7.禁止非root用户执行/etc/rc.d/init.d/下的系统命令
代码语言:javascript复制chmod -R 700 /etc/rc.d/init.d/*
chmod -R 777 /etc/rc.d/init.d/* #恢复默认设置
8.对用户和口令文件进行权限控制
代码语言:javascript复制chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/group
chmod 600 /etc/gshadow
9.给下面的文件加上不可更改属性,从而防止非授权用户获得权限
代码语言:javascript复制chattr i /etc/passwd
chattr i /etc/shadow
chattr i /etc/group
chattr i /etc/gshadow
chattr i /etc/services #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services #显示文件的属性
注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作
chattr -i /etc/passwd #取消权限锁定设置
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件
10修改服务器最大文件打开数
代码语言:javascript复制/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
修改完断开当前连接
ulimit -n 查看