centos7服务器基本安全设置

一. 关闭Ping 扫描

  • 先切换到root
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表关闭,0代表开启
  • 用iptables
iptables -I INPUT -p icmp -j DROP

二. 创建普通用户,禁止root用户登录,只允许普通用户使用su命令切换到root
这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限。

  1. 在root下添加普通账户
useradd lidi    // 添加一个普通账户lidi,并设置密码
passwd lidi
  1. 禁止root登录
vi /etc/ssh/sshd_config
PermitRootLogin no    // 设为no
Systemctl restart sshd  // 重启sshd

这样就完成了第一步,之后root就无法登录服务器只能通过普通用户su切换

三、 修改ssh的默认端口22,因为ssh的端口是22,我们如果修改了该端口,他们就需要花费一点时间来扫描,稍微增加了点难度

以下将端口改为20903可以根据需要自己更改,大家修改端口时候最好挑10000~65535之间的端口号,10000以下容易被系统或一些特殊软件占用,或是以后新应用准备占用该端口的时候,却被你先占用了,导致软件无法运行

  1. 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22         //这行去掉#号
Port 51866      //下面添加这一行

为什么不先删除22,以防其他端口没配置成功,而又把22的删除了,无法再次进入服务器

  1. 修改SeLinux,关闭可忽略
  2. 如果你关闭了防火墙,可以忽略第三步,话说防火墙不开启太危险了,建议开启
  • 首先查看防火墙是否监听20903端口
firewall-cmd --permanent --query-port=20903/tcp 
no // 显示no  未监听
firewall-cmd --permanent --add-port=20903/tcp   // 添加端口
success
  • 重新加载防火墙策略
firewall-cmd --reload 
  • 执行成功后,查看20903端口是否被开启:
firewall-cmd --permanent --query-port=20903/tcp
  • 重启SSH服务和防火墙,最好也重启下服务器
systemctl restart sshd  
systemctl restart firewalld.service  
shutdown -r now  
  • 然后测试试试,能不能通过20903登录,若能登录进来,说明成功,接着删除ssh 22端口,同时关闭防火墙22端口
firewall-cmd --permanent --zone=public --remove-port=22/tcp

四、使用一些类似DenyHosts预防SSH暴力破解的软件(不详细介绍)
其实就是一个python脚本,查看非法的登录,次数超过设置的次数自动将ip加入黑名单。
五、使用云锁(不详细介绍)

你可能感兴趣的:(centos7服务器基本安全设置)