Архив метки: Software

Блокирование вредоносных ботов, спама, юзер-агентов, Ransomware на Nginx

В последние дни многие организации стали жертвами киберпреступности. Были разработаны более сложные ботнеты и другие методы атак, которые увеличивают скорость этих атак.




Наиболее распространенными атаками являются DDoS (распределенный отказ в обслуживании), захват учетных записей (ATO) и перехват контента с веб-сайтов.




Эти атаки имеют тяжелые последствия для целевых организаций и должны быть предотвращены любой ценой.




Обычно Bad Bots можно определить как программные приложения, которые выполняют автоматизированные задачи со злыми намерениями через Интернет.




Они маскируются в системе путем маскировки агентов пользователя.




Такими плохими ботами могут быть;




  • Боты или серверы, связанные с вирусами или вредоносным ПО
  • Боты для правительственного наблюдения
  • Атакующие сети ботнетов (Mirai)
  • Сайты азартных игр и порносайты
  • Сканеры уязвимостей
  • Спам-рефереры
  • Браузерное рекламное и вредоносное ПО (Yontoo и т.д.)
  • Инструменты для исследования ссылок и тестирования обратных ссылок
  • SEO компании, которые используют ваши конкуренты для улучшения своего SEO
  • Сайты хотлинк на изображения и воры изображений
  • Боты для ранжирования ссылок
  • Сборщики электронной почты
  • Сайты, связанные с выгодными вредоносными программами, рекламным ПО и Ransomware Кампании Clickjacking
  • Остановка “Ghost спама” Google Analytics




Это руководство демонстрирует, как вы можете блокировать Bad Bots, спам, User-Agents и Ransomware на Nginx.




Шаг 1 – Скачать Nginx Bad Bot Blocker




Nginx Bad Bot Blocker был разработан Митчеллом Крогом для использования в веб-сервере Nginx.




Его можно загрузить в систему Linux с помощью команды:




### С wget
wget https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker

### С curl
sudo curl -sL https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/install-ngxblocker -o install-ngxblocker




🖧 В чем разница между curl и Wget?




После загрузки файла сделайте его исполняемым.




chmod +x install-ngxblocker







На системах FreeBSD пакет доступен в репозитории по умолчанию и может быть установлен с помощью команды:




pkg install www/nginx-ultimate-bad-bot-blocker




Шаг 2 – Скачайте необходимые файлы.




В других системах Linux используйте загруженный файл в каталоге /usr/local/sbin, как показано ниже:




sudo ./install-ngxblocker




Установка будет происходить следующим образом:




Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run  as 'install-ngxblocker -x' to install files.

Creating directory: /etc/nginx/conf.d
Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker




В приведенной выше команде перечислены пакеты, которые будут загружены, теперь используйте команду с параметром -x для записи этих изменений.




sudo ./install-ngxblocker -x




Вывод:




Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Creating directory: /etc/nginx/conf.d
Creating directory: /etc/nginx/bots.d

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/conf.d/globalblacklist.conf            [TO]=>  /etc/nginx/conf.d/globalblacklist.conf...OK
Downloading [FROM]=>  [REPO]/conf.d/botblocker-nginx-settings.conf  [TO]=>  /etc/nginx/conf.d/botblocker-nginx-settings.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/bots.d/blockbots.conf              [TO]=>  /etc/nginx/bots.d/blockbots.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/ddos.conf                   [TO]=>  /etc/nginx/bots.d/ddos.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/custom-bad-referrers.conf   [TO]=>  /etc/nginx/bots.d/custom-bad-referrers.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/bad-referrer-words.conf     [TO]=>  /etc/nginx/bots.d/bad-referrer-words.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-ips.conf          [TO]=>  /etc/nginx/bots.d/blacklist-ips.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/blacklist-user-agents.conf  [TO]=>  /etc/nginx/bots.d/blacklist-user-agents.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-domains.conf      [TO]=>  /etc/nginx/bots.d/whitelist-domains.conf...OK
Downloading [FROM]=>  [REPO]/bots.d/whitelist-ips.conf          [TO]=>  /etc/nginx/bots.d/whitelist-ips.conf...OK

REPO = https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master

Downloading [FROM]=>  [REPO]/setup-ngxblocker      [TO]=>  /usr/local/sbin/setup-ngxblocker...OK
Downloading [FROM]=>  [REPO]/update-ngxblocker     [TO]=>  /usr/local/sbin/update-ngxblocker...OK
Setting mode: 700 => /usr/local/sbin/install-ngxblocker
Setting mode: 700 => /usr/local/sbin/setup-ngxblocker
Setting mode: 700 => /usr/local/sbin/update-ngxblocker




