加固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-<version>/ && ./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-<version>/ && ./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-<version>/ && make sense
- 进入chkrootkit并编译
- ./chkrootkit |grep INFECTED
- 如果有东西,那就不太妙了 :(
- ?>
这篇文章和DirectAdmin论坛讨论帖都很详细
“DEVEL_MODE=”x”
x为0 每5分钟会关闭apf以防止误操作导致无法远程控制
x为1 为正常工作模式”
# !!! Do not leave set to (1) !!!
# When set to enabled; 5 minute cronjob is set to stop the firewall. Set
# this off (0) when firewall is determined to be operating as desired.
DEVEL_MODE=”0″
博主写反了,1 是开启5分钟暂停一次防火墙,0 是禁用这个功能进入正常模式。
多谢纠正,已更改。
我服务器上都没开FTP.SSH端口改过了. 同时连接也进行了限制. HOHO
@久酷:怎么进行限制连接的,教一下 :)