4/19/21 个人笔记 (今天的所有东西都要背下来)
Linux服务器被入侵的症状,怎么去做?(坏蛋入侵了怎么办?????!)
写在前面:
被入侵后的服务器会消耗非常高的资源,尤其是cpu,可以用此机器挖矿,发送垃圾邮件,消耗带宽发动DOS攻击
服务器病症: 内存、cpu使用率特别高
陌生的账号及ip地址曾登录过机器last
/etc/sudoers添加陌生的提权账号
机器产生了非常多的可疑及陌生的进程,随之会带来:开放很多不必要的端口 (机器开放的端口越多,越容易被攻击)ps aux
-
last #查看谁在什么时间通过哪个ip地址登录了账户
-
pkill -u yonghuming 就可以踢他,但是不能踢,这时候,要:
-
回顾一下历史命令,看看他都干了什么
- 返回/root cd ~
- ls -a
- vi .bash_history #查看历史命令(可以删掉的rm -rf xxx)
-
找到占用cpu高的进程 进行排序:从大到小:
ps aux --sort -%cpu | less #给百分比cpu排序,-%cpu从大到小;%cpu从小到大排序
-
看看哪个占用高cpu高内存的进程不正常,找到后,不要把他踢掉,不要打草惊蛇!!!!
-
马上进行安全加固,修改ssh端口,及禁止root远程登录,然后再pkill -u+用户名或者 kill -9+PID号
-
写在最后,一劳永逸的方式:重装,hhha,这个要根据情况进行重装,如果可以,最好重装
free 命令
- free -m #total 总共多少内存;used是使用了多少内存;free是空余多少内存 ;shared是共享内存;buff/cache是缓存
- free -h #跟free -m的区别就是free -m 不显示单位,-h显示单位(如果不加-,就会显示换算出来的超级大数字,看着很不方便)
- ps -ef |less #分页静态查看进程的命令(静态查看)
那么如何判断机器被入侵了呢?,看上边
查看进程使用ps命令 :包括静态和动态的
1、静态查看进程
ps -aux #查看进程参数 (此时会出现一大堆,看起来很费劲,可以分页查看)
ps aux | less (空格翻页,q退出)
需要掌握五列出现的进程 :1、2、4和最后一列
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
user运行这个进程的用户;
PID是进程id,每一个进程都会有一个对应的数字去表示,这个数字就叫做PID;
第三列,%CPU指该进程占用的进程使用率;
%MEM 内存使用率; ; ; ;
最后一列,COMMAND进程名称,
root 1 0.0 0.4 191160 4080 ? Ss 4月16 0:28 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
(3)grep --color=auto sshd 这一行不是进程的名称!!!这里要注意
(4)使用普通用户登录时,ps aux | grep sshd 里会出现普通用户的进程
(5)进程终止信号:kill -9 +PID #终止某进程,PID是该进程的PID号
(6)pkill -u +用户名 #pkill -u zhaohan #pkill -u 直接加用户名,不管是谁都踢掉,是直接踢终端,踢用户的,只有kill -9 是踢进程的
(7)在公司里,只认账号不认人,所以账号不要随便借给别人!!!
(8)ps -ef | less #分页查看进程的命令(静态查看)
(9)杀掉所有httpd进程,一大堆怎么删呢?
①pkill httpd #pkill加服务名,杀掉所有含有httpd服务的进程
2、动态查看进程:top
(1)top分为两部分,上部分是机器整体负载,下面是具体的
(2)KiB Mem:内存信息 #进入top后显示的上部分文字
(3)load average: 0.32, 0.22, 0.26 #机器每1分钟 5分钟 15分钟的平均负载 #这个是重点,使用finalshell远程登录时会在左栏实时显示出来
(4)lsof -i:22 #查看端口 后面的端口是看哪个端口写哪个端口,没有的话安装一个yum -y install lsof
(5)删除正在占用进程的用户时,要先qkill -u xxx 之后才能userdel -r xxx
(6)多管道加grep取反过滤:
①ip -a | grep -v “lo”#去掉包含lo的
②ip a > 1.txt #把ip输出的显示到屏幕上的所有内容写入到1.txt中
③ip a | grep “lo” | tail -4
④ip a | grep -v “lo” | head > /tmp/1.txt #>覆盖
⑤ip a | grep -v “lo” | head >> /tmp/1.txt #>>追加
⑥
抓出你的机器cpu使用率最高的五个进程,只要进程信息,写入到/tmp/load.txt中,并且把机器内存占用最高的进程信息,追加到/tmp/load.txt中
ps aux --sort -%cpu | grep -v "USER" | head -5 > /tmp/load.txt #>覆盖
ps aux --sort -%mem | grep -v "USER" | head -5 >> /tmp/load.txt #>>追加
根据需求做事。
4/19的作业,加油吧,少年
-
请说出查看机器进程的命令 , 可写出3个
(1)ps aux
(2)ps -ef
(3)top -
写出你现在会的linux命令(别都写,别写谁都会的ls cd之类的,写点高级的好吧)
(1)查看命令
①ls 查看目录
②cat head tail more less 查看文件内容
(2)man #看某命令的含义,或者该命令详细信息
(3)which #查看命令路径
(4)cd #进入某目录
(5)cp #复制命令
(6)mv #移动命令
(7)vi 编辑器(一大堆)
①a i o
②u
③dd
④yy p
⑤ dG
⑥G
⑦E
⑧:wq!
⑨:q!
⑩: %s/(曾用名)/(要修改的名)/g
⑪:3,$ s/(曾用名)/(要修改的名)/g
(8)Useradd groupadd userdel -r groupdel usermod groupod chmod chown chgrp
(9)systemctl restart sshd
(10)ps aux --sort -%cpu | grep -v “USER” | head -6 > /tem/1.txt
(11)free -m 或者free -h 或者free h
(12)kill -9
(13)pkill -u
(14)pwd
(15)嗯,还有一些,不想写了 -
如果坏蛋登上你的机器,你要怎么做?
(1)不要打草惊蛇!如果你好奇坏蛋用你的机器干了什么可以先查看历史命令,当然你可能一无所获,因为高手坏蛋不想让你看,在/root目录下的.bash_history中查看 vi .bash_history (2)看看进程里面有哪些是占高cpu高内存的进程,看哪些是可疑进程(避免误删)ps aux --sort -%cpu (3)悄摸的进行安全加固修改你的ssh端口,关了root的远程登录权限 (4)Kill -9 或者pkill -u 用户名 #杀掉可疑进程或可疑用户 (5)最后,看情况,可以的话最好重装系统,把潜在危险扼杀在摇篮里
-
给占用机器内存的使用率排序,从大到小
ps aux --sort -%mem如果从小到大排序:ps aux --sort %mem
-
杀掉单个进程
kill -9 +某进程的pid -
一起踢掉一个用户的所有终端
pkill -u +用户名 -
你的虚拟机连接不上,你要怎么做?
看看为什么连不上啊 ,发现问题,解决问题 -
grep参数 取反 和忽略大小写 分别是什么?
grep -v #取反 grep -i #忽略大小写
-
同时踢掉 zhangsan用户登录的所有终端
pkill -u zhangsan -
了解一下服务器的型号及基本配置参数(dell 戴尔)去京东看
-
踢掉zhangsan用户的所有终端。
pkill -u zhangsan
-
公有云是什么配置?
我现在用的吧,是cpu1核内存1GB的机子,用的是1Mbps的带宽,配置特别影响应用服务的质量
-
ps aux命令中u是什么意思?
用户
-
找出占用机器最多cpu的2个进程。 写入到/tmp/load.txt 过了10分钟,继续找出占用内存最多的2个进程继续写入到load.txt 文件中。 提示 >>追加
(1)ps aux --sort -%cpu | grep “USER” |head -2 > /tmp/load.txt (2)ps aux --sort -%mem | grep “USER” |head -2 >> /tmp/load.txt (3).可以直接写入计划任务 crontab -e #写入计划 */10 * * * * /usr/bin/ps aux --sort -%mem | grep “USER” |head -2 >> /tmp/load.txt
-
ps aux 是动态查看进程还是静态查看?
静态查看进程
-
查看本机多少内存 ,用了多少? 查看单位提示
free -h
-
服务器被攻击了 会产生什么现象??
资源消耗极其严重
-
永久修改主机名为你的名字
vi /etc/hostname -
centos6的防火墙叫什么?
iptables -
安装lsof命令 启动httpd服务, 并且使用pkill命令杀掉httpd服务yum -y install http (提示)
yum -y install losf
systemctl restart httpd
pkill httpd
写在后边,我写的答案仅供参考,haha我知道我写的有不对的,不全的,不规范的
看到一篇特别好的文章(主要是我能看懂):Linux入侵排查,天億公众号里发的