双机热备与集群服务器

我们经常听见客户说他们需要,双机又是需要热备,又是集群的情况。这个时候,可以根据客户不同的业务进行区分。到底客户需要的是什么。比如票务网站,可能客户需要的是高可用的HA,双机互备,或者双机热备以实现零宕机。如果业务数据库很庞大,单台服务器完全不能满足需要,需要性能分布集群。这个时候又需要负载均衡的集群,比如Oracle的RAC类似的东西。这片文章主要是阐释双机热备和集群服务器的区别。

先上两个图:

如上图是一个双机热备的环境。

下图展示一个双节点的RAC集群:

图片都来自互联网。

1. 客户的需求是什么?

双机方式还是多点集群?
或者是目前使用双机、以后可能升级到集群?

在应用双机热备时,有多种应用模式,典型的包括主从、互备、多点集群。

三大类:主从模式是最标准、最简单的双机热备,即是目前通常所说的active/standby方式。它使用两台服务器,一台作为主服务器(Active),运行应用系统来提供服务。另一台作为备机,安装完全一样的应用系统,但处于待机状态(Standby)。当active服务器出现故障的时候,通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。 继续阅读

Freebsd内核的http请求过滤器

Freebsd在2000年的时候就有这个功能,他的作用是前端过滤未完整的http请求,将完整的http请求转发给后端app server(Apache)。

原文:

 accf_http -- buffer incoming connections until a certain complete HTTP
     requests arrive

目的有两个:
1、  也许后面根本没有HTTP请求过来;
2、  请求不完整,属于非法请求;

这样,Apache将派生很多的子进程(假设为prefork模式)去处理这些也许没有用的(可能是SYN FLOOD)连接,最后进程数满,Apache不堪重负。

FreeBSD实现的接收过滤器明确的延迟了accpet()的返回,只有当满足了一定的条件后,比如一个完整的HTTP/1.0或者HTTP /1.1 HEAD或者GET请求完全被FreeBSD内核缓存之后才返回。HEAD和GET之外的其他请求仍然直接有accpet()进程处理。这样后续的读写 socket操作就不需要等待客户端的请求数据。因此,每个Apache就能处理更多的有效连接。也可以使子进程在accpet()返回后立即处理请求, 因为这个HTTP请求已经建立而且可以read(),这样就减少了Apache进程在执行初始的请求解析(解析HTTP请求)前,执行过多的上下文切换 (Context Switch).  FreeBSD通过accf_http和accf_data(kldload accf_http)来实现接收过滤,Apache相关配置语法为AcceptFilter protocol accept_filter,如

AcceptFilter http httpready
AcceptFilter https dataready

httpready接收过滤器(Accept Filter)在内核级别缓冲整个HTTP请求。一旦一个请求体被完整接收,内核将把它发送给服务器。因为HTTPS请求已经被加密了,所以只使用了 accf_data(9)过滤器。 注:FreeBSD 6.1必须载入这个模块才能启动Apache2.2,FreeBSD6.2及后续版本不管是否加载这个模块都可以启动Apache,默认不加载,可以在 /etc/rc.conf中加入:apache22_http_accept_enable=”YES”进行启动时自动加载。

Linux上的默认值是:
AcceptFilter http data
AcceptFilter https data

Linux的TCP_DEFER_ACCEPT并不支持对http请求进行缓冲。除none之外的任何值都将在监听程序上启用 TCP_DEFER_ACCEPT 。参见tcp(7)手册页以获得更多详情。使用none将会为那个协议禁用接收过滤器(accept filter)。这对于像nntp这样需要服务器先发送数据的协议很有用处:
AcceptFilter nttp none

NetScaler似乎也使用了同样的思想,只将真正的HTTP请求数据发送给后端服务器,而之前的3次TCP握手都由NetScaler本身处理,大大提升了服务器的吞吐量。

在FreeBSD中启用此功能的方法:

The accf_http kernel option is also a module that can be enabled at run-
     time via kldload(8) if the	INET option has	been compiled into the kernel.
#kldload accf_http并将/boot/defaults/loader.conf中,以便下次启动自动装载模块

accf_data_load=”YES”
accf_http_load=”YES”   改了这一个就可以启动了。

 

数据中心基础运维服务项目

1、机房现场设备巡检
2、系统远程巡检
3、服务器性能监控
4、主机安全加固
5、漏洞扫描
6、远程数据备份
7、系统安装及调试
8、平台数据发布
9、网站平台系统安全策略

 

机房现场设备巡检内容:

A.服务器故障灯

B.服务器网卡灯

C.服务器硬盘灯

D.网络设备警告灯

提权后获取敏感信息的一些方法

文中的每行为一条命令,文中有的命令可能在你的主机上敲不出来,因为它可能是在其他版本的linux中所使用的命令。

(Linux)的提权是怎么一回事:

 收集 – 枚举,枚举和一些更多的枚举。
 过程 – 通过数据排序,分析和确定优先次序。
 搜索 – 知道搜索什么和在哪里可以找到漏洞代码。
 适应 – 自定义的漏洞,所以它适合。每个系统的工作并不是每一个漏洞“都固定不变”。
 尝试 – 做好准备,试验和错误。

系统类型 继续阅读

警惕linux系统ssh默认端口22的爆破ddos攻击

今天一机房刚刚给一客户安装好操作系统centos6.x 64位系统,默认可能是他们idc机房统一的。结果几分钟服务器远程就登陆卡的要命,带宽耗尽。经过分析发现,这个网络其他服务器遭黑客攻击了,在整个网络上进行ssh爆破。具体体现如下图所示:

1我们可以看见,黑客启动了向121.12.110.96 112.90.22.197服务器的10991端口进行大量的连接。

我在网络流量满载,而且极卡的情况下,查看了进程。如下图:

20140301214837上面那些./*dxd ./*dd结尾的进程全为黑客ddos进程。

希望广大运维人员,及时加固你的linux和ssh,最好把管理端口放在防火墙保护内。

具体加固做如下建议:

1.修改默认ssh端口

2.将ssh端口放在防火墙后,限定特定ip访问

3.关闭远程root,设置PermitRootLogin no,linux默认为yes,允许root登陆很危险,这点Freebsd做的不错。

4.禁止明文密码登陆。PasswordAuthentication no

5.设置ssh为key认证登陆。RSAAuthentication yes

6.限制SSH验证重试次数,MaxAuthTries 1

 

黑客攻击信息,google搜索:

2

 

 

 

河南嫌犯关押10年后因证据不足取保候审–中国特色的法治社会

13年前(地点)一起强奸杀人碎尸案,如今看来已很遥远。但是,这一直是犯罪嫌疑人杨波涛生命中不能承受之重。

杨波涛从被列为犯罪嫌疑人至今已经10年,他在看守所也被关了10年,却一直未能被定罪。其间,他经历了商丘市中院3次判决极刑,河南省高院3次裁定撤销原判、发回重审。最终,商丘市检察院以事实不清、证据不足为由撤销了对他的起诉。

2月11日,商丘市公安局给他送来了《取保候审决定书》,在看守所里度过了10年青春的杨波涛第一次走了出来,等侯在外的父母露出了久违的笑容。记者对杨波涛及其家人进行了深入采访,了解案件背后的故事。

继续阅读

网络安全之网络防火墙

防火墙是建立在内外网络边界上的过滤封锁机制,内部网络被认为是安全和可信的,外部网络则被认为是不安全和不可信赖的。防火墙的作用是防止不希望的、未经授权的通信进出被保护的内部网络,通过边界控制强化内部网络的安全性。防火墙的意义在于极大地降低了整体网络安全建设的管理成本,提高了安全性。防火墙出现之前,整个内部网络的安全性完全依赖于每个主机,但是受到木桶原理的影响,安全风险很高,因为我们不可能严格控制每台主机的安全性设置,用户总可以或多或少地进行个性化的定义。 继续阅读

服务器巡查常用命令

查看一些硬件配置
# uname -a  # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue  # 查看操作系统版本
# cat /proc/cpuinfo  # 查看CPU信息
# hostname  # 查看计算机名
# lspci -tv  # 列出所有PCI设备
# lsusb -tv  # 列出所有USB设备
# lsmod  # 列出加载的内核模块
# env  # 查看环境变量 继续阅读