我使用的其中一台服务器托管在 Amazon EC2 云上。每隔几个月,我们似乎就会对这台服务器进行一次 DDOS 攻击。这会令人难以置信地减慢服务器的速度。大约 30 分钟后,有时会重新启动,一切都恢复正常。
Amazon 有安全组和防火墙,但我还应该在 EC2 服务器上安装什么来减轻或防止攻击?
从我学到的类似问题中:
我还缺少什么?我希望了解有关特定工具和配置选项(再次在此处使用 Linux)和/或任何特定于 Amazon EC2 的信息。
ps:关于监视 DDOS 的注释也将受到欢迎 - 也许使用 nagios?;)
在 nagios 中定义和测试新服务时,我一直在重新启动 nagios,然后单击该服务,并尽快重新安排检查,然后等待检查发生。
有没有更有效的方法来做到这一点?我想使用命令行运行该特定检查并获取输出。
我正在尝试在我的 .htaccess 文件中使用 Apache 的 If 指令添加条件语句。
我已经参考了这个页面http://httpd.apache.org/docs/trunk/mod/core.html#if但它没有详细说明/给出很多例子。它给出的两个不完整的例子是:
<如果 %{REQUEST_METHOD} 在 GET,HEAD,OPTIONS>
和
<If "$req{Host} = ''">
所以我尝试将其添加到我的 .htaccess 文件中:
<如果 %{SERVER_PORT} IN GET,HEAD,OPTIONS>
#这里什么都没有
</如果>
但是当我尝试加载页面时,我不断收到错误 500。这是在我的本地安装上,以前运行良好(或者如果我删除了该代码)。我相信我已经AllowOverride All设置了全局,并且 If 指令的上下文应该让它出现在 .htaccess 中(“上下文:服务器配置,虚拟主机,目录,.htaccess”)。
有人能给我一些关于如何正确使用 <If> 指令的例子,或者一些关于为什么它对我不起作用的指导吗?
谢谢!
如果我通过在命令行中正常键入来启动一个进程,例如
wget http://site.com/bigfile.zip
Run Code Online (Sandbox Code Playgroud)
然后决定我想把它移到后台,我知道我可以使用像ctrl+z然后bg 1(或者jobs如果需要的话首先)把它放在后台。
我的问题是是否有一种方法可以将工作从前台直接移动到后台而不停止它 - 就像另一个捷径 ctrl+z。
我也意识到我可以附加&到原始命令的末尾以在后台启动它,但问题在于您何时在前台启动一个进程然后意识到您想将它移到后台。
我有一个 Windows 服务器,它有时会在更新后重新启动到安全模式。我正在解决这个问题,但我真正想知道的是如何检查 Windows 是否在安全模式下运行。
理想情况下,我想将它合并到一个脚本中,该脚本将向我们的 Nagios 框发送带有状态的被动检查。
是否有一些我可以使用的环境变量或某种方式通过命令行获取此信息?
我有两个远程服务器:
服务器 1:Linux 2.6.18-238.12.1.el5PAE i686 / VIM - Vi 改进 - 版本 7.0.237
服务器 2:Linux 2.6.18-338.19.1.el5.lve0.8.36 x86_64 / VIM - Vi IMproved 版本237
当我通过 ssh 进入服务器 2 并使用 vim 编辑一个php或.htaccess文件时,它具有漂亮的颜色突出显示。下面是/etc/vimrc服务器上文件。
当我通过 ssh 进入服务器 1 时,没有显示颜色。我尝试将下面的代码复制到服务器 1 上的 ~/.vimrc 文件中,但颜色语法不起作用。其他功能(如set nocompatible)有效,但颜色无效。
为什么颜色在服务器 1 上不起作用,我该如何测试和修复它?tput colors在两个终端返回8。我试过了:syntax on,:syntax enable但这也无济于事。
------------------------------------------------------------
/etc/vimrc文件内容:
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=utf-8,latin1
endif
set nocompatible " Use …Run Code Online (Sandbox Code Playgroud) Nagios 也非常适合监控服务器。他们的网络界面也不错。但是,我并不热衷于使用标准的 HTTP 身份验证。
有没有办法使用另一种身份验证方法?(我的意思不是说通过 .htaccess 文件中的 IP 地址限制访问)基于表单的登录会很棒,但也许没有这样的事情。我希望你们找到了我没有找到的东西。
你如何设置 PHP 的 CLI 组件的最大执行时间?我有一个进入无限循环的 CLI 脚本,我不确定如何在不重新启动的情况下杀死它。我用quicksilver启动它,所以我不能在命令行按control+c。我尝试运行ps -A(显示所有进程)但 php 没有显示在该列表中,所以它可能自己超时了 - 但是你如何手动设置时间限制?
我试图找到有关我应该在哪里设置max_execution_time设置的信息,我习惯于为使用 apache 运行的 PHP 版本设置它,但我不知道在哪里为/usr/bin.
我确实看到了下面的引用,它似乎是准确的(见下面的截图),但具有无限的执行时间似乎不是一个好主意。
请记住,对于 CLI SAPI,max_execution_time 被硬编码为 0。因此它似乎被 ini_set 或 set_time_limit 更改,但实际上并非如此。我发现这个奇怪决定的唯一参考是在 bugtracker(http://bugs.php.net/37306)和 php.ini(对“max_execution_time”指令的评论)中。(通过http://php.net/manual/en/function.set-time-limit.php)
ini_set('max_execution_time')没有效果。我也尝试了同样的事情并使用set_time_limit(7).

因此,似乎有三种方法可以实现这一目标:
在脚本中:
设置时间限制(10);// 这边走
ini_set('max_execution_time', 10); // 或者这样
或者在调用脚本时:
php -d max_execution_time=5 script.php
要回答我关于 php.ini 文件将从哪里加载的问题,/etc/php.ini如果它存在,那将是从哪里加载。该文件还需要由运行 php 脚本的用户读取,因此如果它是由 root 创建的并且用户无法“读取”它,这意味着 php 也可能无法“读取”它。
但是,似乎任何 max_execution_time 设置/etc/php.ini实际上都不会影响 CLI 脚本 - 即使文件被正确加载(用于phpinfo()查找) - …
我使用这个工具检查了我的服务器 IP:
http://www.mxtoolbox.com/SuperTool.aspx
它出现在 ivmSIP/24 列表中。
我该怎么做才能从这个列表中删除我的 IP?我设置了 SPF 记录以允许此 IP 代表域发送邮件。
我正在尝试使用 dsa 密钥 ssh 到一个盒子。系统会提示我输入密码,但随后默认使用密码身份验证。似乎如果第一次身份验证失败,它就会这样做,但没有提到这一点,而且我已经在许多其他服务器上一次又一次地这样做了 - 现在有了这个新服务器,它刚刚成为一个问题
如何知道服务器支持哪些身份验证方法?