Linux · 2010-05-10

加固Linux_apf防火墙+bfd+ddos+chkrootkit

对于虚拟主机提供商,面临的情况都比较复杂,来租用的客户有不懂的,也有故意来搞破坏的
所以加固linux,是必不可少的一个步骤

lamp应该就已经是比较安全的,类似ssh proftpd wu-ftpd软件都能限制登陆的错误次数,也可以用iptables加以限制数据包的进出
但是更简单的办法,就是安装apf+bfd了
简单的安装方式,可以控制复杂的数据进出流,端口的限制,减轻自己的工作量,当然如果你是脚本高手又有很多的时间,则不在讨论范围之内。

下载apf
wget http://www.rfxnetworks.com/downloads/apf-current.tar.gz

进入安装目录并安装
cd apf-/ && ./install

修改apf配置文件
vi /etc/apf/conf.apf

几个重要参数设置

DEVEL_MODE="x"
x为1 每5分钟会关闭apf以防止误操作导致无法远程控制
x为0 为正常工作模式

INSTALL_PATH="/etc/apf"
定义安装目录,可以更改,但是不推荐

DLIST_DSHIELD="1"
改为1,此动作将从spamhausv收集恶意的IP地址加以屏蔽

IG_TCP_CPORTS="20,21,80,22,2222,6000_7000"
定义哪些TCP数据包允许从某些端口流入

EGF="1" #开启出站过滤

EG_TCP_CPORTS="21,25,80,443,43"
出口过滤

DLIST_PHP="1" #开启防止spam的IP
DLIST_SPAMHAUS="1" 
DLIST_DSHIELD="1"
DLIST_RESERVED="1"

apf -s
启动APF防火墙

wget http://www.r-fx.ca/downloads/bfd-current.tar.gz 
下载BFD

tar zxvf bfd-current.tar.gz 
cd bfd-/ && ./install.sh
解压并安装

vi /usr/local/bfd/conf.bfd
更改BFD配置文件

EMAIL_ALERTS="0"
改为EMAIL_ALERTS="1"
发出邮件提醒

EMAIL_ADDRESS="root"
将root改为自己的邮件地址

vi /usr/local/bfd/ignore.hosts
填入可信任的IP

bfd -s
运行bfd后,有状况将会发邮件提醒

wget http://www.inetbase.com/scripts/ddos/install.sh
下载DDoS deflate进行小规模的DDOS保护

bash install.sh
安装DDoS deflate

vi /usr/local/ddos/ddos.conf
更改配置文件

FREQ=1 #分钟
NO_OF_CONNECTIONS=150 #连接大于等于150个将被屏蔽
APF_BAN=1 #有装APF就用APF屏蔽,如果为0就直接调用iptables
EMAIL_TO="root" # email给自己如果有状况的话
BAN_PERIOD=600 #屏蔽多少秒

直接运行ddos可得到当前apache连接的数量
DDOS deflate网站

wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
下载chkrootkit

tar zxvf chkrootkit.tar.gz
解开压缩包

cd chkrootkit-/ && make sense
进入chkrootkit并编译

./chkrootkit |grep INFECTED
如果有东西,那就不太妙了 :(

这篇文章DirectAdmin论坛讨论帖都很详细