• 服务器遭到攻击的处理过程


    1、服务器遭到攻击的一般处理思路

    (1)切断网络

    (2)查找攻击源

    通过分析系统日志和登录日志,查找可疑信息。通过查看系统打开了那些端口,运行了哪些进程,分析哪些是可疑程序。

    (3)分析入侵原因和途径

    (4)备份用户数据

    (5)重新安装系统

    (6)修复程序或系统漏洞

    (7)恢复数据并连接网络

    2、处理过程

    (1)检查系统中的可疑用户

    使用w命令查看登陆过系统的用户,可以看出用户名和登录地址

    [root@master ~]# w
     06:41:21 up  8:17,  7 users,  load average: 0.00, 0.01, 0.04
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/3    10.0.0.1         03:21    2:58m  0.07s  0.07s -bash
    root     pts/4    10.0.0.1         04:40    2:00m  0.03s  0.03s -bash
    user01   pts/5    10.0.0.1         06:37    3:26   0.02s  0.02s -bash
    user03   pts/6    10.0.0.1         06:38    2:33   0.03s  0.00s less -s

    (2)锁定可疑用户

    一般遭受攻击,会有一些本身无法登录系统的系统用户登录。一旦发现有这种用户,需要进行如下操作:

    禁用/锁定用户登录系统的方法
    1、usermod命令
       usermod -L username 锁定用户
       usermod -U username 解锁
    2、passwd命令
       passwd -l username 锁定用户
       passwd -u username 解锁
    3、修改用户的shell类型为/sbin/nologin(/etc/passwd文件里修改)
    4、在/etc/下创建空文件nologin,这样就锁定了除root之外的全部用户

    (3)通过last命令查看用户登录

    [root@master ~]# last

    此命令的来源是/var/log/wtmp,该文件是二进制文件,可以通过who命令查看

    [root@master ~]# who -u /var/log/wtmp
    
    root     pts/4        2020-04-04 04:40 03:32       20628 (10.0.0.1)
    root     pts/0        2020-04-04 06:08   .         24900 (10.0.0.1)
    root     pts/1        2020-04-04 06:36 00:35       26282 (10.0.0.1)
    user01   pts/5        2020-04-04 06:37   ?         26416 (10.0.0.1)
    user03   pts/6        2020-04-04 06:38 01:34       26485 (10.0.0.1)

    (4)查看系统日志

    /var/log/messages和/var/log/secure,这两个文件记录着软件的运行状态和用户远程登录状态。

    此外,还可以查看每个用户家目录下的.bash_history,以及root用户的.bash_history

    (5)检查系统可以进程

    通过ps -ef查看进程,得到pid后,通过lsof命令查看打开的文件和端口

    [root@master ~]# lsof -p PID
    
    也可以使用pidof命令
    
    [root@master ~]# pidof sshd
    26497 26485 26278 24896 854

    可以查看exe文件信息和服务打开的文件句柄

    [root@master ~]# ls -l /proc/26485/exe 
    lrwxrwxrwx. 1 root root 0 Apr  4 06:38 /proc/26485/exe -> /usr/sbin/sshd
    [root@master ~]# ls -l /proc/26485/fd
    total 0
    lr-x------. 1 root root 64 Apr  4 06:38 0 -> /dev/null
    lrwx------. 1 root root 64 Apr  4 06:38 1 -> /dev/null
    lrwx------. 1 root root 64 Apr  4 06:38 2 -> /dev/null
    lrwx------. 1 root root 64 Apr  4 06:38 3 -> socket:[70285]
    lrwx------. 1 root root 64 Apr  4 06:38 4 -> socket:[69484]
    lrwx------. 1 root root 64 Apr  4 06:38 5 -> /dev/ptmx
    l-wx------. 1 root root 64 Apr  4 07:24 6 -> /run/systemd/sessions/17.ref
    lrwx------. 1 root root 64 Apr  4 07:24 7 -> socket:[69488]

    (6)检查网络

    正常情况下网卡不应工作在混杂模式,否则可能存在sniffer

    [root@master ~]#  ip l | grep PROMISC

    (7)检查系统后门

    [root@master ~]# cat /etc/crontab
    [root@master ~]# ls /var/spool/cron/
    [root@master ~]# cat /etc/rc.d/rc.local
    [root@master ~]# ls /etc/rc.d
    [root@master ~]# ls /etc/rc3.d

    (8)有时候系统二进制可执行文件被更改,需要使用第三方工具检测

    例如rkhunter工具 ,详见 https://www.cnblogs.com/zh-dream/p/12635523.html

    (9)文件系统完整性检查

    [root@master ~]# rpm -Va
    S.5....T.  c /etc/sysconfig/authconfig
    ..5....T.  c /etc/ssh/ssh_config
    .M.......  g /etc/pki/ca-trust/extracted/java/cacerts
    .M.......  g /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
    .M.......  g /etc/pki/ca-trust/extracted/pem/email-ca-bundle.pem
    .M.......  g /etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
    .M.......  g /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
    .......T.  c /etc/selinux/targeted/contexts/customizable_types
    S.5....T.  c /etc/bashrc
    S.5....T.  c /etc/sudoers
    S.5....T.  c /etc/issue
    S.5....T.  c /etc/issue.net
    S.5....T.  c /etc/yum/vars/contentdir
    .M.......  g /boot/initramfs-3.10.0-862.el7.x86_64.img
    S.5....T.  c /etc/ssh/sshd_config
    ....L....  c /etc/pam.d/fingerprint-auth
    ....L....  c /etc/pam.d/password-auth
    ....L....  c /etc/pam.d/postlogin
    ....L....  c /etc/pam.d/smartcard-auth
    ....L....  c /etc/pam.d/system-auth
    .......T.  c /etc/named.conf
    S.5....T.  c /etc/yum.conf
    
    每个标记的含义如下:
    S    表示文件长度发生了变化
    M    表示文件的访问权限或文件类型发生了变化
    5    表示MD5校验和发生了变化
    D    表示设备节点的属性发生了变化
    L    表示文件的符号链接发生了变化
    U    表示文件、子目录、设备节点的owner发生了变化
    G    表示文件、子目录、设备节点的group发生了变化
    T    表示文件的最后一次修改时间发生了变化

    如果在检测中有“M”标记的出现,说明对应的文件可能被篡改或者替换了,需要卸载这个RPM包重新安装。

    常见的入侵情况

    1)服务器出去的带宽会跑高这个是中毒的一个特征。
    因为服务器中毒之后被别人拿去利用,常见的就是拿去当肉鸡攻击别人;再者就是拿你的数据之类的。
    所以服务器带宽方面需要特别注意下,如果服务器出去的带宽跑很高,那肯定有些异常,需要及时检查一下!
    
    2)系统里会产生多余的不明的用户
    中毒或者被入侵之后会导致系统里产生一些不明用户或者登陆日志,所以这方面的检查也是可以看出一些异常的。
    
    3)开机是否启动一些不明服务和crond任务里是否有一些来历不明的任务?
    因为中毒会随系统的启动而启动的,所以一般会开机启动,检查一下启动的服务或者文件是否有异常,一般会在/etc/rc.local和crondtab -l 显示出来
  • 相关阅读:
    Linux 题库面试题(一)中级
    Linux 题库面试题(一)初级
    题库性能面试题
    数据库面试题(一)子查询及面试题练习
    接口分类(http接口、api接口、RPC接口、RMI、webservice、Restful等概念)
    postman 基本操作
    Monkey APP压力稳定性测试
    Charles 功能介绍说明和使用教程
    在线绘图工具
    tcpdump
  • 原文地址:https://www.cnblogs.com/zh-dream/p/12635567.html
Copyright © 2020-2023  润新知