zoukankan      html  css  js  c++  java
  • 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模块或者其他适配系统模块进行操作。

  • 相关阅读:
    vue数据传递--我有特殊的实现技巧
    解决Vue引入百度地图JSSDK:BMap is undefined 问题
    vue-quill-editor-upload : 实现vue-quill-editor上传图片到服务器
    vue.js的<slot>
    实例化vue发生了什么?(详解vue生命周期)
    vue2实现自定义样式radio单选框
    vue-lazyload插件
    Axios 使用时遇到的问题
    Vue组件开发 -- Markdown
    Javascript系列——对象元素的数组去重实现
  • 原文地址:https://www.cnblogs.com/chalon/p/14597728.html
Copyright © 2011-2022 走看看