搭建一个***检测系统
简单介绍一下:Snorby是一个Ruby on Rails的Web应用程序,网络安全监控与目前流行的***检测系统(Snort的项目Suricata和Sagan)的接口。该项目的目标是创建一个免费的,开源和竞争力的网络监控应用,为私人和企业使用
1、在安装snorby之前,需要安装Ruby, ImageMagick, Rails 和 Wkhtmltopdf,安装包位置可以随便放。但是最好是要有一个统一的位置,比如/usr/local/src
yum -y groupinstall "Development Tools"
yum install -y openssl-devel readline-devel libxml2-devel libxslt-devel mysql mysql-devel mysql-libs mysql-server urw-fonts libX11-devel libXext-devel qconf fontconfig-devel libXrender-devel unzip
2、下载安装ImageMagick, 和 Wkhtmltopdf
wget ftp://ftp.fifi.org/pub/ImageMagick/ImageMagick-6.9.8-4.tar.gz
Wget http://sourceforge.net/projects/wkhtmltopdf/files/0.12.1/wkhtmltox-0.12.1_linux-centos6-amd64.rpm/download
安装ImageMagick
tar -xvf ImageMagick-6.8.9-6.tar.gz
cd ImageMagick-6.8.9-6
./configure
make
make install
ldconfig /usr/local/lib
安装Wkhtmltopdf
需要先安装点东西
yum -y install xz urw-fonts libXext openssl-devel libXrender
rpm -Uvh wkhtmltox-0.12.1_linux-centos6-amd64.rpm
安装完了就可以测试一下
wkhtmltopdf http://www.qq.com qq.pdf
这里的意思是把qq的网页弄成pdf格式
3、安装Ruby
yum -y install libxslt-devel libxml2-devel gdbm-devel libffi-devel zlib-devel openssl-devel libyaml-devel readline-devel curl-devel openssl-devel pcre-devel git memcached-devel valgrind-devel mysql-devel ImageMagick-devel
yum -y install libyaml-devel
如果在安装的时候出现libyaml-devel问题,就安装下拓展
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
说明:yaml是一种语法格式,很简单的,百度学习一下,很多地方会用到,比如saltstack
接下来使用RVM安装Ruby
curl -L get.rvm.io | bash -s stable
然后创建一个RVM环境
source /etc/profile.d/rvm.sh
这个时候RVM已经安装好了
可以测试看一下 rvm -v
接下来安装Ruby1.9.3版本,因为snort for snorby 有个要求ruby版本要求,Ruby >= 1.9.2, <2.x.x
rvm install 1.9.3
rvm use 1.9.3 --default
安装RubyGems
rvm rubygems current
这个时候,我们不安装rails,这个要进入到项目里
开始安装snorby
先安装一个Apache,并设置开机启动
yum -y install httpd
service httpd start
chkconfig --add httpd
chkconfig httpd on
然后运行 gem install bundler
接着,重点来了。
4、cd /var/www/html
然后登陆网页打开https://github.com/Snorby/snorby,里面有详细的说明,只不过没有详细说明步骤
先把内容给clone下来
git clone git://github.com/Snorby/snorby.git
这里要安装git,yum install -y git
这里,要先进入数据库,创建一个用户,并授权
mysql -u root -p
create database snorby;
说明:这里的数据库可建可不建,建立了等等写库的时候会提示snorby已经存在,如果没有建,则会自动创建
创建一个可以登陆的用户,并授权
create user 'snorby'@'localhost' identified by 'snorby';
grant all privileges on *.* to snorby@localhost identified by 'snorby';
flush privileges;
Exit
编辑库的数据库配置文件
cp config/database.yml.example config/database.yml
上面写了是example,不会执行这个配置文件,所以需要改名
修改数据库的用户名密码,就是刚刚创建的用户和密码
这里的文件书写格式就是yaml格式的
vim config/database.yml
snorby: &snorby
adapter: mysql
username: snorby
password: "snorby" # Example: password: "s3cr3tsauce"
host: localhost
保存即可
还需要重命名snorby的配置文件
cp config/snorby_config.yml.example config/snorby_config.yml
接下来请注意:在这个地方会遇到非常多非常多的问题。
简单列下,会出现的问题和解决办法
1、要求你不要使用root用户进行安装,解决办法:这个只是警告,没有关系
2、提示缺少各种组件,一般是Jruby会有问题
解决办法是把他们注释掉
vim Gemfile
# Jruby
#gem 'jruby-openssl', :platforms => :jruby
#gem 'warbler', :platforms => :jruby
#gem 'jruby-rack-worker', :platforms => :jruby
# gem 'glassfish', :platforms => :jruby
还有会提示postmysql的问题,同样Gemfile,然后注释
#gem 'dm-postgres-adapter'
3、有时候会提示你ruby的版本问题,better_errors requires Ruby version >= 2.0.0,比如这样的。要>2.0.0,这里脑袋就大了,明明提示版本要求是Ruby >= 1.9.2, <2.x.x,可是这里却要求大于2.0.0,那要怎么办?
解决办法:既然要求大于2.0.5,那就安装一个2.1.5。执行rvm list看下已经安装的版本,会发现,两个版本同时安装了,这时候更改上面的需求,改成下面这样
Defaults,刚刚已经设定过来,rvm use 1.9.3 --default
在安装完2.1.5之后,执行rvm use 2.1.5
执行 rvm list查看列表,显示下面这样就可以正常安装,至于为什么要这样。我还没有找到为什么。。。。。。
* ruby-1.9.3-p551 [ x86_64 ]
=> ruby-2.1.5 [ x86_64 ]
# => - current
# =* - current && default
# * - default
安装 Snorby
需要安装Java
yum -y install java-1.6.0-openjdk-devel java-1.6.0-openjdk
yum -y install httpd-devel apr-devel apr-util-devel
bundle install
gem update --system
RAILS_ENV=production bundle exec rake snorby:setup
注意点1:在没有×××的情况下,执行gem update --system的时候,一定会报错。报错提示SSL错误。
因为系统默认是使用国外的源进行更新,所以,我们需要改成国内的源
更改办法:gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
也可以vim Gemfile,就在第一行更改就行了
更改完了以后,需要进行缓存
执行gem sources -u
这里会提示已经生成缓存,查看当前使用的源gem sources -l,如果有两个,一个是https://gems.ruby-china.org/,那么在执行gem update --system就会提示错误。要确保只有https://ruby.taobao.org/
注意点2:RAILS_ENV=production bundle exec rake snorby:setup
这里是些数据到刚刚创建的snorby库,如果出现错误,基本是设置的用户名或者密码有问题。
6、测试一下,执行
rails server thin -e production
查看经常是否启动,使用netstat -lntup查看3000端口是否在使用。
然后进行网页打开
http://ip-address:3000
默认用户名为
snorby@example.org
密码snorby
如果出现错误,则可以进入数据库,snorby.user进行查看或者重置。
安装到这里基本结束
转载于:https://blog.51cto.com/9393764/1923244