免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1567 | 回复: 0
打印 上一主题 下一主题

(转载)构建基于OPENBSD 4.2 AMD64 stable的主动防火墙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-07 16:34 |只看该作者 |倒序浏览
Buliding Escorting Firewall with OpenBSD4.2 AMD64 stable&Snort
第一篇――安装篇
这篇文章面对的对象是没有太多基础的朋友们,所以内容尽量详细,希望能让不怎么会用
OpenBSD 的朋友入门。
阅读指南:所有需要手工录入的部分都用加阴影的字符表示,需要特别注意的地方以红色字
符加阴影表示
一、主要安装组件:
OpenBSD 4.2 AMD64
Mysql
PHP 5
Snort 2.6.
Spoink-v1.0(snort日志>pf的工具,插件)
Oinkmaster(snort 规则升级工具)
Snort2c(snort 日志>pf 的工具,外部程序)
BASE(类似于acid 的snort 记录管理工具)
PFW(基于web 的pf 规则定制界面)
二、软件安装
1、OpenBSD安装(省略)
不会安装系统的搜以前的文章,回头有时间一定写一个普及版的安装教程,注意:4.2版本的openbsd编译时
需要的很多的库文件都在X*.tgz里面,安装的时候最好把所有的组件都装上,xfont42不需要,如果安装系统的
时候没有安装,进入系统以后
tar xzvpf /你的包的位置/X*.tgz -C /
一定要加上p参数来保证权限
2、OpenBSD升级
1)解压src、sys和ports包
tar xzvf /你的包的位置/src.tar.gz -C /usr/src/
tar xzvf /你的包的位置/sysar.gz -C /usr/src/
tar xzvf /你的包的位置/ports.tar.gz -C /usr/
2)加速原代码下载
vi /etc/mk.conf
加入如下代码
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/OpenBSD/distfiles/ \
1
ftp://ftp.openbsd.org.tw/pub/OpenBSD/distfiles/
#FETCH_CMD=/usr/local/bin/wget
其中FETCH_CMD前面的井号安装完wget后再去掉
3)安装wget
cd /usr/ports
make search key=wget
cd net/wget
make install
启用wget作为默认下载工具
vi /etc/mk.conf
将”#FETCH_CMD=/usr/local/bin/wget”前的井号删除
如果安装文件时提示文件校验失败的话,输入
make checksum REFETCH=true
来重新下载源码包
4)安装cvsync
因为cvsup不支持amd64,不喜欢cvs的就用这个代替吧
cd /usr/ports
make search key=cvsync
cd net/cvsync &&make install
5)使用cvsync升级src和ports
mkdir /usr/cvs
vi /etc/cvsync_conf
加入如下代码:
config {
hostname cvsync.openbsd.org.tw
# If your network link is a T1 or faster, comment out the following line.
compress
collection {
name openbsd release rcs
prefix /usr/cvs
umask 002
}
}
cvsync使用
cvsync -c /etc/cvsync_conf
然后开始升级同步你的代码树
cvsync提示完成以后,输入
2
cd /usr
cvs -d /usr/cvs checkout -rOPENBSD_4_2 src ports
来升级src和ports
6)stable系统
A升级新内核
cd /usr/src/sys/arch/amd64/conf
/usr/sbin/config GENERIC
cd /usr/src/sys/arch/amd64/compile/GENERIC
make clean && make depend && make&&make install&&reboot
B升级binaries
重启以后
rm -rf /usr/obj/*
cd /usr/src
make obj
cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
cd /usr/src
make build&& make install
3、安装mysql
cd /usr/ports/databases/mysql
make install
ports默认只安装mysql client,mysql server需要自己手工安装
cd /usr/ports/packages/amd64/all/
pkg_add mysql-server-5.0.45.tgz
如果没有安装p5-DBD-mysql,会提示
Can't find p5-DBD-mysql-3.0008
/usr/sbin/pkg_add: p5-DBD-mysql-3.0008:Fatal error
下面安装p5-DBD-mysql
cd /usr/ports
make search key=p5-DBD-mysql
cd databases/p5-DBD-mysql
make install
安装完毕以后,再安装mysql server
cd /usr/ports/packages/amd64/all/
pkg_add pkg_add mysql-server-5.0.45.tgz
3
安装默认的mysql数据库
/usr/local/bin/mysql_install_db
修改mysql相关配置
vi /etc/sysctl.conf
加入
kern.maxfiles=4096
建议将这个值改大一点,不要超过65535就可以
vi /etc/login.conf
加入
mysql:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
保存退出后运行
cap_mkdb /etc/login.conf
修改rc.local
vi /etc/rc.local
加入
# MySQL startup
if [ -x /usr/local/bin/mysqld_safe ] ; then
su -c mysql root -c '/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
echo -n ' mysql'
fi
保存退出
测试mysql,输入
mysql
如果出现
mysql>
就没有问题了
输入quit退出
现在要为mysql设置密码
/usr/local/bin/mysqld_safe &
/usr/local/bin/mysqladmin -u root password '你的密码’
4、安装php5
cd /usr/ports
make search key=php5
cd www/php5
make install
完成以后只会安装php5-core-5.2.3和php5-extensions-5.2.3其他的需要手工安装
启用php5
/usr/local/sbin/phpxs –s
安装并激活php-mysql、gd、xmlrpc、gmp模块
cd /usr/ports/packages/amd64/all/
4
pkg_add php5-mysql-5.2.3.tgz
/usr/local/sbin/phpxs -a mysql
pkg_add php5-gd-5.2.3-no_x11.tgz
/usr/local/sbin/phpxs -a gd
pkg_add php5-xmlrpc-5.2.3.tgz
/usr/local/sbin/phpxs -a xmlrpc
pkg_add php5-gmp-5.2.3.tgz
/usr/local/sbin/phpxs -a gmp
安装php5-sqlite-5.2.3.tgz,这是因为PFW需要sqlite,如果你不需要PF的web控制的话,这个可
以不装
pkg_add php5-sqlite-5.2.3.tgz
/usr/local/sbin/phpxs -a sqlite
5、安装Snort
Snort是整个安装过程的核心,其中Spoink-v1.0是以输出插件的形式和snort一起编译安装的,
安装里面比较麻烦,而另一个和Spoink功能类似的snort2c要容易安装的多,怕难的朋友可以跳
过Spoink安装。
1) 同时安装snort和Spoink-v1.0
Spoink-v1.0下载地址:
http://spoink.sourceforge.net/#download
安装spoink之前,需要先解压缩snort,snort有很多可选的编译选项
cd /usr/ports/net/snort
make show=FLAVORS
显示postgresql mysql flexresp prelude,如果要看这四个选择的具体说明
vi pkg/DESCR
其中要注意的是下面的几段
postgresql - enable postgresql database logging support
mysql - enable mysql database logging support
flexresp - enable dynamic connection killing support
prelude - enable prelude-ids support
简单翻译一下
postgresql是启用postgresql数据库来记录log
mysql是启用mysql数据库来记录log
flexresp是启用动态杀死连接
prelude是启用prelude-ids(传感器模式)支持
我把后三项都启用了,这里启用带参数的编译有两种方法
○1 env法
env FLAVOR="mysql flexresp prelude" make extract
○2 编辑 Makefile法
vi Makefile
搜索FLAVOR?
原来是
FLAVOR?=
改成
5
FLAVOR?=mysql flexresp prelude
保存退出后,运行
make extract
接下来要修改snort的文件了,先要解压缩spoink-v1.0.tar.gz,我把下载的spoink-v1.0.tar.gz放
在了home里面
cd ~
tar xzvf spoink-v1.0.tar.gz
解压缩以后出现spoink-1.0
cd spoink-1.0
cp sp* /usr/ports/net/snort/w-snort-2.6.0.2p1-mysql-flexresp-prelude/snort-2.6.0.2/src/output-plugins/
接下来修改snort的代码来支持spoink,需要修改plugbase.c、Makefile.am和Makefile.in
A修改src/plugbase.c
cd /usr/ports/net/snort/w-snort-2.6.0.2p1-mysql-flexresp-prelude/snort-2.6.0.2/
vi src/plugbase.c
在找到void InitOutputPlugins()部分
原来是
AlertSyslogSetup();
LogTcpdumpSetup();
DatabaseSetup();
AlertFastSetup();
AlertFullSetup();
加入AlertPfSetup();
变成
AlertSyslogSetup();
LogTcpdumpSetup();
DatabaseSetup();
AlertFastSetup();
AlertFullSetup();
AlertPfSetup();
找到/* built-in output plugins */部分
原来是
#include "output-plugins/spo_alert_syslog.h"
#include "output-plugins/spo_log_tcpdump.h"
#include "output-plugins/spo_database.h"
#include "output-plugins/spo_alert_fast.h"
#include "output-plugins/spo_alert_full.h"
#include "output-plugins/spo_alert_unixsock.h"
#include "output-plugins/spo_csv.h"
#include "output-plugins/spo_unified.h"
#include "output-plugins/spo_log_null.h"
#include "output-plugins/spo_log_ascii.h"
加入#include "output-plugins/spo_pf.h"
变成
/* built-in output plugins */
#include "output-plugins/spo_alert_syslog.h"
6
#include "output-plugins/spo_log_tcpdump.h"
#include "output-plugins/spo_database.h"
#include "output-plugins/spo_alert_fast.h"
#include "output-plugins/spo_alert_full.h"
#include "output-plugins/spo_alert_unixsock.h"
#include "output-plugins/spo_csv.h"
#include "output-plugins/spo_unified.h"
#include "output-plugins/spo_log_null.h"
#include "output-plugins/spo_log_ascii.h"
#include "output-plugins/spo_pf.h"
保存退出
B修改src/output-plugins/Makefile.am
vi src/output-plugins/Makefile.am
原来是
libspo_a_SOURCES = spo_alert_fast.c spo_alert_fast.h \
spo_alert_full.c spo_alert_full.h \
spo_alert_syslog.c spo_alert_syslog.h spo_alert_unixsock.c \
spo_alert_unixsock.h spo_csv.c spo_csv.h spo_database.c spo_database.h
\
spo_log_null.c spo_log_null.h spo_log_tcpdump.c \
spo_log_tcpdump.h spo_unified.c spo_unified.h spo_log_ascii.c
spo_log_ascii.h \
spo_alert_sf_socket.h spo_alert_sf_socket.c spo_alert_prelude.c
spo_alert_prelude.h
加入红色部分
\(这个是在原来最后一句后边加的)
spo_pf.h spo_pf.c
变成
libspo_a_SOURCES = spo_alert_fast.c spo_alert_fast.h \
spo_alert_full.c spo_alert_full.h \
spo_alert_syslog.c spo_alert_syslog.h spo_alert_unixsock.c \
spo_alert_unixsock.h spo_csv.c spo_csv.h spo_database.c spo_database.h
\
spo_log_null.c spo_log_null.h spo_log_tcpdump.c \
spo_log_tcpdump.h spo_unified.c spo_unified.h spo_log_ascii.c
spo_log_ascii.h \
spo_alert_sf_socket.h spo_alert_sf_socket.c spo_alert_prelude.c
spo_alert_prelude.h \
spo_pf.h spo_pf.c
存盘退出
C修改src/output-plugins/Makefile.in
vi src/output-plugins/Makefile.in
找到
7
libspo_a_LIBADD =
am_libspo_a_OBJECTS = spo_alert_fast.$(OBJEXT) \
spo_alert_full.$(OBJEXT) spo_alert_syslog.$(OBJEXT) \
spo_alert_unixsock.$(OBJEXT) spo_csv.$(OBJEXT) \
spo_database.$(OBJEXT) spo_log_null.$(OBJEXT) \
spo_log_tcpdump.$(OBJEXT) spo_unified.$(OBJEXT) \
spo_log_ascii.$(OBJEXT) spo_alert_sf_socket.$(OBJEXT) \
spo_alert_prelude.$(OBJEXT)
加入红色部分
\
spo_pf.$(OBJEXT)
变成
am_libspo_a_OBJECTS = spo_alert_fast.$(OBJEXT) \
spo_alert_full.$(OBJEXT) spo_alert_syslog.$(OBJEXT) \
spo_alert_unixsock.$(OBJEXT) spo_csv.$(OBJEXT) \
spo_database.$(OBJEXT) spo_log_null.$(OBJEXT) \
spo_log_tcpdump.$(OBJEXT) spo_unified.$(OBJEXT) \
spo_log_ascii.$(OBJEXT) spo_alert_sf_socket.$(OBJEXT) \
spo_alert_prelude.$(OBJEXT) \
spo_pf.$(OBJEXT)
找到
libspo_a_SOURCES = spo_alert_fast.c spo_alert_fast.h \
spo_alert_full.c spo_alert_full.h \
spo_alert_syslog.c spo_alert_syslog.h spo_alert_unixsock.c \
spo_alert_unixsock.h spo_csv.c spo_csv.h spo_database.c spo_database.h
\
spo_log_null.c spo_log_null.h spo_log_tcpdump.c \
spo_log_tcpdump.h spo_unified.c spo_unified.h spo_log_ascii.c
spo_log_ascii.h \
spo_alert_sf_socket.h spo_alert_sf_socket.c spo_alert_prelude.c
spo_alert_prelude.h
加入红色部分
\
spo_pf.h spo_pf.c
变成
libspo_a_SOURCES = spo_alert_fast.c spo_alert_fast.h \
spo_alert_full.c spo_alert_full.h \
spo_alert_syslog.c spo_alert_syslog.h spo_alert_unixsock.c \
spo_alert_unixsock.h spo_csv.c spo_csv.h spo_database.c spo_database.h
\
spo_log_null.c spo_log_null.h spo_log_tcpdump.c \
spo_log_tcpdump.h spo_unified.c spo_unified.h spo_log_ascii.c
spo_log_ascii.h \
spo_alert_sf_socket.h spo_alert_sf_socket.c spo_alert_prelude.c
spo_alert_prelude.h \
spo_pf.h spo_pf.c
存盘退出
2) 只安装带参数的snort
只安装snort的话,就简单很多
8
env FLAVOR="mysql flexresp prelude" make install
或者修改了Makefile以后直接make install,
3) 不过现在安装的话会提示缺少pcre-7.1、libdnet-1.10p2、
prelude-libprelude-0.9.14
A安装pcre-7.1
cd /usr/ports
make search key=pcre-7.1
cd devel/pcre
make install
B安装libdnet-1.10p2
cd /usr/ports
make search key=libdnet-1.10p2
cd net/libdnet
make install
C安装prelude-libprelude-0.9.14
cd /usr/ports
make search key= prelude-libprelude-0.9.14
cd security/prelude/libprelude
make install
4)安装完毕以后,就可以安装snort了
cd /usr/ports/net/snort/
make install
安装完以后,可以输入
snort –dev
测试,如果一切正常的话,能看到很多的数据包里面的能容,那就恭喜你,snort已经安装好了
5)配置snort
安装完snort以后,虽然snort可以启动,但是很多功能都不能用,需要修改snort的配置文
件,snort的配置文件是/etc/snort/snort.conf,在修改这个文件之前,我们要为snort增加一个
mysql的数据库来保存log日志
9
A操作mysql数据库
这里需要你注意的是不要忘记了刚刚安装mysql是设置的密码,安装完snort以后不要做
make clean,因为还需要一个源码中的文件来创建snort的log数据库,如果你做了的话,或者是
用pkg安装的话,也没有关系,重新下载一个snort的源码,解压缩就可以了,这个创建数据库用
的文件就是源码下schemas/create_mysql
创建snort数据库和用户
mysql -u root –p
出现Enter password:后数据你设置的mysql密码,这里建议你的是设置两个snort数据库,一个
用来存放日志,另一个用来存放重要信息的备份,出现
mysql>
后输入sql命令
create database snort_log;
grant CREATE, INSERT, SELECT, DELETE, update on snort_log.* to
[email=snort_log@localhost]snort_log@localhost[/email]
identified by "
你的密码";
create database snort_bak;
grant CREATE, INSERT, SELECT, DELETE, update on snort_bak.* to
[email=snort_bak@localhost]snort_bak@localhost[/email]
identified by "
你的密码";
flush privileges;
exit
B导入mysql数据表
cd /usr/ports/net/snort/w-snort-2.6.0.2p1-mysql-flexresp-prelude/snort-2.6.0.2/schemas(或者是到你的
create_mysql所在的位置)
mysql -u snort_log -p persist
block in quick from  to any
保存退出以后要检测、加载PF 新规则,输入
pfctl -Nf /etc/pf.conf
检测规则,如果没有提示错误的话,输入
pfctl -f /etc/pf.conf
加载新规则
G测试snort+PF的配置
输入
snort -c /etc/snort/snort.conf -u _snort -g _snort –i 外网网卡名称 -l /var/snort/log
不知道你的网卡的话,输入ifconfig –a看一下输出,不提示错误的话就说明没有问题了,可以使用
snort -c /etc/snort/snort.conf -u _snort -g _snort -l /var/snort/log -D &
让snort后台运行,返回的是一个snort的进程号,如果想让snort在系统随启动的话,需要和mysql一
样编辑rc.local
vi /etc/rc.local
加入
13
if [ -x /usr/local/bin/snort ] ; then
/usr/local/bin/snort -c /etc/snort/snort.conf -u _snort -g _snort -t /var/snort –i 外网网卡名称-l /var/snort/log -D &
echo -n ' snort \n'
fi
H Snort2c+PF的实现
Snort2c是功能和Spoink一样的程序,安装简单,使用方便,不足之处就是受保护主机不能用CIDR格
式表示
Snort2c-v0.2下载地址:http://snort2c.sourceforge.net/
○1 安装,我把我下载的snort2c-0.2.tar.gz放在了home里面
cd ~
tar xzvf snort2c-0.2.tar.gz
cd snort2c-0.2
make
make install
snort2c安装完以后会有两个程序Snort2c和mons2c。
○2 Snort2c用来监控snort的报警文件中攻击受保护主机的,和Oinkmaster
一样需要指定一个受保护主机列表,我是建立在/etc/snort下面,和
Oinkmaste的wl.txt放在一起,名称是snort2c_ip
vi /etc/snort/snort2c_ip
输入几个收保护的主机ip每行一个,不能加子网掩码,我输入的是
10.24.1.2
10.25.1.3
输完以后保存退出,和Oinkmaste一样需要在PF中加入table
vi /etc/pf.conf
加入
table  persist
block in quick from  to any
保存退出后,需要更新一下PF规则,输入
pfctl -Nf /etc/pf.conf
检测规则,如果没有提示错误的话,输入
pfctl -f /etc/pf.conf
加载新规则
运行snort2c的命令是
snort2c -w 你的受保护主机ip 表位置
14
○3 mons2c是用来管理攻击源ip的
显示被屏蔽的ip
mons2c –l
清空被屏蔽的ip
mons2c –f
删除被屏蔽的ip
mons2c -d 要删除的ip
○4 如果想让snort2c在系统随启动的话,需要编辑rc.local
vi /etc/rc.local
加入
if [ -x /usr/local/bin/snort ] ; then
/usr/local/sbin/snort2c –w 你的受保护主机ip表位置 -s
echo -n ' snort2c \n'
fi
三 WEB界面安装
安装WEB 界面需要apache(系统已经默认安装)、BASE 和PFW。
BASE 1.3.9 下载地址
http://sourceforge.net/projects/secureideas
PFW-0.7.8.tgz 下载地址
http://www.allard.nu/pfw/download/pfw-0.7.8.tgz
1、apache设置
OpenBSD 中apache 是默认安装的,而默认情况下apache 是没有运行,所以我们要让apache
运行起来。WEB 服务器有两个端口没有加密的80 端口和加密的443 端口。80 端口传输的是明
文,安全性比较低,所以不推荐作为管理的WEB 界面上使用,而443 端口是经过证书加密的,
安全性能要好很多,OpenBSD 已经默认安装了ssl,需要我们生成一个证书来加密WEB 通信。
1)生成证书
/usr/sbin/openssl genrsa -out /etc/ssl/private/server.key 1024
/usr/sbin/openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/private/server.csr
需要填写一些信息
15
Country Name (2 letter code) []:(国家代码中国是CN)
State or Province Name (full name) []:(省的全称)
Locality Name (eg, city) []:(所在城市名)
Organization Name (eg, company) []:(组织名称)
Organizational Unit Name (eg, section) []:(部门名称)
Common Name (eg, fully qualified host name) []:(主机名)
Email Address []:(邮箱地址)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:(要求密码)
An optional company name []:(任意公司名)
2)安装证书,设置证书有效期为1 年(365 天)
/usr/sbin/openssl x509 -req -days 365 -in /etc/ssl/private/server.csr -signkey /etc/ssl/private/server.key
-out /etc/ssl/server.crt
3)修改apache配置
apache的配置文件是/var/www/conf/httpd.conf
vi /var/www/conf/httpd.conf
搜索DirectoryIndex,加入index.php,变成
DirectoryIndex index.html index.php
保存退出
4)启用apache
证书安装完毕以后,就可以启用带有ssl支持的apache了,首先要修改apache的运行参数
vi /etc/rc.conf
搜索http,并修改为
httpd_flags="-uDSSL"
保存后退出。其中DSSL是启用ssl加密支持-u是禁用apache的chroot功能,禁用是因为要让PFW
能修改/etc/pf.conf文件,在chroot模式这是不能实现的
现在启用apache,输入
apachectl start
如果提示apache已经启动,现在你在IE里面输入主机ip就可以看到欢迎界面
5)测试apache php mysql的环境
apache默认的web目录是/var/www/htdocs,里面的文件都不需要,我们先把里面的文件删除
16
rm -rf /var/www/htdocs/*
建立一个phpinfo文件
vi /var/www/htdocs/phpinfo.php
输入
保存退出后,在IE中输入
https://主机ip/phpinfo.php
来测试apache的加密传输,查看apache支持情况,如果显示正确的话,就可以进行下面的配置

2、BASE设置
BASE需要运行除了需要php外,还需要pear、Image_Color、Image_Canvas-alpha、
Image_Graph-alpha和adodb库支持。其中adodb是必须的,如果你不需要BASE输出图形表的话,
前面四个不用安装
1)安装pear图形库
cd /usr/ports/
make search key=pear |grep Path
cd www/pear
make install
会提示partial-pear-1.5.0p1失败,需要删除partial-pear-1.5.0p1
pkg_delete partial-pear-1.5.0p1
然后再输入
make install
安装完成以后,就需要安装剩下的三个图形库
pear install Image_Color
pear install Image_Canvas-alpha
pear install Image_Graph-alpha
2)安装adodb库
adodb502a.tgz 下载地址
http://adodb.sourceforge.net/#download
我把下载好的adodb502a.tgz放在home里面,现在要文件解压缩到apache目录下
cd ~
tar xzvf adodb502a.tgz -C /var/www/
cd /var/www/
mv adodb5 adodb
17
3)开始安装BASE
A解压BASE并修改权限
我把下载的BASE放在了home里面,下面要把BASE解压缩到/var/www/htdocs里面并修改权限
cd ~
tar xzvf base-1.3.9.tar.gz -C /var/www/htdocs/
cd /var/www/htdocs/
mv base-1.3.9 base
chown -R www *
chmod -R 755 *
B通过WEB安装BASE
下面就可以设置BASE了
A在IE中输入
https://你的主机ip/base/
如果显示的页面中出现
就可以继续设置,不是的话就需要按上一步配置权限
点击
选择语言为中文
输入adodb的位置为,注意最后不带”/”
/var/www/adodb
变成
然后点击提交查询内容
B在setp2 的界面里面
数据库默认mysql不用改
Database Name:snort_log
Database Host:127.0.0.1
Database Port:留空
Database User Name: snort_log
Database Password:你设置的密码
18
Use Archive Database:前面点上对号
Archive Database Name:snort_bak
Archive Database Host:127.0.0.1
Archive Database Port: 留空
Archive Database User Name:snort_bak
Archive Database Password:你设置的密码
C在setp3 的界面里面
选中Use Authentication System,并设置管理账号、密码和用户名全称
D在setp4 的界面里面
点击来创建BASE的table,成功的话会出现一些成功的提示
E在setp5 的界面里面
出现登陆界面,输入你设置的用户名和密码就可以进入了,但是第一次登陆以后会提示snort_bak
错误,这是因为BASE没有在snort_bak创建table,这里就需要手工输入
cd /var/www/htdocs/base/sql/
mysql -u snort_bak -p
AllowOverride None
Order allow,deny
Allow from all
保存退出以后,重启apache,输入
apachectl restart
3)修改sudo配置,
PFW可以把WEB编辑的PF规则安装到系统中,所以要有root的权限,输入
visudo
添加
www ALL = NOPASSWD: /var/www/pfw/bin/*
保存退出,现在可以用在IE里面http://主机ip/pfw来进行PF规则配置。
四、优化存储性能
整个系统到这里就可以已经可以正常使用了,但是硬盘的性能会是整个系统的瓶颈,可以用
softupdate来缓解
vi /etc/fstab
加入softdep,我的fstab是
/dev/wd0a / ffs rw,softdep 1 1
/dev/wd0i /home ffs rw,nodev,nosuid,softdep 1 2
/dev/wd0e /tmp ffs rw,nodev,nosuid,softdep 1 2
/dev/wd0g /usr ffs rw,nodev,softdep 1 2
/dev/wd0h /var ffs rw,nodev,nosuid,softdep 1 2
然后输入reboot重启主机,安装过程到此结束!
《安装篇完》
20
21
后记:
终于写完了《构建基于OPENBSD 4.2 AMD64 stable 的主动防火墙》,现在的系统如果你
是学习的话已经足够用了,但是决定不要应用的生产环境,系统还有很大的瓶颈,整个系
统的瓶颈是mysql,因为mysql 执行查询很快,但是执行插入很慢,而snort 的执行方式是
将抓到的文件都插入到mysql 里面,整个系统都在等待mysql 作慢慢的插入工作。如果要应
用与生产环境的话,还要进行优化配置,甚至是分布式部署(还记得snort 的prelude 选择
吗?),这些问题都要等到第二篇――部署篇
作者:尘羽星翔
E-mail:wosl2001@gmail.com



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19351/showart_476709.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP