В этой статье рассказывается, как установить сервер Wazuh на CentOS 8. Сервер Wazuh — это бесплатный инструмент мониторинга безопасности с открытым исходным кодом, который использует эластичный стек (ELK). Он используется для отслеживания событий безопасности на уровне приложений и ОС.
Таким образом, вы можете получить информацию об обнаружении угроз, реагировании на инциденты и мониторинге целостности. В этом руководстве мы развернем Wazuh на одноузловом хосте CentOS с установленным ELK на том же хосте.
Вы можете использовать Wazuh для следующих приложений:
- Анализ безопасности
- Анализ журнала
- Обнаружение уязвимости
- Безопасность контейнеров
- Облачная безопасность
Следующие шаги помогут нам настроить сервер Wazuh на экземпляре CentOS 8.
- Шаг 1 — Установите Wazuh Server на CentOS 8
- Шаг 2 — Установите Elastic Stack на CentOS 8
- Установить Java на CentOS 8
- Установите Elasticsearch на CentOS 8
- Установите Kibana на CentOS 8
- Установите Filebeat на CentOS 8
- Настроить Filebeat в CentOS 8
- Шаг 3 — Установите модуль Filebeat Wazuh
- Шаг 4 — Установите плагин Kibana для Wazuh
- Шаг 5 — Настройте Firewalld
Шаг 1 — Установите Wazuh Server на CentOS 8
Убедитесь, что ваша система обновлена:
1 |
sudo dnf update -y |
Добавить ключ Wazuh GPG
1 |
sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH |
Добавить репо Wazuh
1 2 3 4 5 6 7 8 9 |
sudo tee /etc/yum.repos.d/wazuh.repo <<EOF [wazuh] gpgcheck=1 gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH enabled=1 name=EL-Wazuh baseurl=https://packages.wazuh.com/4.x/yum/ protect=1 EOF |
Установите сервер Wazuh:
1 |
sudo dnf -y install wazuh-manager |
Запустите сервер Wazuh
1 |
sudo systemctl enable --now wazuh-manager |
Отключите обновления, чтобы избежать проблем с контролем версий.
1 |
sudo sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo |
Шаг 2 — Установите Elastic Stack на CentOS 8
Мы продолжим установку стека ELK на нашем экземпляре CentOS 8. Elasticsearch, Logstash и Kibana составляют стек ELK, который используется для анализа журналов. Эти инструменты работают в сотрудничестве с сервером Wazuh, обеспечивая анализ инцидентов безопасности и управление ими.
Установить Java на CentOS 8
Elasticsearch — это приложение Java, это означает, что нам необходимо установить JDK.
1 |
sudo dnf install java-11-openjdk-devel |
Подтвердите, что он у вас установлен
1 |
java -version |
Пример вывода:
1 2 3 |
openjdk version "11.0.5" 2019-10-15 LTS OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing) |
Установите Elasticsearch на CentOS 8
Добавить ключ GPG для Elasticsearch
1 |
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch |
Добавить файл репо Elasticsearch
1 2 3 4 5 6 7 8 9 10 |
sudo tee /etc/yum.repos.d/elasticsearch.repo << EOF [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF |
Установите Elasticsearch:
1 |
sudo dnf install elasticsearch |
Запустите и включите Elasticsearch
1 |
sudo systemctl enable elasticsearch.service --now |
Установите Kibana на CentOS 8
Kibana используется для приборной панели в ELK.
1 |
sudo dnf -y install kibana |
Настроить кибану — файл конфигурации для кибаны находится в папке /etc/kibana/kibana.yml
.
Настройте хост сервера так, чтобы он указывал на приложение localhost elasticsearch.
1 2 3 4 5 6 7 8 9 10 |
$ sudo vim /etc/kibana/kibana.yml # Kibana is served by a back end server. This setting specifies the port to use. # server.port: 5601 server.port: 5601 ... # To allow connections from remote users, set this parameter to a non-loopback address. #server.host: "localhost" server.host: "localhost" # The URL for the elasticsearch instance elasticsearch.hosts: [http://localhost:9200] |
Запустите и включите Kibana
1 |
sudo systemctl enable --now kibana |
Установите Filebeat на CentOS 8
Filebeat — это отправитель журналов, который используется для отправки журналов в Easticsearch из указанных каталогов журналов.
1 |
sudo yum install filebeat |
Настроить Filebeat в CentOS 8
Настройте Flebeat для работы с Wazuh. Сделайте резервную копию существующего файла конфигурации Filebeat, затем замените его загруженным предварительно настроенным файлом.
1 2 |
sudo mv /etc/filebeat/filebeat.yml{,.bak} sudo curl -so /etc/filebeat/filebeat.yml https://raw.githubusercontent.com/wazuh/wazuh/v4.0.3/extensions/filebeat/7.x/filebeat.yml |
Отредактируйте загруженный файл в соответствии с вашими настройками
1 2 3 |
$ sudo vim /etc/filebeat/filebeat.yml #output.elasticsearch.hosts: ['http://YOUR_ELASTIC_SERVER_IP:9200'] output.elasticsearch.hosts: ['http://localhost:9200'] |
Также добавьте следующие строки в файл конфигурации, если вы хотите указать путь, из которого filebeat должен получать журналы.
1 2 3 4 5 6 7 |
logging.level: info logging.to_files: true logging.files: path: /var/log/filebeat name: filebeat keepfiles: 7 permissions: 0644 |
Проверьте вывод, как показано ниже:
1 2 3 4 5 6 7 8 9 10 11 |
$ sudo filebeat test output elasticsearch: http://localhost:9200... parse url... OK connection... parse host... OK dns lookup... OK addresses: 192.168.1.83 dial up... OK TLS... WARN secure connection disabled talk to server... OK version: 7.9.3 |
Шаг 3 — Установите модуль Filebeat Wazuh
Загрузите и установите модуль wazuh для Filebeat, используя следующие команды:
1 2 3 |
wget https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.1.tar.gz -P /tmp/ sudo mkdir /usr/share/filebeat/module/wazuh sudo tar xzf /tmp/wazuh-filebeat-0.1.tar.gz -C /usr/share/filebeat/module/wazuh/ --strip-components=1 |
Загрузите шаблон индекса предупреждений Wazuh Elasticsearch и настройте его.
1 2 3 |
$ sudo curl -so /etc/filebeat/wazuh-template.json https://raw.githubusercontent.com/wazuh/wazuh/v4.0.3/extensions/elasticsearch/7.x/wazuh-template.json $ sudo filebeat setup --path.config /etc/filebeat --path.home /usr/share/filebeat --path.data /var/lib/filebeat --index-management -E setup.template.json.enabled=false |
Перезапустить Filebeat
1 |
sudo systemctl restart filebeat |
Шаг 4 — Установите плагин Kibana для Wazuh
Установите право собственности на каталоги /usr/share/kibana/optimize/ и /usr/share/kibana/plugins для пользователя kibana .
1 |
sudo chown -R kibana: /usr/share/kibana/{optimize,plugins} |
Установите плагин Kibana для wazuh.
1 2 |
$ cd /usr/share/kibana $ sudo -u kibana bin/kibana-plugin install https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.0.3_7.9.3-1.zip |
По завершении проверьте установленные плагины
1 2 |
$ sudo -u kibana /usr/share/kibana/bin/kibana-plugin list wazuh@4.0.3 |
Перезапустите требуемую службу, чтобы изменения вступили в силу.
1 2 3 |
sudo systemctl restart kibana sudo systemctl restart elasticsearch sudo systemctl restart wazuh-manager |
Шаг 5 — Настройте Firewalld
Настройте брандмауэр, чтобы разрешить доступ к Kibana с удаленного хоста. Вам также может потребоваться разрешить Elasticsearch, если у вас установлены Kibana и Elasticsearch на разных хостах.
1 2 |
sudo firewall-cmd --zone=public --add-port=5601/tcp --permanent sudo firewall-cmd --reload |
Теперь вы можете получить доступ к своему интерфейсу кибаны, используя http: // server-IP: 5601
Затем вы можете перейти в левое меню и выбрать Wazuh в списке.
Благодаря этому вы сможете контролировать свои системы с помощью сервера Wazuh, настроив агентов в своих клиентских системах.