После загрузки необходимых файлов в нужные папки, перейдите к выполнению скриптов установки и обновления.




sudo chmod +x /usr/local/sbin/setup-ngxblocker
sudo chmod +x /usr/local/sbin/update-ngxblocker




Шаг 3 – Установка Nginx Bad Bot Blocker




Чтобы установить Nginx Bad Bot Blocker, мы запустим скрипт установки.




Этот скрипт можно запустить в DRY-MODE, чтобы показать изменения, которые он внесет, и файлы, которые он загрузит, как показано ниже.




sudo /usr/local/sbin/setup-ngxblocker




Вывод:




/etc/nginx/sites-available/ssl.no-default.conf
/etc/nginx/sites-available/no-default.conf
/etc/nginx/sites-available/wordpress.example.com.conf

Configure every file above as a vhost ? [Y/N] : Y
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

** Dry Run ** | not updating files | run  as 'setup-ngxblocker -x' to setup files.

inserting: include /etc/nginx/conf.d/globalblacklist.conf;            => /etc/nginx/nginx.conf
inserting: include /etc/nginx/conf.d/botblocker-nginx-settings.conf;  => /etc/nginx/nginx.conf
inserting: include /etc/nginx/bots.d/blockbots.conf;                  => /etc/nginx/sites-available/wordpress.example.com.conf
inserting: include /etc/nginx/bots.d/ddos.conf;                       => /etc/nginx/sites-available/wordpress.example.com.conf

Whitelisting ip:  88.99.92.81     => /etc/nginx/bots.d/whitelist-ips.conf

Web directory not found ('/var/www'): not automatically whitelisting domains.

Checking for missing includes:

Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Nothing to update for directory: /etc/nginx/conf.d
Nothing to update for directory: /etc/nginx/bots.d
Nothing to update for directory: /usr/local/sbin
Setting mode: 700 => /usr/local/sbin/install-ngxblocker
Setting mode: 700 => /usr/local/sbin/setup-ngxblocker
Setting mode: 700 => /usr/local/sbin/update-ngxblocker




Чтобы внести изменения в nginx.conf, необходимо запустить скрипт с параметром -x.




sudo ./setup-ngxblocker -x




Ввыод:




/etc/nginx/sites-available/ssl.no-default.conf
/etc/nginx/sites-available/no-default.conf
/etc/nginx/sites-available/wordpress.example.com.conf

Configure every file above as a vhost ? [Y/N] : y
Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

inserting: include /etc/nginx/conf.d/globalblacklist.conf;            => /etc/nginx/nginx.conf
inserting: include /etc/nginx/conf.d/botblocker-nginx-settings.conf;  => /etc/nginx/nginx.conf
inserting: include /etc/nginx/bots.d/blockbots.conf;                  => /etc/nginx/sites-available/wordpress.example.com.conf
inserting: include /etc/nginx/bots.d/ddos.conf;                       => /etc/nginx/sites-available/wordpress.example.com.conf

Whitelisting ip:  88.99.92.81     => /etc/nginx/bots.d/whitelist-ips.conf

Web directory not found ('/var/www'): not automatically whitelisting domains.

Checking for missing includes:

Checking url: https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/include_filelist.txt

Nothing to update for directory: /etc/nginx/conf.d
Nothing to update for directory: /etc/nginx/bots.d
Nothing to update for directory: /usr/local/sbin
Setting mode: 700 => /usr/local/sbin/install-ngxblocker
Setting mode: 700 => /usr/local/sbin/setup-ngxblocker
Setting mode: 700 => /usr/local/sbin/update-ngxblocker




Приведенная выше команда включает все файлы виртуальных хостов Nginx на сервере и вносит ваш Ip-адрес в белый список в файле whitelist-ips.conf.




Вы можете внести желаемые изменения, отредактировав файл /etc/nginx/bots.d/whitelist-ips.conf.




По сути, скрипт добавляет приведенные ниже утверждения “include” в ваши файлы виртуальных хостов Nginx:




Кроме того, вы можете установить блокировщик в нестандартную папку Nginx, указав их:




