1. 求助服务器被挖矿程序入侵,如何排查
新客户于最近向我们SINE安全公司咨询,说他的服务器经常卡的网站无法打开,远程连接
服务器的慢的要命,有时候PING值都达到300-500之间,还经常掉包,听客户这么一说,一般
会判断为受到了CC+DDOS混合流量攻击,再具体一问,说是机房那面没有受到流量攻击,这
就有点奇怪了,不是流量攻击,还导致服务器卡,网站无法打开,这是什么攻击?为了解决客
户服务器卡的问题,我们随即安排安全工程师对他的linux服务器进行了安全检测与安全部署。
挖矿木马还设计了挖矿进程如果被客户强制停止后,会自动启动继续挖矿,达到不间断的挖矿,
仔细检查发现是通过设置了每个小时执行任务计划,远程下载shell挖矿木马,然后执行,检查
当前进程是否存在,不存在就启动挖矿木马,进行挖矿。
对客户的linux服务器进行详细了安全检测发现幸亏没有加密服务器的数据,以及感染蠕虫的病
毒,如果数据被加密那损失大了,客户是做平台的,里面的客户数据很重要,找出挖矿木马后,
客户需要知道服务器到底是如何被攻击的? 被上传挖矿木马的? 防止后期再出现这样的攻击
状况。
通过我们安全工程师的安全检测与分析,发现该服务器使用的是apache tomcat环境,平台的开
发架构是JSP+oracle数据库,apache tomcat使用的是2016年的版本,导致该apache存在严重
的远程执行命令漏洞,入侵者可以通过该漏洞直接入侵服务器,拿到服务器的管理员权限,
SINE安全工程师立即对apache 漏洞进行修复,并清除木马,至此问题得以解决,客户服务器
一切稳定运行,网站打开正常。
2. 如何查看linux服务器被攻击是否被攻击过
最快的就是
直接联系
你的服务商,查看服务器有没有被攻击,机房那边可以看到
3. Linux服务器被黑如何查
linux系统的服务器被入侵,总结了以下的基本方法,供不大懂linux服务器网理人员参考考学习。x0dx0a首先先用iptraf查下,如果没装的运行yum install iptraf装下,看里面是不是UDP包发的很多,如果是,基本都被人装了后门x0dx0a1. 检查帐户x0dx0a# less /etc/passwdx0dx0a# grep :0: /etc/passwd(检查是否产生了新用户,和UID、GID是0的用户)x0dx0a# ls -l /etc/passwd(查看文件修改日期)x0dx0a# awk -F: ‘$3= =0 {print $1}’ /etc/passwd(查看是否存在特权用户)x0dx0a# awk -F: ‘length($2)= =0 {print $1}’ /etc/shadow(查看是否存在空口令帐户)x0dx0a x0dx0a2. 检查日志x0dx0a# last(查看正常情况下登录到本机的所有用户的历史记录)x0dx0a注意”entered promiscuous mode”x0dx0a注意错误信息x0dx0a注 意Remote Procere Call (rpc) programs with a log entry that includes a large number (> 20) strange characters(-^PM-^PM-^PM-^PM-^PM-^PM-^PM-^PM)x0dx0a x0dx0a3. 检查进程x0dx0a# ps -aux(注意UID是0的)x0dx0a# lsof -p pid(察看该进程所打开端口和饥模文件)x0dx0a# cat /etc/inetd.conf | grep -v “^#”(检查守护进程)x0dx0a检查隐藏进程x0dx0a# ps -ef|awk ‘{print }’|sort -n|uniq >1x0dx0a# ls /porc |sort -n|uniq >2x0dx0a# diff 1 2x0dx0a x0dx0a4. 检查文件x0dx0a# find / -uid 0 _perm -4000 _printx0dx0a# find / -size +10000k _printx0dx0a# find / -name “?” _printx0dx0a# find / -name “.. ” _printx0dx0a# find / -name “. ” _printx0dx0a# find / -name ” ” _printx0dx0a注意SUID文件,可疑大于10M和空格文件x0dx0a# find / -name core -exec ls -l {} ;(检查系统中的core文件)x0dx0a检查系统文件完整性x0dx0a# rpm _qf /bin/lsx0dx0a# rpm -qf /烂液缓bin/loginx0dx0a# md5sum _b 文件名x0dx0a# md5sum _t 文件名x0dx0a x0dx0a5. 检查RPMx0dx0a# rpm _Vax0dx0a输出格式:x0dx0aS _ File size differsx0dx0aM _ Mode differs (permissions)x0dx0a5 _ MD5 sum differsx0dx0aD _ Device number mismatchx0dx0aL _ readLink path mismatchx0dx0aU _ user ownership differsx0dx0aG _ group ownership differsx0dx0aT _ modification time differsx0dx0a注意相关的 /sbin, /bin, /usr/sbin, and /usr/binx0dx0a x0dx0a6. 检查埋辩网络x0dx0a# ip link | grep PROMISC(正常网卡不该在promisc模式,可能存在sniffer)x0dx0a# lsof _ix0dx0a# netstat _nap(察看不正常打开的TCP/UDP端口)x0dx0a# arp _ax0dx0a x0dx0a7. 检查计划任务x0dx0a注意root和UID是0的schelex0dx0a# crontab _u root _lx0dx0a# cat /etc/crontabx0dx0a# ls /etc/cron.*x0dx0a x0dx0a8. 检查后门x0dx0a# cat /etc/crontabx0dx0a# ls /var/spool/cron/x0dx0a# cat /etc/rc.d/rc.localx0dx0a# ls /etc/rc.dx0dx0a# ls /etc/rc3.dx0dx0a# find / -type f -perm 4000x0dx0a x0dx0a9. 检查内核模块x0dx0a# lsmodx0dx0a x0dx0a10. 检查系统服务x0dx0a# chkconfigx0dx0a# rpcinfo -p(查看RPC服务)x0dx0a x0dx0a11. 检查rootkitx0dx0a# rkhunter -cx0dx0a# chkrootkit -q
4. 服务器被攻击怎么办
1、发现服务器被入侵,应立即关闭所有网站服务,暂停至少3小时。这时候很多站长朋友可能会想,不行呀,网站关闭几个小时,那该损失多大啊,可是你想想,是一个可能被黑客修改的钓鱼网站对客户的损失大,还是一个关闭的网站呢?你可以先把网站暂时跳转到一个单页面,写一些网站维护的的公告。
2、下载服务器日志,并且对服务器进行全盘杀毒扫描。这将花费你将近1-2小时的时间,但是这是必须得做的事情,你必须确认黑客没在服务器上安装后门木马程序,同时分析系统日志,看黑客是通过哪个网站,哪个漏洞入侵到服务器来的。找到并确认攻击源,并将黑客挂马的网址和被篡改的黑页面截图保存下来,还有黑客可能留下的个人IP或者代理IP地址。
3、Windows系统打上最新的补丁,然后就是mysql或者sql数据库补丁,还有php以及IIS,serv-u就更不用说了,经常出漏洞的东西,还有就是有些IDC们使用的虚拟主机管理软件。
4、关闭删除所有可疑的系统帐号,尤其是那些具有高权限的系统账户!重新为所有网站目录配置权限,关闭可执行的目录权限,对图片和非脚本目录做无权限处理。
5、完成以上步骤后,你需要把管理员账户密码,以及数据库管理密码,特别是sql的sa密码,还有mysql的root密码,要知道,这些账户都是具有特殊权限的,黑客可以通过他们得到系统权限!
6、Web服务器一般都是通过网站漏洞入侵的,你需要对网站程序进行检查(配合上面的日志分析),对所有网站可以进行上传、写入shell的地方进行严格的检查和处理。如果不能完全确认攻击者通过哪些攻击方式进行攻击,那就重装系统,彻底清除掉攻击源。
5. 如何看Linux服务器是否被攻击
以下几种方法检测linux服务器是否被攻击:x0dx0a1、检查系统密码文件 x0dx0a首先从明显的入手,查看一下passwd文件,ls _l /etc/passwd查看文件修改的日期。 x0dx0a2、查看一下进程,看看有没有奇怪的进程 x0dx0ax0dx0a重点查看进程:ps _aef | grep inetd inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果看到输出了一个类似inetd _s x0dx0a/tmp/.xxx之类的进程,着重看inetd x0dx0a_s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中x0dx0a也仅仅是inetd x0dx0a_s,同样没有用inetd去启动某个特定的文件;如果使用ps命令看到inetd启动了某个文件,而自己又没有用inetd启动这个文件,那就说明已经有人入侵了系统,并且以root权限起了一个简单的后门。x0dx0a3、检查系统守护进程 x0dx0a检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep _v “^#”,输出的信息就是这台机器所开启的远程服务。 x0dx0a一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。x0dx0a4、检查网络连接和监听端口 x0dx0a输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。 x0dx0a输入netstat _rn,查看本机的路由、网关设置是否正确。 x0dx0a输入 ifconfig _a,查看网卡设置。 x0dx0a5、检查系统日志 x0dx0a命令last | x0dx0amore查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系x0dx0a统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现x0dx0asyslog被非法动过,那说明有重大的入侵事件。 x0dx0a在linux下输入ls _al /var/log x0dx0a检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。 x0dx0a6、检查系统中的core文件 x0dx0a通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说并不能x0dx0a100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core x0dx0a_exec ls _l {} \; 依据core所在的目录、查询core文件来判断是否有入侵行为。x0dx0a7、检查系统文件完整性 x0dx0a检查文件的完整性有多种方法,通常通过输入ls _l x0dx0a文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm _V x0dx0a`rpm _qf 文件名` x0dx0a来查询,查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以man x0dx0arpm来获得更多的格式。
6. 如何查看服务器是否被ddos攻击
先看下网站能不能打开,然后让服务器运营商在端口查看下流量的异常情况。具体加下 口吧,320006167
7. 遭受黑客攻击后怎样查询被攻击了
安全总是相对的,再安全的服务器也有可能遭受到攻击。作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响。
一、处理服务器遭受攻击的一般思路
系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路。
1.切断网络
所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机。
2.查找攻击源
可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序。这个过程要根据经验和综合判断能力进行追查和分析。下面的章节会详细介绍这个过程的处理思路。
3.分析入侵原因和途径
既然系统遭到入侵,那么原因是多方面的,可能是系统漏洞,也可能是程序漏洞,一定要查清楚是哪个原因导致的,并且还要查清楚遭到攻击的途径,找到攻击源,因为只有知道了遭受攻击的原因和途径,才能删除攻击源同时进行漏洞的修复。
4.备份用户数据
在服务器遭受攻击后,需要立刻备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,一定要彻底删除,然后将用户数据备份到一个安全的地方。
5.重新安装系统
永远不要认为自己能彻底清除攻击源,因为没有人能比黑客更了解攻击程序,在服务器遭到攻击后,最安全也最简单的方法就是重新安装系统,因为大部分攻击程序都会依附在系统文件或者内核中,所以重新安装系统才能彻底清除攻击源。
6.修复程序或系统漏洞
在发现系统漏洞或者应用程序漏洞后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有将程序的漏洞修复完毕才能正式在服务器上运行。
7.恢复数据和连接网络
将备份的数据重新复制到新安装的服务器上,然后开启服务,最后将服务器开启网络连接,对外提供服务。
二、检查并锁定可疑用户
当发现服务器遭受攻击后,首先要切断网络连接,但是在有些情况下,比如无法马上切断网络连接时,就必须登录系统查看是否有可疑用户,如果有可疑用户登录了系统,那么需要马上将这个用户锁定,然后中断此用户的远程连接。
1.登录系统查看可疑用户
通过root用户登录,然后执行“w”命令即可列出所有登录过系统的用户,如下图所示。
通过这个输出可以检查是否有可疑或者不熟悉的用户登录,同时还可以根据用户名以及用户登录的源地址和它们正在运行的进程来判断他们是否为非法用户。
2.锁定可疑用户
一旦发现可疑用户,就要马上将其锁定,例如上面执行“w”命令后发现nobody用户应该是个可疑用户(因为nobody默认情况下是没有登录权限的),于是首先锁定此用户,执行如下操作:
[root@server ~]# passwd -l nobody锁定之后,有可能此用户还处于登录状态,于是还要将此用户踢下线,根据上面“w”命令的输出,即可获得此用户登录进行的pid值,操作如下:
[root@server ~]# ps -ef|grep @pts/3 531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3 [root@server ~]# kill -9 6051这样就将可疑用户nobody从线上踢下去了。如果此用户再次试图登录它已经无法登录了。
3.通过last命令查看用户登录事件
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于/var/log/wtmp文件,稍有经验的入侵者都会删掉/var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的。
三、查看系统日志
查看系统日志是查找攻击源最好的方法,可查的系统日志有/var/log/messages、/var/log/secure等,这两个日志文件可以记录软件的运行状态以及远程用户的登录状态,还可以查看每个用户目录下的.bash_history文件,特别是/root目录下的.bash_history文件,这个文件中记录着用户执行的所有历史命令。
四、检查并关闭系统可疑进程
检查可疑进程的命令很多,例如ps、top等,但是有时候只知道进程的名称无法得知路径
8. 怎么查看服务器被入侵
如果服务器(网站)被入侵了,一般都是服务器或者网站存在漏洞,被黑客利用并提权入侵的,导致服务器中木马,网站被挂黑链,被篡改,被挂马。解决办法:如果程序不是很大,可以自己比对以前程序的备份文件,然后就是修复,或者换个服务器,最好是独立服务器。也可以通过安全公司来解决,国内也就Sinesafe和绿盟等安全公司 比较专业.
9. 怎么查看服务器被入侵
1、入侵者入侵后一般会开服务器的3389,建立隐藏用户,然后登录。我们只要到c:documents
and
settings这个目录下看看是否有可以的用户名就可以了,不管是不是隐藏的用户,都会在这里显示出来。
2、有些入侵者喜欢留一个有高权限的sqlserver数据库用户,当作后门,我们可以打开登陆sqlserver的查询分析器,然后依次打开master--系统表--dbo.sysxlogins(sqlserver2000下,sql2005和2008下,小王没找到如何查看数据库用户的方法,如果您知道请指点),在这个窗口的name列中可以看到sqlserver数据库的用户,一般情况下会有3个用户,一个是sa,一个builtinadministrators,还有一个是null,如果还存在其他用户,就有可能是被人入侵了或者是我上面讲的那些情况,就需要注意点了,当然不一定就那三个用户,小王还见过name下有多个sa和null的,但不知道是怎么回事,具体问题还需要具体分析。