我有一台带有 apache 的服务器,我最近安装了 mod_security2,因为我受到了很多攻击:
我的 apache 版本是 apache v2.2.3,我使用 mod_security2.c
这是错误日志中的条目:
[Wed Mar 24 02:35:41 2010] [error]
[client 88.191.109.38] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:47:31 2010] [error]
[client 202.75.211.90] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:47:49 2010] [error]
[client 95.228.153.177] client sent HTTP/1.1 request without hostname
(see RFC2616 section 14.23): /w00tw00t.at.ISC.SANS.DFind:)
[Wed Mar 24 02:48:03 2010] [error]
[client 88.191.109.38] client sent HTTP/1.1 request …Run Code Online (Sandbox Code Playgroud) 我正在设置服务器,我可以选择安装 qmail 或 postfix。有人可以帮助我做出正确的选择。
我喜欢看到的内容是:
- 性能
- 易于设置
- 安全性
我计划将我的静态文件移动到 Google 的 App Engine。我想知道这是否是一个好主意。
我读过谷歌是否有可能将您的文件缓存在多个位置,在我看来这是一件好事。
使用 GAE 插件在 Eclipse 中设置也应该很容易。
但我仍然对这方面的表现持怀疑态度。App Engine 的设置是否针对提供静态内容进行了优化。现在我有 Nginx 服务器我的静态内容,App Engine 是否会以相同的方式执行。
使用这种方法还有其他的好处或坏处吗?
我有一个在 Amazon EC2 上运行的实例,我将它变成了网络服务器。
现在我一直在看cloudwatch,但我不知道它是否适合这份工作。基本上我想在服务器关闭时得到通知,无论出于何种原因。
也许服务器被黑了,或者服务器因任何原因关闭,我想收到通知。
我启用了 clouwatch,并尝试设置警报,但我只看到诸如网络输入输出或 CPU 使用率以及 d 指标之类的信息。现在我不知道这些是否会奏效。
我正在设置启用 chrooting 的 php-fpm。现在我看到有两种选择,我想知道确切的区别是什么。
设置有:
chroot = /var/www/domains/domain.tld/
; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
chdir = /docroot/
Run Code Online (Sandbox Code Playgroud)
为什么这里有两个不同的位置,以及php允许访问的路径。php网站可以访问/var/www/domains/domain.tld/,还是只能访问docroot目录下的文件。
===
也许对我有一些具体的建议。我想要一个这样的设置:
网络根位置: /var/www/
domain.com/
|---conf/
| |--nginx.conf
| |--php-fpm.conf
|
|---ssl/
|---logs/
|---session/
|---domains/
|---www/
|---app/
|---dev/
Run Code Online (Sandbox Code Playgroud)
现在这里的 php-fpm 设置将是:
chroot = /var/www/domain.com/
chdir = /domains/www
Run Code Online (Sandbox Code Playgroud)
现在这里的主要问题是,位于www子域中的应用程序是否能够访问dev或 中的文件app。甚至位于会话中的文件,即会话保存路径,或其他文件夹,例如 ssl 和日志。
我是一名程序员,对 cron 了解不多,但我想知道这是否可能。
假设我有一个数组[option1, option2, option3]和一个在 NodeJS 中运行的脚本,名为script.js. 我想每天凌晨 1 点运行这个脚本。这个cron命令是:
0 1 * * * node ~/script.js
Run Code Online (Sandbox Code Playgroud)
现在是棘手的部分,我想每天轮换选项,例如,我想在星期一运行node ~/script.js option1,第二天node ~/script.js option2等等。另外,我希望能够在需要时添加/删除选项,但旋转应该保持不变。
这有可能吗?我知道我也可以在节点内执行此操作,但我宁愿从脚本外部执行此操作,并保持脚本原样。
我读到有一个选项可以使用 Gmail 作为您的主要邮件服务器。从某种意义上说,您可以添加 mx 记录等,而不必在自己的服务器上进行。
您认为这是安全方面的推荐设置吗?Gmail 会为您对抗病毒、垃圾邮件和暴力攻击吗?
[更新]
我看到这篇文章受到了一些人的关注。我必须说,在这篇文章之后,我将整个通信系统切换到了谷歌。通信是电子邮件、日历、文档等。我必须说,在我看来,这是我们迈出的最好的一步。
[切换虚拟主机]
我们是一家初创公司,由于配置/价格等原因,我不得不频繁切换虚拟主机和服务器。每次切换我都必须设置所有网站,每次电子邮件地址时,总是丢失另一台服务器上的电子邮件。让您的电子邮件“在云端”。您的电子邮件总是在一个地方,您只需在切换托管服务提供商时设置网站。
[服务器安全]
另一个大问题是安全性。我们不得不转移到一个专用的,具有更大的权力。更大的力量带来了更大的复杂性。我现在必须使用 linux,并构建自己的可靠服务器,对外界有很好的保护。我不得不说我对我们每天收到的攻击数量感到惊讶。作为蛮力黑客,嗅探等。经过几个月的工作,我终于建立了一个有点“安全”的系统。我认为唯一的弱点是电子邮件系统。获得良好的垃圾邮件保护,我不知道还有什么样的风险。现在这已成为过去,因为公司的所有电子邮件都已安全发送并防止垃圾邮件。
[服务器性能]
另一个小好处是电子邮件程序使用的资源。我现在没有在机器上运行任何垃圾邮件保护或防病毒软件,这肯定是一个小好处。
[结论]
最后服务很棒。有很多同步选项,也适用于移动设备。作为一家小公司,这对我们来说很难在我们的主服务器上进行设置,因此让所有这些工作都在云端进行是一件很棒的事情。
我有一个运行 nginx/php-fpm/varnish/wordpress 和 amazon s3 的系统。
现在我在设置系统时查看了很多配置文件,在所有这些文件中我发现了这样的内容:
/* If the request is for pictures, javascript, css, etc */
if (req.url ~ "\.(jpg|jpeg|png|gif|css|js)$") {
/* Remove the cookie and make the request static */
unset req.http.cookie;
return (lookup);
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么要这样做。大多数示例还将 NginX 作为网络服务器运行。现在的问题是,为什么要使用 varnish 缓存来缓存这些静态文件。
对我来说只缓存动态文件更有意义,这样 php-fpm / mysql 就不会受到太多影响。
我是正确的还是我在这里遗漏了什么?
我想根据给出的答案向问题添加一些信息。
如果您有一个动态网站,其中内容实际上发生了很大变化,则chaching 没有意义。但是,例如,如果您将 WordPress 用于静态网站,则可以将其缓存很长时间。
也就是说,对我来说更重要的是静态内容。我在不同的缓存应用程序和网络服务器应用程序上找到了一些测试和基准测试的链接。
http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/
NginX 实际上在获取静态内容方面更快,因此让它通过更有意义。NginX 适用于静态文件。
——
除此之外,大多数时候静态内容甚至不在网络服务器本身中。大多数情况下,这些内容存储在 CDN 上的某个地方,可能是 AWS S3 之类的。我认为清漆缓存是您希望存储静态内容的最后一个地方。
你能依靠 Nginx 作为你唯一的网络服务器吗?我知道在性能方面它运行良好,但它在安全性方面表现如何。我知道 Apache 很稳定并且有 ModSecurity。这不是 Nginx 的情况。
我将使用 Nginx 作为唯一的网络服务器,并且仅用于动态内容。我所有的静态内容都是由 CDN 提供的。
email-server ×2
nginx ×2
security ×2
web-server ×2
amazon-ec2 ×1
apache-2.2 ×1
bind ×1
cdn ×1
chroot ×1
cron ×1
email ×1
gmail ×1
mysql ×1
nameserver ×1
php ×1
php-fpm ×1
postfix ×1
spam ×1
varnish ×1