sudo ./install-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d
sudo ./setup-ngxblocker -x -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d
sudo ./update-ngxblocker -c /usr/local/nginx/conf.d -b /usr/local/nginx/bots.d -e yourname@youremail.com




После завершения проверьте синтаксис конфигурации Nginx.




$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful




Перезапустите Nginx, чтобы изменения были применены.




sudo systemctl restart nginx




Шаг 4 – Настройка автоматического обновления для блокировщика плохих ботов Nginx




Мы настроим задание Cron так, чтобы оно автоматически обновляло блокиратор, гарантируя вам последнюю версию.




Откройте файл для редактирования:




sudo crontab -e




В файле добавьте следующие строки, заменив адрес электронной почты соответствующим образом.




00 22 * * * sudo /usr/local/sbin/update-ngxblocker -e yourname@youremail.com




Эта команда будет автоматически обновлять блокировщик каждый день в 22-00 часа.




Вы также можете выполнять обновление 3-4 раза в день, установив задачу Cron на выполнение через каждые 8 часов, как показано ниже:




00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -e yourname@youremail.com




Вы также можете отключить обновления по электронной почте с помощью команды:




00 */8 * * * sudo /usr/local/sbin/update-ngxblocker -n




Шаг 5 – Настройка Nginx Bad Bot Blocker




Nginx Bad Bot Blocker может быть настроен в соответствии с вашей средой путем редактирования файлов “include”.




Хорошо то, что эти файлы не перезаписываются при обновлении.




Для редактирования доступны следующие файлы:




etc/nginx/bots.d/whitelist-ips.conf
/etc/nginx/bots.d/whitelist-domains.conf
/etc/nginx/bots.d/blockbots.conf
/etc/nginx/bots.d/blacklist-domains.conf
/etc/nginx/bots.d/blacklist-user-agents.conf
/etc/nginx/bots.d/blacklist-ips.conf
/etc/nginx/bots.d/bad-referrer-words.conf
/etc/nginx/bots.d/custom-bad-referrers.conf
/etc/nginx/bots.d/ddos.conf




Например, если вы хотите заблокировать доступ GoogleBot к вашему сайту, отредактируйте файл /etc/nginx/bots.d/blacklist-user-agents.conf, который отменяет белый список по умолчанию для GoogleBot.




Это можно сделать и для любого другого бота, внесенного в белый список.




Шаг 6 – Тестирование Nginx Bad Bot Blocker




Вы можете протестировать ваш Nginx Bad Bot Blocker из терминала на другой системе, используя ваше доменное имя, как показано ниже:




curl -A "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -I http://yourdomain.com




Вы также можете использовать:




curl -A "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" -I http://yourdomain.com




Вывод:




HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Wed, 27 Apr 2022 08:57:12 GMT
Content-Type: text/html
Content-Length: 3429
Last-Modified: Thu, 10 Jun 2021 09:09:03 GMT
Connection: keep-alive
ETag: "60c1d6af-d65"
Accept-Ranges: bytes




Приведенный ниже тест должен выдать ошибку, описанную ниже:




  • curl: (52) Пустой ответ от сервера
  • curl: (56) TCP-соединение сброшено сверстником
  • curl: (92) HTTP/2 поток 0 не был закрыт чисто: PROTOCOL_ERROR (err 1).




Для проверки используйте команды ниже:




curl -A "Xenu Link Sleuth/1.3.8" -I http://yourdomain.com
curl -I http://yourdomain.com -e http://100dollars-seo.com
curl -I http://yourdomain.com -e http://zx6.ru




На этом мы заканчиваем данное руководство по блокированию вредоносных ботов, спама, пользовательских агентов и Ransomware на Nginx.




Вы можете внести необходимые изменения в файлы “include” для разрешения/блокирования ботов.




Источник: https://itsecforu.ru/2022/06/08/%f0%9f%8c%90-%d0%b1%d0%bb%d0%be%d0%ba%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d1%80%d0%b5%d0%b4%d0%be%d0%bd%d0%be%d1%81%d0%bd%d1%8b%d1%85-%d0%b1%d0%be%d1%82%d0%be%d0%b2-%d1%81%d0%bf/



2022-06-13T23:14:24
Software

Развертывание сервера Graylog с помощью Ansible на Ubuntu/Debian/CentOS

Добро пожаловать в это руководство по развертыванию сервера Graylog на системе Ubuntu/Debian/CentOS Linux с помощью Ansible.




Graylog – это бесплатный инструмент для агрегации и управления логами с открытым исходным кодом.




