使用Linux系统搭建站点,相对安全性各方面都比较高,但Linux命令操作给新手站长用户有带来了很多不便,使用Linux系统安装Discuz x2的时候,我们应该注意那些问题,才能让站点更安全,运行速度更快呢?

一、Linux系统安装

1、软件包选择:全不选,安装最小化的系统,不安装图形界面

2、root密码:必须超过8位,并且有符号和字母数字。

3、精简服务:关掉以下服务项:kudzu cpuspeed isdn portmap nfslock rpcidmapd rpcgssd bluetooth netfs pcscd apmd hidd autofs hplip cups gpm xfs avahi-daemon yum-updatesd firstboot haldaemon

4、数据分区/home或/data应使用nodev,nosetuid,nosetgid 挂载

5、所有服务的启动脚本应为root权限,并且为755属性

6、web服务器只开放80与22端口

7、数据库服务器只开放3306与22端口

8、除80,443和22,udp161(snmp),5666(nrpe)外,不允许其他服务LISTEN外网IP,161和5666端口必须限制IP

9、如无必要,禁止开启FTP服务,FTP密码传输为明文,容易被监听。

10、禁止使用root权限运行任何服务

11、设置内核参数net.ipv4.tcp_syncookies = 1 打开syncookie支持,防止普通级别的synflood

12、设置内核参数net.ipv4.conf.all.log_martians = 1 开启arp地址变更的记录功能,以便发现arp spoof攻击

二、Linux系统环境配置

1、必须设置的 php.ini 参数

1
2
3
4
5
6
7
disable_functions= passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status
,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen
register_globals = Off
cgi.fix_pathinfo=0
magic_quotes_gpc = On
allow_url_include = Off
expose_php = Off

2、MYSQL禁止绑定外网地址,单机只允许绑定127.0.0.1,多台服务器绑定内网IP

3、php-fpm方式工作时,必须为每个站点设置一个独立的池,用不同的用户来运行

4、每个服务用独立的用户执行,比如:
WEB服务运行帐户为www
MySQL服务运行帐户为mysql
Memcached用户为memcache
Redis运行帐户为redis

三、Linux系统Discuz! X2站点安全

1、禁止长期放置phpinfo等探针,phpmyadmin等管理程序,需要的时候放置,用完后移走到非站点目录。

2、禁止在在运行的站点内放置测试程序,备份目录如bak,old文件夹一律移走到非站点目录。

3、禁止放置install文件夹,以及upgrade xconvert 相关升级和转换文件。

4、禁止目录下出现编辑器编辑后自动生成的备份文件,比如使用vim后留下的.swp ,Editplus留下的.bak文件。

5、打包站点得来的zip,tar.gz,tar文件,一律不能放到站点目录下。

6、除了以下目录外,其他目录设置成root权限,禁止其他用户组修改。目录是:config/、data/、uc_client/data/、uc_server/data/

7、设置禁止访问config/、data/、uc_client/data/、uc_server/data/下的php文件。

现在你的Discuz x2的站点就可以放心的在Linux系统下稳定、安全、高速的运行了。