如何最大程度保证服务器安全(二)
>首页 -> 社会专题 -> 硬件网络 2010-07-08 来源: 作者: 【】 浏览:3013

在编译Nginx服务器时,使用下面的命令查看哪些模块应该启用,哪些模块应该禁用:

# ./configure --help | less

禁用你不需要的Nginx模块。

修改Nginx版本头信息(可选),编辑src/http/ngx_http_header_filter_module.c:

# vi +48 src/http/ngx_http_header_filter_module.c

找到下面两行:

static char ngx_http_server_string[] = "Server: nginx" CRLF;

static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

将其修改为:

static char ngx_http_server_string[] = "Server: Ninja Web Server" CRLF;

static char ngx_http_server_full_string[] = "Server: Ninja Web Server" CRLF;

保存并关闭文件。现在可以开始编译服务器了,将下面的配置代码添加到nginx.conf中,禁止在所有自动产生的错误页面中显示Nginx版本号:

server_tokens off

5、使用mod_security(仅适用于后端Apache服务器)

Mod_security为Apache提供了一个应用程序级防火墙,为所有后端Apache Web服务器安装mod_security模块,可以阻止许多注入攻击。

6、配置SELinux策略加固Nginx

默认情况下,SELinux没有保护Nginx Web服务器,可以手动配置进行保护,首先安装SELinux编译时需要的支持包:

# yum -y install selinux-policy-targeted selinux-policy-devel

从项目主页(http://sourceforge.net/projects/selinuxnginx/)下载SELinux策略:

# cd /opt

# wget 'http://downloads.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.

gz?use_mirror=nchc'

解压:

# tar -zxvf se-ngix_1_0_10.tar.gz

编译:

# cd se-ngix_1_0_10/nginx

# make

输出示例:

Compiling targeted nginx module

/usr/bin/checkmodule:  loading policy configuration from tmp/nginx.tmp

/usr/bin/checkmodule:  policy configuration loaded

/usr/bin/checkmodule:  writing binary representation (version 6) to tmp/nginx.mod

Creating targeted nginx.pp policy package

rm tmp/nginx.mod.fc tmp/nginx.mod

安装生成的nginx.pp SELinux模块:

# /usr/sbin/semodule -i nginx.pp

7、通过iptables防火墙设置限制

下面的防火墙脚本可以阻止一切请求,只允许:

◆ 入站HTTP请求(TCP 80端口)

◆ 入站ICMP ping请求

◆ 出站NTP请求(端口123)

◆ 出站SMTP请求(TCP端口25)

#!/bin/bash

IPT="/sbin/iptables"

#### IPS ######

# 获得服务器公共IP

SERVER_IP=$(ifconfig eth0 | grep 'inet addr:' | awk -F'inet addr:' '{ print $2}' | awk '{ print $1}')

LB1_IP="204.54.1.1"

LB2_IP="204.54.1.2"

# 实现某些智能逻辑,以便我们可以在LB2上使用damm脚本

OTHER_LB=""

SERVER_IP=""

[[ "$SERVER_IP" == "$LB1_IP" ]] && OTHER_LB="$LB2_IP" || OTHER_LB="$LB1_IP"

[[ "$OTHER_LB" == "$LB2_IP" ]] && OPP_LB="$LB1_IP" || OPP_LB="$LB2_IP"

### IPs ###

PUB_SSH_ONLY="122.xx.yy.zz/29" #### 文件 #####

BLOCKED_IP_TDB=/root/.fw/blocked.ip.txt

SPOOFIP="127.0.0.0/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 169.254.0.0/16 0.0.0.0/8 240.0.0.0/4 255.255.255.255/32 168.254.0.0/16 224.0.0.0/4 240.0.0.0/5 248.0.0.0/5 192.0.2.0/24"

BADIPS=$( [[ -f ${BLOCKED_IP_TDB} ]] && egrep -v "^#|^$" ${BLOCKED_IP_TDB})

### 接口 ###

PUB_IF="eth0"   # public interface

LO_IF="lo"      # loopback

VPN_IF="eth1"   # vpn / private net

### 启动防火墙 ###

echo "Setting LB1 $(hostname) Firewall..."

# 删除和关闭一切

$IPT -P INPUT DROP

$IPT -P OUTPUT DROP

$IPT -P FORWARD DROP

# 不受限制的lo访问

$IPT -A INPUT -i ${LO_IF} -j ACCEPT

$IPT -A OUTPUT -o ${LO_IF} -j ACCEPT

# 不受限制的vpn/pnet访问

$IPT -A INPUT -i ${VPN_IF} -j ACCEPT

$IPT -A OUTPUT -o ${VPN_IF} -j ACCEPT

# 删除sync

$IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -j DROP

# 删除碎片

$IPT -A INPUT -i ${PUB_IF} -f -j DROP

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL ALL -j DROP

# 删除空包

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " NULL Packets "

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -j DROP

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# 删除XMAS

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix " XMAS Packets "

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

您看到此篇文章时的感受是:
Tags: 责任编辑:佚名
免责申明: 除原创及很少部分因网文图片遗失而补存外,本站不存储任何有版权的内容。你看到的文章和信息及网址索引均由机器采集自互联网,由于时间不同,内容可能完全不同,请勿拿本网内容及网址索引用于交易及作为事实依据,仅限参考,不会自行判断者请勿接受本站信息,本网转载,并不意味着赞同其观点或证实其内容的真实性.如涉及版权等问题,请立即联系管理员,我们会予以更改或删除,保证您的权利.对使用本网站信息和服务所引起的后果,本网站不作任何承诺.
首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论:0条】 【关闭】 【返回顶部
更多
上一篇实例讲解怎样保障虚拟财富安全 下一篇如何缩短Win7的启动时间
密码: (新用户注册)

最新文章

图片主题

热门文章

推荐文章

相关文章

便民服务

手机扫描

空间赞助

快速互动

论坛互动
讨论留言

有事联系

有哪个那个什么的,赶紧点这里给DOVE发消息

统计联系

MAIL:gnlt@Dovechina.com
正在线上:

版权与建议

任何你想说的