Он используется для сбора, анализа, визуализации журналов и отправки оповещений.




Сервер Graylog состоит из 4 компонентов, а именно:




  • Graylog Server – сервер, который передает журналы для визуализации на веб-интерфейсе.
  • MongoDB – это сервер базы данных, используемый для хранения данных и конфигураций.
  • ElasticSearch – это инструмент анализа журналов для Graylog Server.
  • Java – обеспечивает среду выполнения для ElasticSearch.




Все эти инструменты работают вместе для достижения главной цели – агрегации и управления журналами.




Использование Ansible для развертывания сервера Graylog Server позволяет легко автоматизировать рекурсивную задачу.




Ansible, как и другие инструменты оркестрации, должен быть установлен на управляющем узле, чтобы иметь возможность управлять подключенными хостами.




Эта установка с помощью ansible в настоящее время работает в следующих системах:




  • CentOS / RHEL: CentOS 7/8, RHEL 7/8
  •  Debian: Debian 10 / Debian 9
  • Ubuntu: Ubuntu 20.04 / Ubuntu 18.04




Шаг 1. Установка и настройка Ansible




Ansible может быть установлен на управляющей ноде несколькими методами.




Самый простой способ установить его на любой дистрибутив Linux – это использование PIP.




Прежде чем приступить к этому методу, необходимо установить Python и PIP.




##На Ubuntu
sudo apt update
sudo apt install python3 python3-pip -y

##На CentOS
sudo yum install python3 python3-pip -y




Теперь используйте установленный PIP для установки Ansible.




sudo pip3 install ansible




На macOS вы можете использовать brew для установки Ansible




brew install ansible




Проверьте правильность установки.




$ ansible --version
ansible [core 2.12.4]
  config file = None
  configured module search path = ['/home/ubuntu/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  ansible collection location = /home/ubuntu/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.8.10 (default, Mar 15 2022, 12:22:08) [GCC 9.4.0]
  jinja version = 2.10.1
  libyaml = True




Ansible также может быть установлен из репозиториев пакетов по умолчанию:




##На Ubuntu / Debian
sudo apt install ansible

##На CentOS
sudo yum install epel-release
sudo yum install ansible




Создайте файл инвентари хостов nsible




Этот файл состоит из хостов, управляемых Ansible.




$ sudo vim /etc/ansible/hosts
[graylog]
192.168.205.9 ansible_ssh_user=username




Замените “username” в приведенной ниже команде на имя пользователя главного хоста.




Сгенерируйте и скопируйте SSH-ключи управляемого хоста на управляющую ноду.




ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub username@192.168.205.9




Это позволит вам управлять добавленными хостами без пароля.




Проверьте, работает ли это:




$ ansible -m ping all
192.168.205.9 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "changed": false,
    "ping": "pong"
}




Шаг 2. Установите роль Graylog Ansible




Роль Graylog Ansible позволяет установить и настроить Graylog.




Ее можно установить с помощью команды:




$ ansible-galaxy install graylog2.graylog
Starting galaxy role install process
- downloading role 'graylog', owned by graylog2
- downloading role from https://github.com/Graylog2/graylog-ansible-role/archive/3.3.7.tar.gz
- extracting graylog2.graylog to /Users/jkmutai/.ansible/roles/graylog2.graylog
- graylog2.graylog (3.3.7) was installed successfully
- adding dependency: lean_delivery.java (7.1.0)
- adding dependency: elastic.elasticsearch (main)
- downloading role 'java', owned by lean_delivery
- downloading role from https://github.com/lean-delivery/ansible-role-java/archive/7.1.0.tar.gz
- extracting lean_delivery.java to /Users/jkmutai/.ansible/roles/lean_delivery.java
- lean_delivery.java (7.1.0) was installed successfully
- extracting elastic.elasticsearch to /Users/jkmutai/.ansible/roles/elastic.elasticsearch
- elastic.elasticsearch (main) was installed successfully




Из приведенного выше результата вы заметите, что следующие зависимости были установлены.




  • Java
  • Elasticsearch




Проверьте, были ли установлены зависимости роли , используя команду:




ansible-galaxy install -r ~/.ansible/roles/graylog2.graylog/requirements.yml




Не забудьте заменить ~/.ansible/roles/graylog2.graylog/ на правильный путь к вашей роли Graylog Ansible.




Шаг 3. Развертывание сервера Graylog с помощью Ansible Roles




