Как да

Инсталирайте Graylog Server на Ubuntu 20.04 с Let's Encrypt SSL

Инсталирайте Graylog Server на Ubuntu 20.04 с Let's Encrypt SSL

Graylog е инструмент за агрегиране и управление на журнали с отворен източник, който може да се използва за съхраняване, анализ и изпращане на сигнали от събраните дневници. Graylog може да се използва за анализ както на структурирани, така и на неструктурирани регистрационни файлове, като се използват ElasticSearch и MongoDB. Това включва разнообразни системи, включително системи с Windows, Linux системи, различни приложения и микро услуги и т.н.

Graylog улеснява лесното анализиране и наблюдение на тези системи и приложения от един хост.

Graylog има следните компоненти:

Нека бързо да преминем към инсталирането на сървър Graylog на Ubuntu 20.04 домакин. След това ще конфигурираме SSL, използвайки Let'sEncrypt.

За да постигнем това, ще трябва да инсталираме Nginx, за да служи като обратен прокси в нашата система.

Подобни статии: Как да препращате регистрационни файлове към Grafana Loki с помощта на Promtail

Предварителни условия за настройка

Преди да можем да инсталираме на вашата кутия, уверете се, че вашият хост отговаря на следните минимални изисквания:

При спазване на горните условия, нека започнем процеса на инсталиране.

Стъпка 1 - Инсталирайте Java на Ubuntu 20.04

За инсталиране на Graylog е необходима версия Java 8 и по-нова.
В този пост ще използваме отворен JDK 11

sudo apt актуализация sudo apt инсталиране -y apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen curl dirmngr

Можете да проверите версията на Java, която току-що сте инсталирали, с помощта на java -версия команда:

$ java -version openjdk версия "11.0.9 "2020-10-20 OpenJDK Runtime Environment (компилация 11.0.9 + 11-Ubuntu-0ubuntu1.20.04) OpenJDK 64-битов сървър VM (компилация 11.0.9 + 11-Ubuntu-0ubuntu1.20.04, смесен режим, споделяне)

Стъпка 2 - Инсталирайте Elasticsearch на Ubuntu 20.04

Еластичното търсене е инструментът, който се използва за съхраняване и анализ на входящи регистрационни файлове от външни източници. Той използва уеб-базиран RESTful API.

Изтеглете и инсталирайте Elasticsearch GPG ключ за подписване.

wget -qO - https: // артефакти.еластична.co / GPG-KEY-elasticsearch | sudo apt-key add -

Добавете хранилището на Elasticsearch към вашия списък с източници:

ехо "deb https: // артефакти.еластична.co / пакети / oss-6.x / apt стабилна основна "| sudo tee / etc / apt / sources.списък.г / ластик-6.х.списък

Инсталирайте Elasticsearch:

sudo apt актуализация sudo apt install -y elasticsearch-oss

Конфигурирайте името на клъстера за Graylog.

sudo vim / etc / elasticsearch / elasticsearch.yml

Редактирайте името на клъстера на Грейлог

клъстер.име: Graylog

Добавете следната информация в същия файл

действие.auto_create_index: false

Презаредете демона на стартовата услуга Elasticsearch.

sudo systemctl daemon-reload sudo systemctl стартиране на elasticsearch sudo systemctl активиране на elasticsearch

Можете да проверите състоянието на услугата чрез:

$ systemctl статус elasticsearch ● еластично търсене.услуга - Elasticsearch Заредено: заредено (/ lib / systemd / system / elasticsearch.обслужване; активиран; предварително зададен от доставчика: активиран) Активен: активен (работи) от Неделя 2020-11-08 12:36:10 UTC; Преди 14 години Документи: http: // www.еластична.co Основен PID: 1352139 (java) Задачи: 15 (ограничение: 4582) Памет: 1.1G CGroup: / система.парче / еластично търсене.услуга └─1352139 / bin / java -Xms1g -Xmx1g -XX: + UseConcMarkSweepGC -XX: CMSInitiatingOccupancyFraction = 75 -XX: + UseCMSInitiatingOccupancyOnly -Des.> 08 ноември 12:36:10 сив дневник.computingforgeeks.com systemd [1]: Започната Elasticsearch.

Elasticsearch работи на порт 9200 и това може да бъде потвърдено от къдрица команда:

curl -X ВЗЕМЕТЕ http: // localhost: 9200

Трябва да видите името на вашия клъстер в изхода.

$ curl -X Вземете http: // localhost: 9200 "name": "RQ7y68X", "cluster_name": "graylog", "cluster_uuid": "Dp948OGjT-uFz_LuOiW6ng", "version": "number": "6.8.13 "," build_flavor ":" oss "," build_type ":" deb "," build_hash ":" be13c69 "," build_date ":" 2020-10-16T09: 09: 46.555371Z "," build_snapshot ": false," lucene_version ":" 7.7.3 "," minimal_wire_compatibility_version ":" 5.6.0 "," minimal_index_compatibility_version ":" 5.0.0 "," tagline ":" Знаете ли, за търсене "

Стъпка 3 - Инсталирайте MongoDB на Ubuntu 20.04

Изтеглете и инсталирайте mongoDB от основното хранилище на Ubuntu.

sudo apt актуализация sudo apt инсталиране -y mongodb-сървър

Стартирайте MongoDB

sudo systemctl стартира mongodb sudo systemctl активира mongodb
$ systemctl статус mongodb ● mongodb.услуга - Ориентирана към обект / документ база данни Заредена: заредена (/ lib / systemd / system / mongodb.обслужване; активиран; предварително зададен от доставчика: активиран) Активен: активен (работи) от Нед 2020-11-08 12:45:21 UTC; Преди 1s Документи: човек: mongod (1) Основен PID: 1352931 (mongod) Задачи: 3 (ограничение: 4582) Памет: 27.9M CGroup: / система.филия / mongodb.услуга └─1352931 / usr / bin / mongod --unixSocketPrefix = / run / mongodb --config / etc / mongodb.conf 08 ноември 12:45:21 Graylog.computingforgeeks.com systemd [1]: Стартирана База данни, ориентирана към обект / документ. 

Стъпка 4 - Инсталирайте Graylog Server на Ubuntu 20.04

Изтеглете и конфигурирайте хранилището Graylog.

wget https: // пакети.Graylog2.org / repo / пакети / Graylog-3.3-repository_latest.deb sudo apt install ./ Graylog-3.3-repository_latest.деб

Инсталирайте сървър Graylog:

sudo apt актуализация sudo apt инсталиране -y Graylog-сървър

Генерирайте тайна за защита на потребителски пароли с помощта pwgen команда

pwgen -N 1 -s 96

Резултатът трябва да изглежда така:

FFP3LhcsuSTMgfRvOx0JPcpDomJtrxovlSrbfMBG19owc13T8PZbYnH0nxyIfrTb0ANwCfH98uC8LPKFb6ZEAi55CvuZ2Aum

Редактирайте конфигурационния файл на Graylog, за да добавите тайната, която току-що създадохме:

sudo vim / etc / graylog / server / server.конф

Намерете парола_секретна = ред и добавете създадената по-горе тайна след него.

password_secret = FFP3LhcsuSTMgfRvOx0JPcpDomJtrxovlSrbfMBG19owc13T8PZbYnH0nxyIfrTb0ANwCfH98uC8LPKFb6ZEAi55CvuZ2Aum

Също така добавете следните редове към / etc / greylog / сървър / сървър.конф файл

rest_listen_uri = http: // 127.0.0.1: 9000 / api / web_listen_uri = http: // 127.0.0.1: 9000 /

Следващата стъпка е да създадете хеш sha256 парола за администратора. Това е паролата, която ще ви е необходима, за да влезете в уеб интерфейса.

echo -n Str0ngPassw0rd | sha256sum

Сменете 'Str0ngPassw0rd' с парола по ваш избор.

Ще получите изход от този вид:

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Редактирайте / etc / greylog / сървър / сървър.конф файл, след това поставете хеш паролата на root_password_sha2 =

sudo vi / etc / graylog / server / server.конф
root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Graylog вече е конфигуриран и готов за употреба.

Стартирайте услугата Graylog:

sudo systemctl daemon-reload sudo systemctl старт Graylog-сървър sudo systemctl разреши Graylog-сървър

Можете да проверите дали услугата е стартирала успешно от дневниците:

sudo tail -f / var / log / greylog-server / server.дневник

Изход:

2020-11-08T13: 37: 55.067Z ИНФОРМАЦИЯ [ServerBootstrap] Сървърът Graylog работи и работи.

Стъпка 5 - Инсталирайте SSL с помощта на Let's Encrypt

Следващата стъпка е да конфигурираме SSL, така че да имаме достъп до уеб интерфейса на Graylog чрез HTTPS.

За да постигнем това, ще ни трябва следното:

Използвайте стъпките по-долу, за да инсталирате и конфигурирате ngiinx.

  1. актуализирайте системата и инсталирайте nginx
sudo apt-get актуализация sudo apt инсталиране nginx

2. Конфигурирайте защитната стена

sudo ufw позволи 'Nginx пълен'

3. Създайте virtualhost с името на вашия домейн

Създайте файл в / etc / nginx / sites-available / д.ж

sudo vim / etc / nginx / sites-available / greylog.вашиядомейн.com.конф

Добавете следното във файла:

сървър слуша 80; име на сървър сив дневник.вашиядомейн.com; връщане 301 https: // $ host $ request_uri; access_log / var / log / nginx / greylog.вашиядомейн.com.достъп.дневник комбиниран; error_log / var / log / nginx / greylog.вашиядомейн.com.грешка.дневник;  

Не забравяйте да замените Грейлог.вашиядомейн.com с вашето FQDN.

4. Създайте символна връзка към файла, който току-що създадохме / etc / nginx / sites-available да се / etc / nginx / sites-enabled

sudo ln -s / etc / nginx / sites-available / greylog.вашиядомейн.com.conf / etc / nginx / sites-enabled /

5. Проверете дали nginx config е добре, като стартирате nginx -t команда.

$ sudo nginx -t nginx: конфигурационният файл / etc / nginx / nginx.conf синтаксисът е добре nginx: конфигурационен файл / etc / nginx / nginx.conf тестът е успешен

6. Инсталирайте Let'sEncrypt с certbot.

sudo apt инсталирайте certbot python3-certbot-nginx

7. Стартирайте certbot за nginx

$ sudo certbot --nginx Запазване на журнала за отстраняване на грешки в / var / log / letsencrypt / letsencrypt.log Plugins selected: Authenticator nginx, Installer nginx Въведете имейл адрес (използван за спешно обновяване и известия за сигурност) (Въведете 'c' за отмяна): [имейл защитен] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Моля, прочетете Общите условия на https: // letsencrypt.org / documents / LE-SA-v1.2-ноември-15-2017.pdf. Трябва да се съгласите, за да се регистрирате в ACME сървъра на https: // acme-v02.api.letsencrypt.org / директория - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A) gree / (C ) ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Бихте ли искали да споделите вашия имейл адрес с Фондация Electronic Frontier, партньор-основател на проекта Let's Encrypt и неправителствена организация, която разработва Certbot? Бихме искали да Ви изпратим имейл за нашата работа по криптиране на мрежата, EFF новини, кампании и начини за подкрепа на цифровата свобода. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es / (N) o: N За кои имена искате да активирате HTTPS? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Грейлог.computingforgeeks.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Изберете подходящите числа, разделени със запетаи и / или интервали или оставете въведеното празно, за да изберете всички показани опции (въведете „c“, за да отмените): 1 Получаване на нов сертификат Извършване на следните предизвикателства: http-01 предизвикателство за сив дневник.computingforgeeks.com Изчакваме проверка ... Изчистване на предизвикателствата Внедряване на сертификат във VirtualHost / etc / nginx / sites-enabled / graylog.computingforgeeks.com.conf Моля, изберете дали да не пренасочвате HTTP трафика към HTTPS, като премахвате HTTP достъп. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Без пренасочване - Не правете допълнителни промени в конфигурацията на уеб сървъра. 2: Пренасочване - Направете всички пренасочвания да осигурят HTTPS достъп. Изберете това за нови сайтове или ако сте уверени, че сайтът ви работи на HTTPS. Можете да отмените тази промяна, като редактирате конфигурацията на вашия уеб сървър. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Изберете подходящия номер [1-2], след това [въведете] (натиснете 'c', за да отмените): 2 Пренасочване на целия трафик на порт 80 към ssl в / etc / nginx / sites-enabled / greylog.computingforgeeks.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Поздравления! Успешно активирахте https: // Graylog.computingforgeeks.com Трябва да тествате вашата конфигурация на: https: // www.ssllabs.com / ssltest / анализиране.html?d = сив дневник.computingforgeeks.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ВАЖНИ БЕЛЕЖКИ: - Поздравления! Вашият сертификат и верига са запазени на адрес: / etc / letsencrypt / live / greylog.computingforgeeks.com / пълна верига.pem Вашият ключов файл е запазен на адрес: / etc / letsencrypt / live / greylog.computingforgeeks.com / privkey.pem Вашият сертификат ще изтече на 2021-02-06. За да получите нова или променена версия на този сертификат в бъдеще, просто стартирайте certbot отново с опцията "certonly". За да подновите интерактивно * всички * от вашите сертификати, стартирайте "certbot подновяване" - Вашите идентификационни данни за акаунта са запазени в конфигурационната директория на Certbot на / etc / letsencrypt. Трябва да направите сигурно архивиране на тази папка сега. Тази конфигурационна директория също ще съдържа сертификати и частни ключове, получени от Certbot, така че правилното архивиране на тази папка е идеално. - Ако ви харесва Certbot, моля, помислете за подкрепа на нашата работа чрез: Даряване на ISRG / Let's Encrypt: https: // letsencrypt.org / donate Дарение за EFF: https: // eff.org / donate-le 

Успешно сте получили SSL за нашия домейн.

Следващата стъпка е да конфигурирате обратен прокси на Nginx, който ще се използва за обслужване на Graylog, който се изпълнява на същия хост на порт 9000.

Редактирайте / etc / nginx / sites-available / greylog.вашиядомейн.com.конф файл и добавете следната конфигурация под Местоположение раздел.

местоположение / proxy_set_header Хост $ http_host; proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-Server $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL https: // $ server_name /; proxy_pass http: // 127.0.0.1: 9000;  

Окончателният конфигурационен файл трябва да изглежда така:

сървър слуша 80; име на сървър сив дневник.computingforgeeks.com; връщане 301 https: // $ host $ request_uri; access_log / var / log / nginx / greylog.computingforgeeks.com.достъп.дневник комбиниран; error_log / var / log / nginx / greylog.computingforgeeks.com.грешка.дневник;  сървър root / var / www / html; индекс индекс.html индекс.htm индекс.nginx-debian.html; име на сървър сив дневник.computingforgeeks.com; слушайте [::]: 443 ssl ipv6only = on; # управлявано от Certbot слушам 443 ssl; # управлявано от Certbot ssl_certificate / etc / letsencrypt / live / greylog.computingforgeeks.com / пълна верига.пем; # управлявано от Certbot ssl_certificate_key / etc / letsencrypt / live / greylog.computingforgeeks.com / privkey.пем; # управлявани от Certbot включват / etc / letsencrypt / options-ssl-nginx.conf; # управлявано от Certbot ssl_dhparam / etc / letsencrypt / ssl-dhparams.пем; # управлява се от Certbot location / proxy_set_header Host $ http_host; proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-Server $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header X-Graylog-Server-URL https: // $ server_name /; proxy_pass http: // 127.0.0.1: 9000;  

Проверете вашата nginx конфигурация с помощта на nginx -t само за да се уверите, че вашата nginx конфигурация е наред.

Сега рестартирайте услугата nginx.

sudo systemctl рестартирайте nginx

С включването и изпълнението на горното, трябва да имате достъп до таблото за управление на сивото си съобщение, като влезете https: // Graylog.вашиядомейн.com.

Не забравяйте да замените Грейлог.вашиядомейн.com с вашето FQDN.

Потребителското име по подразбиране за Graylog е администратор и паролата, която конфигурирахме в стъпка 4 (Инсталиране на сървър Graylog) по-горе. За моя случай това би било „Str0ngPassw0rd“

Вече можете да започнете да използвате вашето табло за управление на Graylog, конфигурирано с SSL.

Заключение

Успешно инсталирахме Graylog сървър, конфигурирахме SSL чрез Nginx като обратен прокси и успяхме да влезем в уеб интерфейса.

Конфигурирането на SSL на сървър Graylog е важно за защитата на вашата система.

Ако се сблъскате с някакво предизвикателство по време на процеса на настройка, не се колебайте да коментирате или да задавате въпроси в раздела за коментари.

Конфигурирайте Graylog Nginx обратен прокси с Letsencrypt SSL

Инсталирайте Oracle Java 14 (OpenJDK 14) на Ubuntu 20.18.04.04 & Debian 10/9
Добре дошли в нашето ръководство за това как да инсталирате Oracle Java 14 / OpenJDK 14 на Ubuntu 20.18.04.04/16.04 и Debian 10/9 / Linux система. Jav...
Как да инсталирате MariaDB 10.4 на Ubuntu 18.04 / Ubuntu 16.04
Как да инсталирам MariaDB 10.4 на Ubuntu 18.04 / Ubuntu 16.04?. Мога ли да инсталирам MariaDB 10.4 на Ubuntu 18.04 / Ubuntu 16.04 от хранилището на AP...
Как да създам администраторски потребител за достъп до таблото за управление Kubernetes
Таблото за управление на Kubernetes е уеб базиран потребителски интерфейс за разполагане на контейнеризирани приложения в клъстер Kubernetes - Внедряв...