Wordpress 绝对路径暴露怎么处理?数据库还经常吊链子

2017-07-07 21:43:29 +08:00
 zwillhill

用工具扫了下别人的,输出如下:

<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->

已经检测完毕

然后扫描了下自己的,就密密麻麻出来一堆。看上面的日志应该是通过 nginx 来设置? 网上搜了几个选项似乎没起作用

主机环境:LNMP

另外,主机用的 1g 内存 ecs (最低配),数据库动不动就失联,日志提示内存不足,装了 memcached,innodbbuffer 之前默认是 128,修改成 32 好了几天又不行了——没流量的新站,自己把自己玩挂啦。

xshell 重启数据库还起不来,得重启服务器

3490 次点击
所在节点    问与答
31 条回复
ivmm
2017-07-08 11:37:40 +08:00
@zwillhill 是不是目录都可以查看到服务器的 / 目录? 如果是的话,你需要设置 PHP 的放跨站


@snnn 这不是 LZ 只有 1G 内存么


@zwillhill 提高内存是最好的方法,然后将内容能静态化的全部静态化,不能静态化的就缓存到内存,尽量不要有 SQL 查询,一般首页要做到 0 SQL 查询。 博客这种东西要优化,就是尽量不要有 SQL 查询
snnn
2017-07-08 12:08:07 +08:00
@zwillhill

这是我的 mysql 配置:

[mysql]
default-character-set=utf8

[mysqld]
innodb_buffer_pool_size=256M
max_allowed_packet=16M
skip-name-resolve=true
character-set-server=utf8

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/var/log/mysql/err.log
pid-file=/var/run/mysqld/mysqld.pid

另外,减少最大并发连接数,减少每个 connection 的 buffer size,也能进一步控制内存消耗。

你可以认为总的内存需求大约等于 innodb_buffer_pool_size + per_connection_buffer_size * max_connection_count

千万别网上随便找个 conf 就贴过来,否则就等着内存爆掉吧。要精打细算。
zwillhill
2017-07-08 12:59:50 +08:00
@snnn nginx 和数据库基本都是默认的没动( nginx 复制粘贴运行起来了,数据库倒是啥也没设置)。昨天才装了个 mysqltuner,提示了一些参考数值。看来还是得先优化数据库自身设置。


@ivmm 类似网页右键查看源代码,暴露了 wordpress 的目录结构(不是服务器)——虽然浏览器并不能访问这些目录。刚才网上查了下,nginx 可以限制 user-agent,http 方法行为,猜测你的应该是设置过的,所以扫描器返回 404,我的没设置,所以扫描器可以看到。看来 nginx 也得再加固下。
另外你所说的静态化,昨天也查过,是不是用 wp 插件生成 html 文件?一个网站是企业展示类的并不会频繁更新,html 应该没影响,一个是博客类,首页直接是文章列表——这样的也可以 html 化吗——或者说需要 html 化吗?
ivmm
2017-07-08 17:38:05 +08:00
@zwillhill

我指静态化是,什么小工具这样的东西能不用就不用,尽量用 HTML 代码表示,不要走 PHP 有 SQL 查询

然后将内容缓存到内存,而不是本地磁盘
msg7086
2017-07-09 06:07:06 +08:00
@snnn 连内核的内存管理机制都不知道就敢嘲讽别人的你才是人才。
snnn
2017-07-09 08:28:55 +08:00
@msg7086 哈哈哈哈哈哈哈哈哈哈哈 我真是醉了
小朋友,有空少打打游戏,多读读书。你说的那是 windows 的内存管理方式
snnn
2017-07-09 08:30:48 +08:00
@msg7086 你上网搜搜 committed memory,看哪条结果不是关于 windows 的。
allenhu
2017-07-09 09:24:12 +08:00
目测是被 pingback 攻击了,查查吧
zwillhill
2017-07-09 12:19:39 +08:00
@allenhu 云盾显示没被攻击,不过还是把 pingback 关了。后台装了防护插件,看到 ban 掉不少试图通过不存在的用户名登录的 ip。
msg7086
2017-07-09 15:43:33 +08:00
@snnn 是是是,我们计算机系研究生院太水,让您见笑了。
请您 Block 我的账号,免得看到我们这种小朋友污了您的眼。我也会 Block 您的账号以表敬意。

也千万别访问下面关于 Linux 内核 commit memory 的说明。
https://www.kernel.org/doc/Documentation/vm/overcommit-accounting
snnn
2017-07-09 16:12:29 +08:00
@msg7086 一路走好。我都工作 10 年了,从 mysql 3.23 用到现在,犯不着跟你较劲。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/373824

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX