• 【Linux】服务器恶意登录记录及解决方案


    【Linux】服务器恶意登录记录及解决方案

    1、查看当前用户的主目录

    # 切换到主目录
    cd ~
    # 查看主目录位置
    pwd

    2、检查服务器是否被恶意登录

    # Ubuntu
    # 1. 查看近期成功的密码登录:
    grep "password" /var/log/auth.log | grep -v Failed | grep -v Invalid
    
    # 2. 查看最近登录失败的 IP 和每个 IP 失败次数:
    awk '{if($6=="Failed"&&$7=="password"){if($9=="invalid"){ips[$13]++;users[$11]++}else{users[$9]++;ips[$11]++}}}END{for(ip in ips){print ip, ips[ip]}}' /var/log/auth.log | sort -k2 -rn
    
    #3. 查看近期登录失败的用户名和失败次数:
    awk '{if($6=="Failed"&&$7=="password"){if($9=="invalid"){ips[$13]++;users[$11]++}else{users[$9]++;ips[$11]++}}}END{for(user in users){print user, users[user]}}' /var/log/auth.log | sort -k2 -rn
    # CentOS
    # 1. 查看成功登录
    grep "Accepted password for" /var/log/secure
    
    # 2. 查看每个用户名失败的次数
    grep "Failed password" /var/log/secure | awk '{if (NF==16){c[$11]++}else{c[$9]++}}END{for(u in c)print u,c[u]}' | sort -k 2 -nr | head
    
    # 3. 查看每个 IP 地址失败的次数
    grep "Failed password" /var/log/secure | awk '{if (NF==16){c[$13]++}else{c[$11]++}}END{for(u in c)print u,c[u]}' | sort -k 1 -n | head

    3、服务器禁止 root 账户登陆

    因为:自从有了一台有公网IP的Linux机器,每次登录就会有这样是信息:(大致意思:别人尝试登陆你的服务器但账户名或者密码不正确导致登陆失败

    There were 4899 failed login attempts since the last successful login.
    Last login: Thu Aug 21 15:45:34 2014 from 87.201.230.138
    -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

    所以:于是我选择关闭 root 用户(注意:禁用root用户后使用sftp时可能一些目录无法访问)

    (1)使用root账户登录系统,添加一个普通账户例如test,并为其设置密码

    # 添加新账户
    useradd test
    # 为test账户设置密码
    passwd test
    # 输入密码
    # 再次输入确认密码

    (2)编辑配置文件 /etc/ssh/sshd_config (可以使用vim,vim使用教程)修改 PermitRootLogin 后面的 yes 为 no ,并且去掉前面的注释符,同时可以限制失败次数。【注:这个失败次数是对所有用户都起作用的】

     (3)最后重启sshd服务 systemctl restart sshd.service,此时再用root用户登录,如果不能登陆则代表配置成功。如果需要使用root权限,可以使用su/sudo进行切换

    4、Linux 删除普通用户步骤

    (1)先用命令   cat /etc/passwd  查看一下所有的用户  可以看到片你需要删除的用户名

    (2)用命令    who    查询当前登录的用户

    (3)用命令   ps -u 用户名     查看该用户的pid 

    (4)用命令  kill  pid    杀掉他的sshd或者是shell进程

    (5)再用命令   userdel -r 用户名   删除用户

    如果此时还是删除不了用户,是由于还有进程没杀完,在root用户下,

    输入指令 ps -ef |grep 用户名  删掉第一个进程(可能会有其他连号的进程,不需要管),然后在执行 步骤5

  • 相关阅读:
    升级macOS Ventura 16 之后出现系统卡住鼠标圈圈问题
    Go的简单入门:开始使用多模块的工作空间
    【数据处理】Python matplotlib绘制双柱状图以及绘制堆积柱状图——保姆级教程
    03-npm安装包详解,解决npm下载慢的问题,引入nrm等
    接口自动化测试框架【reudom】
    第四届区块链游戏黑客马拉松: 创意与创新的碰撞
    Python实现猎人猎物优化算法(HPO)优化循环神经网络分类模型(LSTM分类算法)项目实战
    五种I/O模型
    架构解析:Dubbo3 应用级服务发现如何应对双 11 百万集群实例
    idea中导入eclipse的javaweb项目——tomact服务(保姆级别)
  • 原文地址:https://blog.csdn.net/whowhowhoisimportant/article/details/126499477