| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【Linux】服务器恶意登录记录及解决方案 -> 正文阅读 |
|
[系统运维]【Linux】服务器恶意登录记录及解决方案 |
【Linux】服务器恶意登录记录及解决方案1、查看当前用户的主目录 # 切换到主目录 cd ~ # 查看主目录位置 pwd # 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 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:32:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |