1、账号安全

基本使用:

1 )用 户 信 息 文 件 /etc/passwd root:x:0:0:root:/root:/bin/bash

account:password:UID:GID:GECOS:directory:shell

用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell 注:无密码只允许本机登陆,远程不允许登陆

2)影子文件/etc/shadow

root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::

用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之

后的宽限天数:账号失效时间:保留

who //查看当前登录用户(tty本地登陆 pts远程登录)

w //查看系统信息,想知道某一时刻用户的行为

uptime //查看登陆多久、多少用户,负载

入侵排查:

1)查询特权用户特权用户(uid 为0)

[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd

2)查询可以远程登录的账号信息

[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow

3)除root账号外,其他账号是否存在sudo权限。如非管理需要,普通账号应删除sudo权限[root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" 4、禁用或删除多余及可疑的账号

usermod -L user 禁用账号,账号无法登录,/etc/shadow第二栏为!开头

userdel user 删除user用户

userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除

2、文件排查

1)敏感目录的文件分析[类/tmp 目录,命令目录/usr/bin /usr/sbin 等]

ls 用来显示目标列表

2)查看 tmp 目录下的文件:ls –alt /tmp/

3)查看开机启动项内容:ls -alt /etc/init.d/,/etc/init.d 是 /etc/rc.d/init.d的软链接

基本使用:

系统运行级别示意图:

入侵排查:

启动项文件: more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d

4)按时间排序查看指定目录下文件:ls -alt | head -n 10

针对可疑文件可以使用 stat 进行创建修改时间、访问时间的详细查看,若修改时间距离事件日期接近,有线性关联,说明可能被篡改或者其他。

(1) Access Time:简写为 atime,表示文件的访问时间。当文件内容被访问时,更新这个时间。

(2) Modify Time:简写为 mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。

(3) Change Time:简写为 ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks 数。

5)查看历史命令记录文件~/.bash_history

查找~/.bash_history 命令执行记录,主要分析是否有账户执行过恶意操作系统;命令在 linux 系统里,只要执行过命令的用户,那么在这个用户的 HOME 目录下,都会有一个.bash_history 的文件记录着这个用户都执行过什么命令;

那么当安全事件发生的时候,我们就可以通过查看每个用户所执行过的命令,来分析一下这个用户是否有执行恶意命令,如果发现哪个用户执行过恶意命令, 那么我们就可以锁定这个线索,去做下一步的排查。

基本使用:

通过.bash_history查看账号执行过的系统命令

①root的历史命令

histroy

②打开/home各账号目录下的.bash_history,查看普通账号的历史命令

为历史的命令增加登录的IP地址、执行命令时间等信息:

a)保存1万条命令

sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile

b)在 /etc/profile的文件尾部添加如下行数配置信息:

######jiagu history xianshi#########

USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`

if [ "$USER_IP" = "" ]

then USER_IP=`hostname`

fi

export HISTTIMEFORMAT="%F %T $USER_IP `whoami` " shopt -s histappend

export PROMPT_COMMAND="history -a"

######### jiagu history xianshi ##########

c)source /etc/profile让配置生效

生成效果: 1 2018-07-10 19:45:39 192.168.204.1 root source /etc/profile

③历史操作命令的清除:history -c

注:此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。

入侵排查:

进入用户目录下

cat .bash_history >> history.txt

6)查看操作系统用户信息文件/etc/passwd

查找/etc/passwd 文件, /etc/passwd 这个文件是保存着这个 linux 系统所有用户的信息,通过查看这个文件,我们就可以尝试查找有没有攻击者所创建的用户,或者存在异常的用户。我们主要关注的是第 3、4 列的用户标识号和组标识号,和倒数一二列的用户主目录和命令解析程序。一般来说最后一列命令解析程序如果是设置为 nologin 的话,那么表示这个用户是不能登录的,所以可以结合我们上面所说的 bash_history 文件的排查方法。首先在/etc/passwd 中查找命令解释程序不是 nologin 的用户, 然后再到这些用户的用户主目录里, 找到bash_history,去查看这个用户有没执行过恶意命令。

/etc/passwd 中一行记录对应着一个用户,每行记录又被冒号(:)分隔为 7 个字段, 其格式和具体含义如下:

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell

7)查看新增文件

find:在指定目录下查找文件

例:find ./ -mtime 0 -name "*.php"(查找 24 小时内被修改的 php 文件)

find / -ctime 2(查找 72 小时内新增的文件)

8)特殊权限的文件查看

查找 777 的权限的文件:find / *.jsp -perm 4777

9)隐藏的文件(以 "."开头的具有隐藏属性的文件)

注:在文件分析过程中,手工排查频率较高的命令是 find grep ls 核心目的是为了关联推理出可疑文件;

3、端口、进程排查

1)使用netstat 网络连接命令,分析可疑端口、IP、PID

netstat -antlp|more

查看下pid所对应的进程文件路径:运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)

netstat 用于显示与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

选项参数:

-a 显示所有连线中的 Socket。

-n 直接使用 IP 地址,而不通过域名服务器。

-t 显示 TCP 传输协议的连线状况。

-u 显示 UDP 传输协议的连线状况。

-v 显示指令执行过程。

-p 显示正在使用 Socket 的程序识别码和程序名称。

-s 显示网络工作信息统计表。

2)根据 netstat 定位出的 pid,使用 ps 命令,分析进程

-a 代表 all。同时加上 x 参数会显示没有控制终端的进程

-aux 显示所有包含其他使用者的行程(ps -aux --sort -pcpu | less 根据 cpt 使用率进行排序)

-C 显示某的进程的信息

-axjf 以树形结构显示进程

ps aux | grep pid | grep –v grep

将 netstat 与 ps 结合:

4、日志排查

1)查看系统用户登录信息

a)使用 lastlog 命令,系统中所有用户最近一次登录信息。

b) 使用 lastb 命令,用于显示用户错误的登录列表;

c) 使用 last 命令,用于显示用户最近登录信息(数据源为/var/log/wtmp,var/log/btmp);

utmp 文件中保存的是当前正在本系统中的用户的信息。

wtmp 文件中保存的是登录过本系统的用户的信息。

/var/log/wtmp 文 件 结 构 和 /var/run/utmp 文 件 结 构 一 样 , 都 是 引 用

/usr/include/bits/utmp.h 中 的 struct utmp;

Linux查找启动的隐藏服务,Linux服务器入侵检测排查方法相关推荐

  1. windows计划任务 0xff_Windows服务器入侵检测排查方法

    Windows服务器入侵检测排查 一.文件排查 1)开机启动有无异常文件 [文件]→[运行]→[msconfig] 2)各个盘下的temp(tmp)相关目录下查看有无异常文件:Windows产生的临时 ...

  2. 排查链接是否失效_Linux服务器入侵检测排查方法

    1.账号安全 基本使用: 1 )用 户 信 息 文 件 /etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GID:GEC ...

  3. linux中启动不了服务,Linux系统xinetd服务启动不了

    JavaScript高阶函数 所谓高阶函数(higher-order function) 就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数. 下面的例子接收两个函数f()和g(),并 ...

  4. 武林外传老是显示服务器未响应,武林外传手游启动闪退及获取服务器列表失败解决方法...

    武林外传手游是完美世界倾力开发的3D MMORPG手游,很多玩家在进入游戏出现了闪退,获取服务器列表失败的现象,如何才能顺利的进入游戏呢?下面小编带来启动闪退及获取服务器列表失败解决方法,希望对大家有 ...

  5. Linux下启动/关闭Oracle服务和 oracle监听启动/关闭/查看状态

    文章目录 一.Linux下启动Oracle 二步曲 1)启动监听 2)启动数据库实例 二.Linux下启动Oracle 实战操作 2.1. 登录服务器,切换到oracle用户,或者以oracle用户登 ...

  6. linux命令启动程序,菜鸟学Linux命令:nohup命令启动程序

    在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止. 要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦: 另一种方法是仍然用 ...

  7. linux设置开机自启服务,linux设置服务开机自启动的三种方式

    linux设置服务开机自启动的三种方式 这里介绍一下linux开机自动启动的几种方法,共计3种,大家可以借鉴一下!经验里面以centos 5.3系统为例! 方法1:.利用ntsysv命令进行设置,利用 ...

  8. linux未被识别crond服务,linux 定时任务 crond 服务介绍

    linux定时任务crond服务应用指南 Linux的定时任务crond(crontab)服务 1.crond是什么? crond是linux系统中用来定期执行命令或者指定程序的程序(软件) 2.秒级 ...

  9. linux内核启动第一个进程,linux内核启动流程

    描述 Linux的启动代码真的挺大,从汇编到C,从Makefile到LDS文件,需要理解的东西很多.毕竟Linux内核是由很多人,花费了巨大的时间和精力写出来的.而且直到现在,这个世界上仍然有成千上万 ...

  10. linux查找日期目录,详解Linux查找目录下的按时间过滤的文件

    在维护项目中,有时会指定都一些条件进行过滤文件,并对该批文件进行操作:这时我们将使用shell命令进行操作:直接上代码 #!/bin/sh #BEGIN #`find ./ ! -name " ...

最新文章

  1. 比较顺利 - Python基础2
  2. 实验三银行家算法linux,操作系统原理与linux_银行家算法实验报告.doc
  3. MySQL5.5各架构复制
  4. 谷歌为雇人监听智能助手录音辩护 承诺对用户数据泄露进行调查
  5. CSS的表白:七夕巧克力心
  6. 全排列(递归与非递归实现)
  7. 整合springMVC
  8. mockito mock void方法_一文让你快速上手 Mockito 单元测试框架
  9. ReportViewer教程(2)-添加空报表Report1.rdlc
  10. 常见的UI设计素材模板
  11. oracle 收集统计信息会锁表吗,统计信息锁住导致收集统计信息失败引起sql执行异常...
  12. pdf2htmlex 中的字体嵌入
  13. pdf2image报错,pdf2image完整安装
  14. 通过js获取本机的IP地址
  15. ET7.0 腾讯云centos部署
  16. python3网络爬虫-介绍
  17. 华为交换机释放vlanif接口DHCP地址池下ip命令
  18. IT项目失败的常见原因分析
  19. 基于facades数据集的图像成任务,完成各种GAN的对比实验
  20. android简易播放器2:activity和service同步显示

热门文章

  1. js上传图片时添加水印
  2. 微信应用开发简单示例,学生自助报道系统
  3. 【Unity开发小技巧】Unity中文转拼音
  4. Hamcrest包含匹配器
  5. C#:实现敏感词过滤算法(附完整源码)
  6. PHP读取PDF内容方法
  7. 如何免费下载付费音乐歌曲,6个网站+8个APP
  8. php strom 快捷键,PHPStorm常用快捷键总结
  9. AD9371,ADRV9009多路同步模块设计
  10. ADI官方提供的源码AD9361+ZC706 利用TCL构建Vivado工程,利用no-OS-master搭建SDK工程