对于虚拟主机提供商,面临的情况都比较复杂,来租用的客户有不懂的,也有故意来搞破坏的
所以加固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论坛讨论帖都很详细
“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
@久酷:怎么进行限制连接的,教一下 :)