linux下基于snort的入侵检测系统之建立snort服务器
2009年04月05日 21:40
此次构建大部分基本全部都是参考的 Intrusion Detection with snort(Snort入侵检测使用解决方案)。
我是在系统构建了一部分之后才加入的,因为清明节有3天假期,而老师又不会来上班,所以老师把他做了一部分的内容交给我了,让我做剩下的部分,所以我就把前面我没接触的部分按原教程copy些精华下来就好了。
建立snort服务器
一、linux安装
(1)IP地址 RFC1918私网IP
(2)无防火墙
(3)时区 通用协议调时间(UTC)偏移;系统时钟使用UTC。
(4)账号
(5)软件:窗口;KDE&GNOME;network support; messaging web tools;Authoring and publishing; Uticities (实用工具); Soft Development;
(6)补丁:使用红帽自动更新或http://rhn.redhat.com/errata/rh73-errata.html(适用redhat linux 7.3)当然类似的可以自己找。
(7)Bastille Linux:Bastille Linux是一套可以自动加固Red hat 或Mandrake Linux设备的脚本。Bastille 下载:http://bastille-linux.sourceforge.net
文件权限,账户安全,等……
二、安装Snort服务器组件
建议:安装最新版本;尽量不用RPM。
1.安装openssl
openssl+stunnel 几乎可以对任何类型的tcp会话进行加密,此处加密服务器和传感器之间的会话,控制台和服务器之间的会话加密。
①预编译
./configure -DSSL_FORBID_ENULL 该选项禁止在ssl密码组中出现观空密码。
/usr/local/ssl
libcrypto.a
openssl
libssl.a
②编辑ld.so.conf
emacs /etc/ld.so.conf &
增加 /usr/local/lib
运行ldconfig命令更新新的共享库。
2.安装stunnel
下载:http://www.stunnel.org/download/source.html
(1)安装同探测器
(2)配置 —-我是从这里开始插手的
PEM(Privacy Enhanced Mail)存储stunnel服务器的专用密码。
位置/usr/local/ssl/certs/stunnel.pem
以上位置是书中给的,但在实际中,其位置不是那,通过find命令找到了stunnel.pem在/usr/local/etcs/stunnel/stunnel.pem
注:find用法 find 目录名 -name 文件名
例:find / -name mysql 或者模糊查询 find / -name ‘*mysql*’
①创建新密码:在stunnel源代码目录下,make cert (会将新密码写入stunnel.pem)
但是我在执行make cert 命令的时候却报错了,,说什么具体英文忘记了,翻译成中文差不多就是,开始make,进入某个目录,no target to …,stop,出目录,error 2.
不知道这的错误代码2是什么意思,不过在solaris系统打补丁的过程中,错误代码2的意思就是此补丁已安装的意思~~~~在这,,,好像不是这个意思了。。
②修改stunnel.pem文件的权限,只有root可以访问,否则stunnel不执行。
chmod 600 /usr/local/ssl/certs/stunnel.pem
③列出/etc/services中mysql更新的安全版本。
即在该文件中加入 mysqls 3307/tcp
也不知道这句话是什么意思,也就没敢往里面加,3307应该是个端口,不过MySQL的默认端口是3306,这里来个3307,前面的构建我也没参与,不知道什么意思。。
④启用stunnel
/usr/local/stunnel/sbin/stunnel -d mysqls -r 127.0.0.1:3306
-p /usr/local/ssl/certs/stunnel.pem &
3.安装OpenSSH
(1)ssh,scp,sshd,sftp
sftp-server,ssh-agent,ssh-add,ssh-keygen
(2)安装
tar -xzvf stunnel-5.2pl.tar.gz
cd stunnel-5.2pl
./configure
make
make install
安装的时候却有个报错,,又是郁闷的我不行,差点就放弃了,但是仔细一看,居然是缺少一个zlib文件,然后下载一个http://www.zlib.net/ ,安装上后,再从新安装OpenSSH,顺利通过。看来要对英文也有点耐心啊,不能一看是一大堆英文就放弃,,仔细看看,其实挺简单的。
(3)产生DSA密匙
#ssh-keygen
会要求输入存放key的目录以及确认passphrase(口令)。
(4)运行
/usr/local/sbin/sshd
/usr/local/bin/egd.pl
不知道为什么,找不到egd.pl文件,也就是说第二行命令没法执行。。。
不知道是不是因为前面的原因,,郁闷~~~
4.下载并解压apache
这个可是轻车熟路啊,想当在solaris上装apache的时候可难死我了。
下载地址http://www.apache.org/dyn/closer.cgi/httpd
直接tar -xzf httpd-2.2.11 即可。不必安装,因为后面的MySQL安装时会用到apache的源代码。
5.安装MySQL
下载地址:http://dev.mysql.com/downloads/mysql/5.0.html#source
(1)安装
昨天晚上的时候做到这一步的,不过不知道为什么,总是有些网址,用学校的网死活打不开,比如说csdn,,上边有好多东西想去学学,,可是学校的网无论如何都打不开那玩意~~。再就是这个了,虽然可以打开到这个链接,但是然后选mirror的时候就傻眼了,开了3太电脑去打那网页,就是打不开…没辙,只好回宿舍把source下载下来再拷到学校了。。
我是用U盘从宿舍拷的,然后也不打算用ftp了,直接用u盘去拷到linux上就行,我一边在一旁的笔记本上查找着挂载U盘的命令,一边把u盘插上了,,结果。YY的,居然自己识别U盘了。。什么时候linux这么先进了,,。。
然后拷贝上,
tar -xzf mysql-5.0.77.tar.gz
./configure -with-apache=/usr/local/down/httpd-2.2.11
make
make install
这里安装的时候就用到了./configure -with-apache= 命令。这个就是在安装时需要用到其它软件的源程序。也可以用多个,如:./configure -with-apache=/path/ -with-lib=/path/
这里也可以选用 –prefix=/path/来指定安装目录,,我觉得还是有点必要的,至于为什么,后面就发现了。。
(2)配置
①创建用户组 groupadd mysqlgroup
创建用户 useradd -g mysqlgroup mysqluser
②设置创建的MySQL文件
chown -R root /usr/local/mysql
③为mysqluser用户赋予对数据库的访问权
chown -R mysqluser /usr/local/mysql/var
④为mysqlgroup用户组赋予一定的访问权限
chagrp -R mysqlgroup /usr/local/mysql
⑤启动mysql守护进程
/usr/local/mysql/bin/safe_mysqld &
⑥修改mysql root密码
/usr/local/mysql/bin/mysqladmin -u root secure_password
然后就可以对mysql数据库进行操作了。。。
需要说的一句是,在到第五个步骤的时候,居然找不到mysql下的bin目录,这就是不指定目录的后果,mysql装的很混乱,不知道bin装到哪里去了。。。。find bin的话却又有好多bin目录。。
突然又想到,可以find一下 safe_mysqld ,看能不能找到。。目前尚在值班今天看样子也就到这了,明天再试试吧come on~~~~~~
轻松自在随风飘,天地悠悠任我闯.