Разлика между версии на „Инсталиране на Snorby под Ubuntu Server“
Ред 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.
Съдържание
- 1 Обновяване на Ubuntu
- 2 Инсталиране на необходимите библиотеки и пакети
- 3 Клониране на изходния код на Snorby и компилиране на системата
- 4 Конфигуриране на MySQL
- 5 Създаване и редактиране на конфигурационни файлове за Snorby
- 6 Автоматично конфигуриране на Snorby
- 7 Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker
- 8 Инсталиране на Passanger
Обновяване на 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