Создайте playbook YAML для установки сервера Graylog в одном экземпляре.




vim graylog-playbook.yaml




Файл будет содержать следующие строки:




- hosts: "graylog"
  remote_user: "username"
  become: True
  vars:
    #Elasticsearch vars
    es_major_version: "7.x"
    es_version: "7.10.2"
    es_enable_xpack: False
    es_instance_name: "graylog"
    es_heap_size: "1g"
    es_config:
      node.name: "graylog"
      cluster.name: "graylog"
      http.port: 9200
      transport.tcp.port: 9300
      network.host: "127.0.0.1"
      discovery.seed_hosts: "localhost:9300"
      cluster.initial_master_nodes: "graylog"
    oss_version: True
    es_action_auto_create_index: False

    #Graylog vars
    graylog_version: 4.2
    graylog_install_java: True
    graylog_password_secret: "ncc4jque0VvGImadZ7jzX26NrESt30dY4U4nNfZWAXubcvUGDKnMjbC4eEAU0KcfWX6CDk4ME80CrYPP9ErpvyFPXc2H2xKf" # Insert your own here. Generate with: pwgen -s 96 1
    graylog_root_password_sha2: "434e27fac24a15cbf8b160b7b28c143a67d9e6939cbb388874e066e16cb32d75" # Insert your own root_password_sha2 here.
    graylog_http_bind_address: "{{ ansible_default_ipv4.address }}:9000"
    graylog_http_publish_uri: "http://{{ ansible_default_ipv4.address }}:9000/"
    graylog_http_external_uri: "http://{{ ansible_default_ipv4.address }}:9000/"

  roles:
    - role: "graylog2.graylog"
      tags:
        - "graylog"




Не забудьте заменить сгенерированный командой graylog_password_secret:




$ pwgen -N 1 -s 96
ncc4jque0VvGImadZ7jzX26NrESt30dY4U4nNfZWAXubcvUGDKnMjbC4eEAU0KcfWX6CDk4ME80CrYPP9ErpvyFPXc2H2xKf




Также замените graylog_root_password_sha2, созданный с помощью команды:




$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d 'n' | sha256sum | cut -d" " -f1
Enter Password: Str0ngPassw0rd
434e27fac24a15cbf8b160b7b28c143a67d9e6939cbb388874e066e16cb32d75




Теперь разверните сервер Graylog.




ansible-playbook graylog-playbook.yaml

## With custom inventory file ###
ansible-playbook graylog-playbook.yaml -i myinventory




Проверьте, запущен ли Elasticsearch:




$ curl -X GET localhost:9200
{
  "name" : "graylog",
  "cluster_name" : "graylog",
  "cluster_uuid" : "O6qVFbgjQvmTDZ3j-cAVSg",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "oss",
    "build_type" : "rpm",
    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}




Развертывание кластера Graylog с помощью Ansible (необязательно для HA)




Также можно развернуть кластер Graylog с большим количеством экземпляров Elasticsearch и Graylog.




Приведенный ниже пример включает 3 экземпляра Elasticsearch и 3 экземпляра Graylog.




Начните с развертывания кластера Elasticsearch:




- hosts: "elasticsearch"
  vars:
    es_major_version: "7.x"
    es_version: "7.10.2"
    es_enable_xpack: False
    es_instance_name: "graylog"
    es_heap_size: "1g"
    es_config:
      node.name: "{{ ansible_hostname }}"
      cluster.name: "graylog"
      http.port: 9200
      transport.port: 9300
      network.host: "0.0.0.0"
      discovery.seed_hosts: "elasticsearch01:9300, elasticsearch02:9300, elasticsearch03:9300"
      cluster.initial_master_nodes: "elasticsearch01, elasticsearch02, elasticsearch03"
    oss_version: True
    es_action_auto_create_index: False

  roles:
    - role: "elastic.elasticsearch"




Затем перейдите к развертыванию экземпляров MongoDB:




- hosts: "graylog"
  vars:
    mongodb_version: "4.4"
    bind_ip: "0.0.0.0"
    repl_set_name: "rs0"
    authorization: "disabled"
  roles:
    - community.mongodb.mongodb_repository
    - community.mongodb.mongodb_mongod
  tasks:
    - name: "Start MongoDB"
      service:
        name: "mongod"
        state: "started"
        enabled: "yes"

