服务端入侵排查
常见入侵手段挖矿
表象:CPU增高、可疑定时任务、外联矿池IP。
告警:威胁情报(主要)、Hids、蜜罐(挖矿扩散时触发)
动作:通过CPU确认异常情况→ 确认可疑进程 → 检查定时任务、主机服务、守护进程→结束病毒进程、删除病毒文件→加固。
WebShell
表象:业务侧应用逻辑漏洞(允许上传脚本等造成命令执行)或者开源软件低版本造成(fastjson等)导致, 通常为反弹shell、高危命令执行,同时存在内网入侵、恶意程序传播、数据盗取等行为。
告警:Hids(基于主机型入侵检测系统)、流量监控设备
动作: 确认Webshell文件内容与可用性→ 酌情断网,摘掉公网出口IP→ 通过日志等确认Webshell文件访问记录→ 确定Webshell入侵来源,是业务逻辑漏洞导致、开源组件漏洞还是弱口令与未授权等情况导致 →排查应用其他机器情况,全盘扫描Webshell文件→ 缩容机器,修复相关问题重新恢复应用开放。
内网入侵
表象:以入侵的跳板机为源头进行端口扫描、SSH爆破、内网渗透操作、域控攻击等。
告警:Hids(主要)、蜜罐、域控监控(ATA等)
动作:确定入侵边界再进行处理 ...
Linux:服务器故障排查思路
概述遇到服务器故障,问题出现的原因很少可以一下就能找到。我们基本上都会从以下步骤入手:
搞清楚问题的前因后果
有谁在服务器上?
故障发生之前发生了什么?
当前运行的进程有哪些?
监听的网络服务有哪些?
查看cpu、内存、磁盘使用情况
查看硬件情况
查看I/O性能
查看挂载点和文件系统
查看内核、中断和网络
查看系统日志和内核消息
查看定时计划情况
查看具体应用的系统日志
搞清楚问题的前因后果必须搞清楚的问题有:
故障的表现是什么?无响应?报错?
故障是什么时候发现的?
故障是否可重现?
有没有出现的规律(比如每小时出现一次)
最后一次对整个平台进行更新的内容是什么(代码、服务器等)?
故障影响的特定用户群是什么样的(已登录的, 退出的, 某个地域的…)?
基础架构(物理的、逻辑的)的文档是否能找到?
是否有监控平台可用?(比如Nagios、Zabbix等)
是否有日志可以查看? (比如rsyslog、ELK)
最后两个是最方便的信息来源,不过别抱太大希望,基本上它们都不会有,只能再继续摸索了。
有谁在服务器上?用这两个命令看看都有谁在线,有哪些用户访问过。这不是什么关 ...
Nginx:rewrite模块
参考:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
Rewrite对应URL Rewrite,即URL重写,就是把传入web的请求重定向到其他URL的过程。
nginx的重写模块rewrite是一个简单的正则表达式匹配与一个虚拟堆叠机结合,依赖于pcre库(这也为我们之前安装的时候为什么需要安装pcre和pcre-devel软件的原因)。
rewrite会根据相关变量重定向和选择不同的配置,从一个 location跳转到另一个 location,不过这样的循环最多可以执行10次,超过后 nginx将返回500错误。
说明:
功能:实现URL的重写,通过Rewrite规则,可以实现规范的URL,根据变量来做URL转向及选择配置。
作用范围:server{},location{},if{}
优先级:执行server块的rewrite指令 > 执行location匹配 >执行选定的location中的rewrite指令。
应用场景
根据特殊变量、目录、客户端的信息进行URL跳转等
网站换新域名后,让旧 ...
Linux:vmstat命令
本文只总结一些常用的用法,更详细的说明见man vmstat和 vmstat --help。
[toc]
vmstat命令vmstat是Virtual Meomory Statistics(虚拟内存统计)缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
语法格式1vmstat [options] [delay [count]]
delay:刷新时间间隔。如果不指定,只显示一条结果。
count:刷新次数。如果不指定刷新次数,但指定了刷新时间间隔,这时刷新次数为无穷。
不加任何参数:
1234[root@test ~]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 5 0 0 259312 142388 7355 ...
Linux:iptables详解
概述iptables是一种Linux系统下的数据包过滤工具,但非真正意义上的防火墙,可以理解喂一种客户端代理,将用户的安全配置设定到底层的框架中,这个框架叫netfilter。
iptables位于用户空间,netfilter位于内核空间。
术语
术语
说明
accept
放行
reject
拒绝
drop
放弃
SNAT
源地址转换
DNAT
是SNAT的一种特殊形式,适用于动态的、临时会变的ip上
MASQUERADE
目标地址转换
chain
链
table
表
rule
规则
工作机制iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成。
规则链规则链(chain)名包括(也被称为五个钩子函数(hook functions)):
INPUT链 :处理输入数据包。
OUTPUT链 :处理输出数据包。
FORWARD链 :处理转发数据包。
PREROUTING链 :用于目标地址转换(DNAT) ...
Linux命令分类
Linux命令分类文件传输bye、ftp、ftpcount、ftpshut、ftpwho、ncftp、tftp、uucico、uucp、uupick、uuto、scp
备份压缩ar、bunzip2、bzip2、bzip2recover、compress、cpio、dump、gunzip、gzexe、gzip、lha、restore、tar、unarj、unzip、zip、zipinfo
文件管理diff、diffstat、file、find、git、gitview、ln、locate、lsattr、mattrib、mc、mcopy、mdel、mdir、mktemp、mmove、mread、mren、mshowfat、mtools、mtoolstest、mv、od、paste、patch、rcp、rhmask、rm、slocate、split、tee、tmpwatch、touch、umask、whereis、which、cat、chattr、chgrp、chmod、chown、cksum、cmp、cp、cut、indent
磁盘管理cd、df、dirs、du、edquota、eject、 ...
《浪潮之巅》读书笔记
吴军 / 电子工业出版社 / 2011-8
笔记
要做到高回报必须首先选对题目。 其次,创业的题目不能和主流公司的主要业务撞车。
死亡推动着生命进化和变迁,旧的不去,新的不来。现在,新的人和新的技术,在不久的将来,也会逐渐成为旧的,也会被淘汰。
凡是现实的都是合理的,凡是合理的都是现实的(All that is real is rational; and all that is rational is real)。
托尔斯泰讲,幸福的家庭都是相似的,不幸的家庭各有各的不幸。在信息产业中,这句话要反过来讲,成功的公司各有各的绝招,失败的公司倒是有不少共同之处。
英特尔公司做事情非常专注,知道今天,它一直集中精力于个人微机的处理器上。每一代产品的研发都集中大量的人力和资金,每一次都是只能成功不能失败。
Java有一个无法克服的先天不足,就是速度太慢。
历史上,任何流通性过剩都会大大扩大经济规模,直到形成新的泡沫。
一个人类群星闪耀的时刻出现以前,必然有漫长的岁月流逝而去。
为什么美国小公司能很快成为跨国公司,我认为其中一个原因是反垄断法逼迫公司进 ...
Nagios:监控脚本
监控磁盘12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273#!/bin/shiostat=`which iostat 2>/dev/null`bc=`which bc 2>/dev/null`function help {echo -e "\n\tThis plugin shows the I/O usage of the specified disk, using the iostat external program.\n\tIt prints three statistics: Transactions per second (tps), Kilobytes per second\n\tread from the disk (KB_read/s) and and written to the disk (KB_written/s ...
Nagios:安装nrpe
下载安装12345wget http://heanet.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gztar -zxvf nrpe-2.15.tar.gzcd nrpe-2.15./configuremake all
安装check_nrpe这个插件 ,之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的
1make install-plugin
安装deamon
1make install-daemon
安装配置文件
12make install-daemon-config ls /usr/local/nagios/
安装xinetd脚本
1make install-xinetd
配置修改 /etc/xinetd.d/nrpe
12345678910111213141516# default: on# description: NRPE (Nagios Remote Plugin Executor)s ...
Linux:检查服务器性能
uptime命令1uptime
这个命令可以快速查看机器的负载情况。在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。
命令的输出分别表示1分钟、5分钟、15分钟的平均负载情况。通过这三个数据,可以了解服务器负载是在趋于紧张还是趋于缓解。如果1分钟平均负载很高,而15分钟平均负载很低,说明服务器正在命令高负载情况,需要进一步排查CPU资源都消耗在了哪里。反之,如果15分钟平均负载很高,1分钟平均负载较低,则有可能是CPU资源紧张时刻已经过去。
上面例子中的输出,可以看见最近1分钟的平均负载非常高,且远高于最近15分钟负载,因此我们需要继续排查当前系统中有什么进程消耗了大量的资源。可以通过下文将会介绍的vmstat、mpstat等命令进一步排查。
dmesg命令1dmesg
该命令会输出系统日志的最后10行。示例中的输出,可以看见一次内核的oom kill和一次TCP丢包。这些日志可以帮助排查性能问题。千万不要忘了这一步。
vmstat命令1234$ vmstatprocs ----- ...