zoukankan      html  css  js  c++  java
  • (服务器)服务器恶意登录记录及解决方案

    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

     

     

     

    博客参考:

    在linux里查看用户的主目录在什么地方

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

    Linux如何禁用root账户(There were XXXX failed login attempts since the last successful login.)

    Linux 删除普通用户步骤

  • 相关阅读:
    2011年需要关注的9大编程语言 狼人:
    微软在华推广Win7拒绝“黑屏” 狼人:
    ifanr访谈:GuruDigger — Web工程师排排坐 狼人:
    10种破除网页设计师障碍的实用方法 狼人:
    英特尔CEO:微软Windows 7是PC更新的催化剂 狼人:
    Windows 7市场份额突破25% XP持续下滑 狼人:
    Office Web Apps中文版正式上线 狼人:
    机器学习实现线性梯度算实现octave
    管理系统数据库sql server 数据库管理
    缓存代码sencha Touch 缓存问题解析
  • 原文地址:https://www.cnblogs.com/hwh000/p/15600986.html
Copyright © 2011-2022 走看看