Разлика между версии на „Инсталиране на Snorby под Ubuntu Server“

от БАРЗИКТ Wiki
Направо към: навигация, търсене
Ред 1: Ред 1:
 
[[Category:Ethical Hacking]]
 
[[Category:Ethical Hacking]]
 
Процедурата е описана за Ubuntu Server 17.04
 
Процедурата е описана за Ubuntu Server 17.04
 +
''Необходимо е да има инсталиран LAMP.''
 
=Обновяване на Ubuntu=
 
=Обновяване на Ubuntu=
 
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
Ред 83: Ред 84:
  
 
Препоръчително е в този файл да промените част от параметрите (в примера са оставени по подразбиране).
 
Препоръчително е в този файл да промените част от параметрите (в примера са оставени по подразбиране).
 +
=Автоматично конфигуриране на Snorby=
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo bundle exec rake snorby:setup
 +
</pre>
 +
=Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker=
 +
Създава се файл ''/lib/systemd/system/snorby_worker.service''.
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo nano /lib/systemd/system/snorby_worker.service
 +
</pre>
 +
 +
Съдържанието на ''/lib/systemd/system/snorby_worker.service'' спрямо примреа е:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
[Unit]
 +
Description=Snorby Worker Daemon
 +
Requires=apache2.service
 +
After=syslog.target network.target apache2.service
 +
 +
[Service]
 +
Type=forking
 +
WorkingDirectory=/var/www/snorby
 +
ExecStart=/usr/bin/ruby script/delayed_job start
 +
 +
[Install]
 +
WantedBy=multi-user.target
 +
</pre>
 +
 +
Добавя се новата услуга:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo systemctl enable snorby_worker
 +
systemctl status snorby_worker.service
 +
</pre>
 +
=Инсталиране на Passanger=
 +
По време на инсталацията на passanger е необходимо (спрямо примера) да се посочи само Ruby.
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo gem install passenger
 +
sudo passenger-install-apache2-module
 +
</pre>
 +
 +
След приключване на етпите от инсталационната процедура в конзолата се извеждат данни за необходимите промени в конфигурацията на Apache, например:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
 +
<IfModule mod_passenger.c>
 +
PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8
 +
PassengerDefaultRuby /usr/bin/ruby2.3
 +
</IfModule>
 +
</pre>
 +
 +
Създава се файл ''/etc/apache2/mods-available/passenger.load'':
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo nano /etc/apache2/mods-available/passenger.load
 +
</pre>
 +
 +
Във файла ''/etc/apache2/mods-available/passenger.load'' се добавя:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
 +
</pre>
 +
 +
Създава се файл ''/etc/apache2/mods-available/passenger.conf'':
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo nano /etc/apache2/mods-available/passenger.conf
 +
</pre>
 +
 +
Във файла ''/etc/apache2/mods-available/passenger.conf'' се записва:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
<IfModule mod_passenger.c>
 +
  PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8
 +
  PassengerDefaultRuby /usr/bin/ruby2.3
 +
</IfModule>
 +
</pre>
 +
 +
Активира се новия Apache модул и сървъра се рестартира:
 +
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
 +
sudo a2enmod passenger
 +
sudo service apache2 restart
 +
</pre>
 +
 +
 +
  
  

Версия от 07:46, 14 септември 2017

Процедурата е описана за Ubuntu Server 17.04 Необходимо е да има инсталиран LAMP.

Обновяване на Ubuntu

sudo apt update
sudo apt upgrade

Инсталиране на необходимите библиотеки и пакети

sudo apt install imagemagick wkhtmltopdf ruby libyaml-dev libxml2-dev libxslt1-dev  zlib1g-dev build-essential openssl libssl-dev libmysqlclient-dev libreadline6-dev ruby-bundler ruby-dev postgresql-server-dev-all apache2-dev libcurl4-openssl-dev

Клониране на изходния код на Snorby и компилиране на системата

cd /var/www/
sudo git clone http://github.com/Snorby/snorby.git
cd snorby
sudo bundle install

Конфигуриране на MySQL

Необходимо е да се осигури отдалечен достъп до MySQL сървъра. В примерът не е дефиниран точен адрес на отдалечена система, от която ще може да се работи с базите данни. От съображения за сигурност е препоръчително това да бъде направено.

sudo ufw allow mysql

Редактира се файл /etc/mysql/mysql.conf.d/mysqld.cnf и се задава:

bind-address = 0.0.0.0

Създава се база данни и потребител за Snorby, които за примера са: База данни: snorby Потребител: snorby Парола: snorby

Препоръчително е в реална конфигурация да се използва надеждна парола.

mysql -u root -p

CREATE DATABASE snorby;
CREATE USER 'snorby'@'%' IDENTIFIED BY 'snorby';
GRANT ALL PRIVILEGES ON snorby.* TO  'snorby'@'%';
FLUSH PRIVILEGES;
quit

Рестартира се MySQL сървъра:

sudo service mysql restart

Създаване и редактиране на конфигурационни файлове за Snorby

Файл database.yml

Копира се примерния файл /var/www/snorby/config/database.yml.example в /var/www/snorby/config/database.yml:

sudo cp /var/www/snorby/config/database.yml.example /var/www/snorby/config/database.yml
<pre>
Редактира се ''/var/www/snorby/config/database.yml'' и съдържанието спрямо примера следва да бъде:
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word">
# Snorby Database Configuration
#
# Please set your database password/user below
# NOTE: Indentation is important.
#
snorby: &snorby
  adapter: mysql
  username: snorby_user
  password: "pa$$word123"
  host: localhost

development:
  database: snorby_db
  <<: *snorby
  test:
  database: snorby_db
  <<: *snorby

production:
  database: snorby_db
  <<: *snorby

Копира се основния конфигурационен файл /var/www/snorby/config/snorby_config.yml.example в /var/www/snorby/config/snorby_config.yml:

sudo cp /var/www/snorby/config/snorby_config.yml.example /var/www/snorby/config/snorby_config.yml

Препоръчително е в този файл да промените част от параметрите (в примера са оставени по подразбиране).

Автоматично конфигуриране на Snorby

sudo bundle exec rake snorby:setup

Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker

Създава се файл /lib/systemd/system/snorby_worker.service.

sudo nano /lib/systemd/system/snorby_worker.service

Съдържанието на /lib/systemd/system/snorby_worker.service спрямо примреа е:

[Unit]
Description=Snorby Worker Daemon
Requires=apache2.service
After=syslog.target network.target apache2.service

[Service]
Type=forking
WorkingDirectory=/var/www/snorby
ExecStart=/usr/bin/ruby script/delayed_job start

[Install]
WantedBy=multi-user.target

Добавя се новата услуга:

sudo systemctl enable snorby_worker
systemctl status snorby_worker.service 

Инсталиране на Passanger

По време на инсталацията на passanger е необходимо (спрямо примера) да се посочи само Ruby.

sudo gem install passenger
sudo passenger-install-apache2-module

След приключване на етпите от инсталационната процедура в конзолата се извеждат данни за необходимите промени в конфигурацията на Apache, например:

LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
 PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8
 PassengerDefaultRuby /usr/bin/ruby2.3
</IfModule>

Създава се файл /etc/apache2/mods-available/passenger.load:

sudo nano /etc/apache2/mods-available/passenger.load

Във файла /etc/apache2/mods-available/passenger.load се добавя:

LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so

Създава се файл /etc/apache2/mods-available/passenger.conf:

sudo nano /etc/apache2/mods-available/passenger.conf

Във файла /etc/apache2/mods-available/passenger.conf се записва:

<IfModule mod_passenger.c>
  PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8
  PassengerDefaultRuby /usr/bin/ruby2.3
</IfModule>

Активира се новия Apache модул и сървъра се рестартира:

sudo a2enmod passenger
sudo service apache2 restart