linux 系统被入侵之后你要做什么

简介:

 linux系统的服务器被入侵,总结了以下的基本方法

首先先用iptraf查下,如果没装的运行yum install iptraf装下,看里面是不是UDP包发的很多,如果是,基本都被人装了后门
 

1. 检查帐户

# less /etc/passwd

# grep :0: /etc/passwd(检查是否产生了新用户,和UID、GID是0的用户)

# ls -l /etc/passwd(查看文件修改日期)

# awk -F: ‘$3= =0 {print $1}’ /etc/passwd(查看是否存在特权用户)

# awk -F: ‘length($2)= =0 {print $1}’ /etc/shadow(查看是否存在空口令帐户)

2. 检查日志

# last(查看正常情况下登录到本机的所有用户的历史记录)

注意”entered promiscuous mode”

注意错误信息

注 意Remote Procedure Call (rpc) programs with a log entry that includes a large number (> 20) strange characters(-^PM-^PM-^PM-^PM-^PM-^PM-^PM-^PM)

3. 检查进程

# ps -aux(注意UID是0的)

# lsof -p pid(察看该进程所打开端口和文件)

# cat /etc/inetd.conf | grep -v “^#”(检查守护进程)

检查隐藏进程

# ps -ef|awk ‘{print }’|sort -n|uniq >1

# ls /porc |sort -n|uniq >2

# diff 1 2

4. 检查文件

# find / -uid 0 –perm -4000 –print

# find / -size +10000k –print

# find / -name “…” –print

# find / -name “.. ” –print

# find / -name “. ” –print

# find / -name ” ” –print

注意SUID文件,可疑大于10M和空格文件

# find / -name core -exec ls -l {} ;(检查系统中的core文件)

检查系统文件完整性

# rpm –qf /bin/ls

# rpm -qf /bin/login

# md5sum –b 文件名

# md5sum –t 文件名

5. 检查RPM

# rpm –Va

输出格式:

S – File size differs

M – Mode differs (permissions)

5 – MD5 sum differs

D – Device number mismatch

L – readLink path mismatch

U – user ownership differs

G – group ownership differs

T – modification time differs

注意相关的 /sbin, /bin, /usr/sbin, and /usr/bin

6. 检查网络

# ip link | grep PROMISC(正常网卡不该在promisc模式,可能存在sniffer)

# lsof –i

# netstat –nap(察看不正常打开的TCP/UDP端口)

# arp –a

7. 检查计划任务

注意root和UID是0的schedule

# crontab –u root –l

# cat /etc/crontab

# ls /etc/cron.*

8. 检查后门

# cat /etc/crontab

# ls /var/spool/cron/

# cat /etc/rc.d/rc.local

# ls /etc/rc.d

# ls /etc/rc3.d

# find / -type f -perm 4000

9. 检查内核模块

# lsmod

10. 检查系统服务

# chkconfig

# rpcinfo -p(查看RPC服务)

11. 检查rootkit

# rkhunter -c

# chkrootkit -q

12.检查chkconfig 列表,防止一些程序加入到开机自启动中

chkconfig --list

本文转自xinsz08の平行时空博客51CTO博客,原文链接http://blog.51cto.com/xinsz08/1915958如需转载请自行联系原作者


维度2018

相关文章
|
存储 运维 数据建模
小白入门之数据建模-以兴趣社区为例
本文作者分享了一些对数据建模的理解,并以社区业务为例展开讨论。
|
10月前
|
机器学习/深度学习 人工智能 机器人
魔搭社区模型速递(5.11-5.17)
🙋魔搭ModelScope本期社区进展:📟1656个模型,151个数据集,645个创新应用,📄 9 篇内容
426 11
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中Stream API与传统for循环的性能对比及适用场景。作者通过实际案例分析,指出在某些情况下,过度使用Stream API会导致代码可读性和维护性下降。测试结果显示,在数据量较小的情况下,普通for循环的性能优于Stream API,尤其是在涉及多次类似操作时。因此,建议在开发中根据具体需求选择合适的遍历方式,以提高代码的可读性和性能。
316 5
Java循环操作哪个快?
|
XML JavaScript API
API接口:原理、设计与应用
API,全称应用程序接口,是一些预先定义的函数,目的是提供应用程序与开发人员以访问一组例程的能力,我们可以在不暴露各内部例程的情况下,使用这些例程。API是构建在操作系统或应用程序之间的接口,它充当一个桥梁或纽带,使得不同的应用程序或系统之间可以相互交流和交互。
|
前端开发 JavaScript
react18【系列实用教程】useState —— 声明响应式变量(2024最新版)含useState 的异步更新机制,更新的合并,函数传参获取更新值,不同版本异步更新差异,更新对象和数组
react18【系列实用教程】useState —— 声明响应式变量(2024最新版)含useState 的异步更新机制,更新的合并,函数传参获取更新值,不同版本异步更新差异,更新对象和数组
1008 0
|
Linux 开发工具 C语言
【c++】c++发送http请求
【c++】c++发送http请求
|
运维 Java Linux
ELK技术栈 - logstash学习笔记(一)
ELK技术栈 - logstash学习笔记(一)
291 0
|
C语言
C语言中的位运算详解
C语言中的位运算详解
974 0
|
测试技术 Linux 网络安全
【Docker项目实战】Docker环境下部署docat文档管理系统
【2月更文挑战第18天】Docker环境下部署docat文档管理系统
622 3