• SSH密码暴力破解及防御实战----防


    1. useradd shell【推荐】(防止利用普通用户登录) 
    创建用户,但是该用户不可登录
    [root@yjssjm ~]# useradd yjssjm -s /sbin/nologin 
    注意:
    应用服务用户一般都是不可登录的,只提供服务就可以了。
    当我们编译安装的时候有的时候需要创建用户,我们就可以用-s指定该用户不可登录
    
    2.密码的复杂性【推荐】 
    字母大小写+数字+特殊字符+20位以上+定期更换 
    这种要是用ssh进行暴力破解的话需要很长时间的
    
    3.修改默认端口【推荐】 
    [root@yjssjm ~]# vim /etc/ssh/sshd_config #进入ssh的配置文件
    找到port并修改,如:
    Port 22222 
    [root@yjssjm ~]# systemctl restart sshd   #重启服务
    
    4.限止登录的用户或组【推荐】
    [root@yjssjm ~]# vim /etc/ssh/sshd_config #进入ssh的配置文件 
    找到PermitRootLogin 将yes改为no ,禁止root远程登录
    PermitRootLogin no 
    [root@yjssjm ~]# systemctl restart sshd 
    这个时候你就不能用root用户登录了,如果你想远程登录的户可以设置一个管理员
    [root@yjssjm ~]# vim /etc/ssh/sshd_config #添加下面的内容
    AllowUser yjssjm   
     
    ---------------------------------------
    AllowUsers  允许用户
    AllowGroups 允许组
    DenyUsers   禁止用户
    DenyGroups  禁止组
    ---------------------------------------
    
    5.使用sudo【推荐】
    所有账户都要使用sudo来提权(一般安全性高的公司都是这样用的)
    [root@yjssjm ~]# su -yjssjm   #使用yjssjm用户
    [yjssjm@yjssjm ~]# sudo 命令  #每次执行命令时前面都要加sudo
    
    6. 设置允许的IP访问【可选】 
    白名单
    [root@yjssjm ~]# vim/etc/hosts.allow   #允许某个IP访问
    添加指定的ip
    sshd:X.X.X.X:allow 
    一般是公司里面有堡垒机的情况下会使用, 
    只能允许从堡垒机访问
    
    7.使用DenyHosts自动统计(黑名单)
    统计到一些非法的ip将其加入到/etc/hosts.deny 
    
    8.基于PAM实现登录限制【推荐】 
    模块:pam_tally2.so 
    功能:登录统计 
    示例:实现防止对sshd暴力破解 
    [root@yjssjm ~]# grep tally2 /etc/pam.d/sshd #过滤有没有该模块
    [root@yjssjm ~]# vim /etc/pam.d/sshd
    添加以下内容
    auth required pam_tally2.so deny=2 even_deny_root root_unlock_time=60 unlock_time=6 
    #当你登录两次失败之后会让你等60s后才能再次尝试
    
    9.禁用密码改用公钥方式认证 
    首先我们需要生成秘钥对并实现免密登录
    [root@yjssjm ~]# ssh-keygen
    [root@yjssjm ~]# ssh-copy-id -i X.X.X.X 
    #X.X.X.X不想要别人登录的机器的ip地址
    [root@yjssjm ~]# vim /etc/ssh/sshd_config 
    找到PasswordAuthentication 将yes改为no
    PasswordAuthentication no 
    [root@yjssjm ~]# systemctl restart sshd 
    
    10.保护xshell导出会话文件【小心】 
    
    11.GRUB加密【针对本地暴力破解】
    默认情况下,Linux系统GRUB菜单不需要任何密码就可以进行编辑并修改root密码,如若需要加强
    系统安全,可将GRUB加密!
    给grub菜单加密,就是为了不让不法分子利用单用户模式修改root密码即本地暴力破解
    [root@yjssjm ~]# /etc/grub.d/00_header 文件末尾,添加以下内容
    cat <<EOF
    set superusers='admin'  #设置一个超级用户
    set password admin yjssjm123  #给该超级用户设置密码
    E0F
    [root@yjssjm ~]# grub2-mkconfig  -o  /boot/grub2/grub.cfg  #重新编译生成grub.cfg文件
    重启电脑可以验证
    

    你们的评论和点赞是我写文章的最大动力,蟹蟹。

  • 相关阅读:
    git的merge功能
    linux实用命令
    记录maven的一些命令
    java模拟报文
    spring boot利用swagger和spring doc生成在线和离线文档
    java将类和函数封装成jar
    spring cloud微服务搭建(一)
    linux根目录扩容
    快速上手UIView动画
    PHP变量
  • 原文地址:https://www.cnblogs.com/yjssjm/p/12687909.html
Copyright © 2020-2023  润新知