Поднять WORDPRESS c помощью docker-compose c доступом к сайту через nginx c сертификатами letsencrypt
Поднимаем так же базу данных MariaDB с доступом к ней через phpmyadmin
Для получения сертификата необходимо остановить контейнер nginx и запустить:
docker compose run --rm -p 80:80 -p 443:443 --entrypoint "certbot certonly --standalone -d gl-era.com" certbot
Для обновления сертификата необходимо остановить контейнер nginx и запустить:
docker-compose run --rm -p 80:80 -p 443:443 --entrypoint "certbot renew --standalone" certbot
=======
Сайт документации проекта: https://docs.crowdsec.net
Защита организована через анализ данных логов nginx и auth.log хоста.
Проверяем, читает ли наша установка CrowdSec журналы должным образом:
docker compose exec crowdsec cscli metricsСписок команд cscli Hub позволяет нам увидеть, какие парсеры и сценарии развернуты:
docker compose exec crowdsec cscli hub listДоступен веб-интерфейс Metabase с дашбордами умолчанию на https://domain.com:3000/. Написан на java - ресурсоемкий.
Логин по умолчанию: crowdsec@crowdsec.net Пароль: !!Cr0wdS3c_M3t4b4s3??
Установка на хосте:
wget https://github.com/crowdsecurity/cs-firewall-bouncer/releases/download/v0.0.28/crowdsec-firewall-bouncer-linux-amd64.tgz
tar xzf crowdsec-firewall-bouncer-linux-amd64.tgz
cd crowdsec-firewall-bouncer-v0.0.28
sudo ./install.shCоздание токена API для нашего bouncer:
docker compose exec crowdsec cscli bouncers add HostFirewallBouncerДобавляем токен и адрес контейнера (http://172.20.0.6:8080/) в /etc/crowdsec/bouncers/crowdsec-firewall-bouncer.yaml и перезапускаем службу.
Посмотреть список заблокированных ip-адресов:
docker compose exec crowdsec cscli decisions listУдалить ip-адрес из списка:
docker compose exec crowdsec cscli decisions delete -i 1.2.3.4https://docs.crowdsec.net/u/bouncers/wordpress/
Устанавливаем плагин в wordpress.
Получаем API для bouncer wordpress:
docker compose exec crowdsec cscli bouncers add WordpressBouncerДобавляем полученный ключ API в настройки плагина в Bouncer API key.
Local API URL: http://crowdsec:8080
Устанавливаем
docker compose exec cscli collections install crowdsecurity/wordpress
docker compose exec cscli collections install crowdsecurity/appsec-wordpressПосмотреть список адресов:
docker compose exec crowdsec cat /etc/crowdsec/parsers/s02-enrich/whitelists.yamlДобавить адрес в список:
docker compose exec crowdsec sh -c "sed '/ip:/a\\ - \"1.2.3.4\"' /etc/crowdsec/parsers/s02-enrich/whitelists.yaml > /tmp/whitelists.yaml && mv /tmp/whitelists.yaml /etc/crowdsec/parsers/s02-enrich/whitelists.yaml"