经过几次应急,总结出常用的命令,命令可能不全,欢迎网友来补充。
常规操作
二、 查看系统异常进程
命令:top
大写P排序COU从高到底
大写M排序内存从高到低
三、 根据PID查看异常进程运行的文件
命令:ls -la /proc/$pid/exe
(例子:ls -la /proc/123/exe)
四、 根据PID查看异常进程打开的文件
命令: lsof -p 123
五、 根据PID查看异常进程占用的端口
命令: netstat -anltp | grep 123
六、 根据PID跟踪异常进程运行情况
命令:strace -tt -T -e trace=all -p 123
七、 结束进程
命令:kill -9 123
#往往病毒进程被kill了还是会自启动,可以先检查会在什么目录下生成,然后用chattr +i 目录 将该目录先锁定,阻止异常进程不断自启动,然后再对定时任务以及启动项等进行排查。
八、 查看开机自启的程序
命令: systemctl list-unit-files|grep enabled
ls -alt /etc/init.d/停止启动
命令:systemctl stop mongodb.service
九、 查找隐藏文件
命令:ls -ar | grep "^\."
全面步骤
端口排查
#查看端口建立连接情况
netstat -pantu | grep ESTABLISHED
#查看端口监听情况
netstat -anptl | less
#抓取流量
tcpdump -i eth0 -w ./aa.cap
修改文件排查
#查找24小时内被修改的文件
find / -mtime 0
#查找24小时内,被修改过的jsp文件
find / -mtime 0 -name *.jsp
可疑文件排查
#查找后缀为jsp,内容包含eval的文件
find /www/wwwroot/ -name "*.jsp" | xargs grep "eval" |more
#查找可读可写可执行的jsp文件
find / -name *.jsp -perm 777
#使用find将可疑文件进行打包,使用软件进行分析
find ./ -name '*.php' |tar -cvf php.tar
SUID文件排查
S:代表以拥有者的权限执行此文件。
find / -perm -4000 2>/dev/null
历史命令排查
#查看本地用户的历史命令
history
#查看别的用户历史命令,进入到别的用户家目录下。
more ~/.bash_history
用户及登录情况排查
#用户最近登录信息
last
#查看所有登录失败的用户
lastb
#查看所有用户历史登录情况
lastlog
#显示目前登入系统的用户信息
w
#查看ROOT以外的其它UID是0的用户
awk -F: '$3==0{print $1}' /etc/passwd | grep -v root
#查看root以外其它GID是0的用户
awk -F: '$4==0{print $1}' /etc/passwd | grep -v root
#查看是否与空口令的用户
awk -F: 'length($2)==0 {print $1}' /etc/shadow
#查看是否有其他非需要账户存在sudo权限:
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
#去除不需要使用的账户
系统默认帐号不需要的话,建议停用。
/bin/bash 或者/bin/sh 等 Shell 变量。
可以在/etc/passwd 中将它们的 shell变量设为/bin/false、/dev/null或者/sbin/nologin/ 等,
也可以使用 usermod -s /dev/null username 命令来更改 username 的 shell 为/dev/null。
1、/etc/passwd字段格式说明:
第一字段:用户名。
第二字段:口令。显示为X即为密码存在且已映射到/etc/shadow文件。显示为!!即为
空密码。
第三字段:UID
第四字段:GID
第五字段:用户名全称,可选设置。例如示例中gdm用户未设置全称,webalizer用户
设置webalizer用户全称。
第六字段:用户“home”目录所在位置。
第七字段:用户所用shell类型,如换成/sbin/nologin/则该用户无法登陆
远程登录配置排查
#限制管理员root远程登录
1.通过root用户vim/etc/ssh/sshd_config
2.将#PermitRootLogin yes 修改为PermitRootLogin no
3.保存然后重启shh服务就可以生效
4.重启ssh服务操作
5.service sshd restart#修改SSH登录端口
1、通过root用户vi/etc/ssh/sshd_config
2、在防火墙上放行TCP-33389端口
3、将#port 22 修改为port 33389
4、保存然后重启ssh服务就可以生效
5、重启ssh服务操作
6、service sshd restart#允许IP可以远程登录root 、
#vi /etc/hosts.allow
新加sshd:192.168.2.188:allow
如有多个另起一行sshd:192.168.2.199:allow(单独IP的添加方法)
新加sshd:192.168.2.:allow (一段IP的添加方法)#vi /etc/hosts.deny
添加:sshd: ALL 禁用其它IP连接ssh服务
添加:sshd:deny 允许其它IP链接SSH服务