Linux安全加固

1. 修改远程登录端口

SSH攻击扫描端口的时候通常会扫描固定端口,扫描到之后才会进行暴力攻击,修改远程端口,会降低SSH服务被扫描到的可能性。配置过程如下:

    (1) 编辑ssh服务配置文件/etc/ssh/sshd_config,将其端口修改为自己想要的端口,保存退出。注意修改端口后,对应的安全组、防火墙规则也需修改端口。

    (2) 重启ssh服务:若为centos 7 操作系统,则使用systemctl restart sshd(若为centos 6 操作系统,则使用service sshd restart)

    (3) 测试远程链接:默认22端口链接失败,修改后的1212端口链接成功。

2. 禁用root登陆

 禁用root账号直接登录,使用普通账号登录,普通账号登陆之后su到root账号,降低被恶意扫描或者暴力登录的概率。配置过程如下:

    (1) 创建普通用户。

    (2) 编辑sudo配置文件/etc/sudoers,为用户添加sudo权限。

 

     (3) 编辑ssh服务配置文件/etc/ssh/sshd_config,修改PermitRootLogin属性,将yes修改为no;

     (4) 重启云主机,测试远程链接:test用户登陆成功,root用户登陆失败。

3. 配置指定地址登陆

    建议使用安全组进行限制,安全组配置如下:

    (1) 打开移动云控制台,在左侧导航栏中选择:弹性计算>安全组。

   (2) 创建安全组:点击创建选项,在弹出的界面中输入安全组名称及描述,单击确定创建完成。

    (3) 规则管理:点击对应安全组的“管理规则”选项,可对安全组规则进行管理,限定IP访问云主机。

    (4) 测试远程链接:安全组规则允许的IP地址登陆成功,不允许IP地址登陆失败。

4. 禁用密码登陆,使用密钥登陆

防止无密钥人员恶意登陆及网络暴力攻击(建议在订购云主机时安全一项中选择密钥)。配置过程如下:

    (1) 编辑ssh服务配置文件/etc/ssh/sshd_config,将PasswordAuthentication属性修改为no,保存退出。

    (2) 测试远程链接:只能使用密钥登陆。

    (3) 密钥配置过程如下:

             a) 执行ssh-keygen命令,生成秘钥。          

       b) 执行完成后在用户家目录下的.ssh目录会生成公钥及私钥。

       c) 将公钥内容导入authorized_keys文件中,并将私钥拷贝到用来登陆服务器的终端。

       d) 测试远程链接:密钥登陆成功。

5. 设置密码复杂性要求

    使用复杂密码,使暴力破解更加困难。配置过程如下:

    (1) 编辑配置文件/etc/pam.d/system-auth,添加一条规则

              password requisite pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-3 dcredit=-3 dictpath=/usr/share/cracklib/pw_dict

            说明:

            retry:尝试次数

            difok:最少不同字符

            minlen:最小密码长度

            ucredit:最少大写字母

            lcredit:最少小写字母

           dcredit:最少数字

           dictpath:密码字典   

    (2) 验证测试:root用户不受此配置限制,普通用户则会被要求修改密码。

6. 设置密码过期时间

    定期对密码进行修改,避免密码泄露,增加使用的安全性。

    (1) 使用chage命令。

        命令说明:

        -M:设置密码有效的最大天数

        -m:设置可更改密码的最小天数,为0表示任何时候都可以修改

        -W:密码过期前,提前收到警告信息的天数。

7. 设置禁ping

一般攻击者会批量ping地址来寻找存活的主机,禁止ping可以让别人找不到您的云主机,从而降低被攻击的风险。

    (1) 编辑sysctl服务配置文件/etc/sysctl.conf,添加一条规则:net.ipv4.icmp_echo_ignore_all=1

         说明:1表示禁ping,0表示允许ping,默认为0。

         此方法修改为永久生效,如想临时生效可使用如下命令:echo 1/0 >/proc/sys/net/ipv4/icmp_echo_ignore_all  

    (2) 执行sysctl -p命令使配置生效。

    (3) ping测试:无法ping通主机。

8. 其他安全建议

  • 如有购置1台以上的服务器,可以通过一个或两个(其中一个备用)入口访问,其余服务器使用内网互通登录。

  • 关注操作系统补丁发布、测试、更新。

  • 应用侧安全加固。

  • 建议安装云主机防护类的安全软件。

9. 补充解决方案

    如由于暴力攻击导致云主机被锁定的,可通过移动云门户-控制台-VNC登录云主机。参考如下命令进行操作:

  • 查看某一用户登录错误次数:pam_tally2 --user username

  • 清空某一用户登录错误次数:pam_tally2 --user username --reset

  • 清空root用户登录错误次数,进行解锁:pam_tally2 -user root -reset

    备注:如非pam_tally2模块,可尝试通过pam_tally模块或者其他适配系统模块进行操作。

 

posted on 2021-03-30 17:09  chalon  阅读(178)  评论(0编辑  收藏  举报