Tag Archives: pfsense

Snort中的rules和emergingthreats的关系

应为pfsense装的是1.20版的,安装snortpackage以后,把你在snort.org注册的会员名和密码输入进去以后还是无法自动下载rules(snort防火墙的规则,仅仅安装snort后没有rules是无法正常做的入侵检测的),后来在snort.org上登录以后手动下载了rules的gz压缩包后放在snort目录下就OK了,然后进入web管理中的”snort”里面就能看到很多rules,例如

根据你的需要选择相对应的rules,然后save就行了。不过再snort.org的网站上看到过说明,如果没有购买snort的相关服务的话,下载的rules就不是最新的。安装过rules后就能自动升级了,不过我第一次自动升级后发现了增加了一些奇怪的rules:

跟从snort.org下载的rules差不多,不过是多了一个emerging-的前缀,很多功能看起来都是一样的,google后发现emergingthreats是一个免费的snort rules合集,不用任何费用就能下载到很多爱好者自己编写的rules,用到你的snort中去。后来我就把所有的非emergingthreats的rules给取消了,之使用ET的rules,效果还不错。

Pfsense软路由定时限制迅雷下载速度

单位的NAT代理服务器原来是用一台FreeBSD,不过后来配置pf很麻烦,并且达不到限制迅雷下载速度的目的,前天装了个Pfsense,使用以后能够限制迅雷等P2P下载软件的速度。不过也不能一直限制速度,如果想要下载电影的话晚上可以开放速度,反正也不会影响其他人。traffic shaper管理里面倒是有个手工更改是否启用的选项,但是每天都要定期点击也不方便,最好能够自动运行。

pfsense有一个cron的package,装了以后就能在webGUI里面直接设置定期启动的任务,我可以制定两个任务,分别是:晚上11开放下载速度;早上8点限制下载速度。但是怎么才能做到使用shell开放或者限制下载?直接调用pfctl的话,不知道配置文件在哪里。pfsense是使用php来管理整个系统的,php的文件在 /usr/local/www目录下面,每个php都引用了guiconfig.inc这个文件,更改配置的代码如下:

require("guiconfig.inc");
if ($_POST['submit']) {
$pconfig = $_POST;
$config['shaper']['enable'] = $_POST['enable'] ? true : false;
write_config();
}

$config[‘shaper’][‘enable’]是用了控制pfsense中的traffic shaper(流量限制)是否启用,如果设定后调用一write_config()就能生效了。我的思路是在/usr/local/www分别建立enable.php和disaple.php两个文件,enable.php的内容如下:

require("guiconfig.inc");

$config['shaper']['enable'] = FALSE;

write_config();

同理可以建立enable.php:

require("guiconfig.inc");

$config['shaper']['enable'] = TRUE;

write_config();

如何在cron里面调用这两个文件又成了问题,用

/usr/local/bin/php -q /usr/local/www/disable.php

的话,会报错,好像是pfsense的auth认证失败,那么我就直接用fetch来

fetch http://username:password@127.0.0.1/disable.php

username和password是你的pfsense的管理员和密码。

我后来有建立了两个sh分别用于开启和关闭,如下图:


在cron里面分别创建两个任务,分别fetch两个文件就OK了。