前面文章里提过open_basedir来保平安,但那个是写在一句里的,对整个服务器而言的设置。 PHP5.3支持对每个虚拟主机设置不同的open_basedir。感觉安全性又高了一层。 这样搞: vim /etc/php5/fpm/php.ini 你机子上的php.ini可能不在这个位置,反正改php.ini就对了。 找到open_basedir这一条,改成下面这种格式: [HOST=www.aaa.com] open_basedir=/usr/share/nginx/html/aaacom/:/tmp/:/proc/ [HOST=/home/www/www.bbb.com] open_basedir=/usr/share/nginx/html/bbbcom:/tmp/:/proc/ 当然,如果你的机器只跑一个网站那也就没必要了。
墙现在是越砌越高了。其实咱倒不是说反对过滤,但是我国的墙水平还是太低,没法精准过滤,走的又是“宁可错杀一千不可放过一个”的路线。经常把人畜无害的也给一起墙了。比如reCaptcha,就是躺墙的典型,非常影响正常使用。 现今有VPS的话,shadowsock是翻墙的好选择。在Debian8的官方源里面就有,不过版本有点老。部署最新版的方法如下:
使用XShell,我们可以通过SSL证书来完成与SSH服务器的认证。这种方式比直接输入密码要安全一些。弄起来也很简单。 1、菜单选择 工具-新建用户密钥生成向导,选择密钥类型。注意DSA只能选1024位及以下,超过1024位的服务器不认。RSA建议2048位。
InnoDB很强大,不过VPS一般内存不大,用这个比较吃内存。如果你不用InnoDB,可以把它禁用。 方法:新建一个文件:/etc/mysql/conf.d/noinno.cnf,内容为: [mysqld] skip-innodb default-storage-engine=MyISAM default-tmp-storage-engine=MyISAM loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 loose-innodb-metrics=0 loose-innodb-ft-default-stopword=0 loose-innodb-ft-inserted=0 loose-innodb-ft-deleted=0 loose-innodb-ft-being-deleted=0 loose-innodb-ft-config=0 loose-innodb-ft-index-cache=0…
nginx和php5-fpm的配置 nginx的配置要和php5-fpm联合起来说。 这俩是什么关系呢?原先在LAMP中,Apache接受客户端的请求,发现是php文件的话,就扔给mod_php来处理。而用了nginx+php5-fpm的话,nginx接受请求,把php文件扔给php5-fpm来处理。 其实,Apache也可以把php扔给php5-fpm,nginx也可以把php扔给Apache的mod_php(很多人这么干),不过我还没看出来这有什么好处。
DPMag.net之前用VPS默认提供的CentOS 6.5+LAMP来搭建,一直稳定运行,加上本站访问量实在有限,似乎也扯不到什么安全性的问题。 但是宅男不折腾折腾是会手痒的。在另一台VPS上,我正在玩一些新潮的东西。系统弄到了Debian 8.0,Apache换成了nginx,MySQL Server也换成了MariaDB,整个是一套非典型LNMP。 LNMP好说,选Debian很多人会嘲笑我。但我有我的理由
6 PHP安全加固 现在你的VPS网站可以跑了,但是访问多了,安全性就得重视起来,我们从apache php mysql三个方面分别加固。 vim /etc/php.ini 打开PHP配置文件,进行一些修改。 先看386行,这一行指定PHP禁用的函数。PHP的功能很强大,但功能强大就意味着安全隐患多。我们跑一般的网站,也用不着这些功能。像下面这样修改:
4、MySQL配置 # service mysqld start <–启动mysql server MySQL安装以后,默认的配置文件my.cnf是没有什么用的。我们需要从/usr/share/mysql/里面复制一个出来代替它。 # cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 在/usr/share/mysql/有5个预设的配置文件。分别适用于各种规模的数据库。在配置文件中,分别指明了适用于多大系统内存的服务器使用。具体来说是这样的:
最近弄了个VPS,基本上没有什么后台可用,纯用SSH登录来管理。之前虽然操作过Linux,但是终究不是实际架站,这一趟的VPS之战着实费了一番工夫。现而今墙越来越高,VPS价格又一路走低,想必VPS会成为更多个人站长的选择。把架站过程整理出来希望对各位有所帮助。 1、连接到VPS 首先进入VM后台,获取几个信息:IP地址、SSH端口、root密码。 有的VPS管理系统可能还提供证书等以保证安全登录,跟着他们的指导做就行,目的就是登录上SSH。 软件工具方面,推荐XShell,对个人用户免费,功能上比putty强大。 填写IP、端口即可,我为了安全起见没有保存用户名和密码,如果对Xshell足够放心也可以保存。