- hosts: "graylog01"
  tasks:
    - name: "Install PyMongo"
      apt:
        update_cache: yes
        name: "python3-pymongo"
        state: "latest"
    - name: Configure replicaset
      community.mongodb.mongodb_replicaset:
        login_host: "localhost"
        replica_set: "rs0"
        members:
        - graylog01
        - graylog02
        - graylog03




Наконец, разверните экземпляр Graylog:




- hosts: "graylog"
  vars:
    graylog_is_master: "{{ True if ansible_hostname == 'graylog01' else False }}"
    graylog_version: 4.2
    graylog_install_java: False
    graylog_install_elasticsearch: False
    graylog_install_mongodb: False
    graylog_password_secret: "" # Insert your own here. Generate with: pwgen -s 96 1
    graylog_root_password_sha2: "" # Insert your own root_password_sha2 here.
    graylog_http_bind_address: "{{ ansible_default_ipv4.address }}:9000"
    graylog_http_publish_uri: "http://{{ ansible_default_ipv4.address }}:9000/"
    graylog_http_external_uri: "http://{{ ansible_default_ipv4.address }}:9000/"
    graylog_elasticsearch_hosts: "http://elasticsearch01:9200,http://elasticsearch02:9200,http://elasticsearch03:9200"
    graylog_mongodb_uri: "mongodb://graylog01:27017,graylog02:27017,graylog03:27017/graylog"

  roles:
    - role: "graylog2.graylog"




Таким образом, у вас будет кластер Graylog с 3 экземплярами Elasticsearch и 3 экземплярами Graylog.




Шаг 4. Получите доступ к веб-интерфейсу Graylog




Теперь разрешите порт 9000 на брандмауэре:




##На Firewalld
sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

##На UFW
sudo ufw allow 9000/tcp




Войдите в систему, используя стандартного пользователя admin и пароль, заданный с помощью graylog_root_password_sha2.




После успешной аутентификации вы должны получить доступ.



2022-06-13T23:11:29
Software

Apache HTTP Server 2.4.54 содержит 19 изменений и исправляет 8 уязвимостей.

Apache Software Foundation и Apache HTTP Server Project недавно объявили о выпуске новой версии Apache HTTP Server 2.4.54, так как эта версия Apache является последней версией GA. из ветки Apache HTTPD следующего поколения 2.4.x и представляет пятнадцать лет инноваций проекта и рекомендуется по сравнению со всеми предыдущими версиями. Этот выпуск Apache представляет собой выпуск, посвященный безопасности, функциям и исправлениям ошибок.

Новая версия, котораяe представляет 19 изменений и исправляет 8 уязвимостей, из которых некоторые из них разрешали доступ к данным, также могли привести, среди прочего, к отказу в обслуживании.





Читать

Вышла новая версия Cinnamon 5.4.

Через 6 месяцев разработки анонсирован выпуск новой версии популярной среды рабочего стола, Корица 5.4, в рамках которого сообщество разработчиков дистрибутива Linux Mint разрабатывает форк GNOME Shell.

Для тех, кто не знаком с этой средой рабочего стола «Cinnamon», могу сказать, что это основан на компонентах GNOME, но эти компоненты поставляются как периодически синхронизируемый форк без внешних зависимостей для GNOME.



Читать

Новая версия Apache CloudStack 4.17 уже выпущена

Новая версия облачной платформы «Apache CloudStack 4.17» уже выпущен и в этой новой версии выделены различные изменения и реализации.

Тем, кто не знаком с Apache CloudStack, следует знать, что это платформа, которая позволяет автоматизировать развертывание, настройка и обслуживание частной, гибридной или публичной облачной инфраструктуры (IaaS, инфраструктура как услуга).



Читать

App Outlet 2.1.0: Как установить этот универсальный магазин приложений в Linux?

App Outlet 2.1.0: Как установить этот универсальный магазин приложений в Linux?

App Outlet 2.1.0: Как установить этот универсальный магазин приложений в Linux?

Немного больше 2 лет, мы сделали первый пост о приложении Приложение Outlet. И к тому времени указанное приложение было на Версия 1.3.2. Итак, по прошествии стольких лет, мы решили воспользоваться тем, что недавно у него появился переделывать доступен для него 2022 годпозвоните «Аутлет приложения 2.1.0» чтобы увидеть, как много изменилось.

Поэтому мы не только прокомментируем ваше текущие новостиНо мы установим и протестируем, как мы обычно делаем с большинством приложений, обсуждаемых в DesdeLinux.



Читать