Adding Nginx container

* Setting Nginx with SSL and basic auth, closes #20
* Set Content-Type on Kibana API config.
This commit is contained in:
Miguelangel Freitas
2017-09-24 14:08:02 -04:00
parent a70c127228
commit 160bf4bbe9
3 changed files with 70 additions and 3 deletions
+20 -2
View File
@@ -53,8 +53,8 @@ services:
image: wazuh/wazuh-kibana
hostname: kibana
restart: always
ports:
- "5601:5601"
# ports:
# - "5601:5601"
networks:
- docker_elk
depends_on:
@@ -65,6 +65,24 @@ services:
entrypoint: sh wait-for-it.sh elasticsearch
# environment:
# - "WAZUH_KIBANA_PLUGIN_URL=http://your.repo/wazuhapp-2.1.0-5.5.1.zip"
nginx:
image: nginx:latest
hostname: nginx
restart: always
command: bash /configure.sh
volumes:
- ./nginx/configure.sh:/configure.sh
environment:
- NGINX_PORT=443
ports:
- "80:80"
- "443:443"
networks:
- docker_elk
depends_on:
- kibana
links:
- kibana
networks:
docker_elk:
+1 -1
View File
@@ -26,7 +26,7 @@ sleep 30
echo "Configuring defaultIndex to wazuh-alerts-*"
curl -s -XPUT http://$host:9200/.kibana/config/5.5.2 -d '{"defaultIndex" : "wazuh-alerts-*"}' > /dev/null
curl -s -XPUT http://$host:9200/.kibana/config/5.5.2 -H 'Content-Type: application/json' -d '{"defaultIndex" : "wazuh-alerts-*"}' > /dev/null
sleep 30
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
set -e
if [ ! -d /etc/pki/tls/certs ]; then
echo "Generating SSL certificates"
if [ ! -x /usr/bin/openssl ]; then
apt-get update >/dev/null
apt-get -y install openssl >/dev/null
fi
mkdir -p /etc/pki/tls/certs /etc/pki/tls/private
openssl req -x509 -batch -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/kibana-access.key -out /etc/pki/tls/certs/kibana-access.pem >/dev/null
fi
if [ ! -f /etc/nginx/conf.d/kibana.htpasswd ]; then
echo "Setting kibana credentials"
if [ ! -x /usr/bin/htpasswd ]; then
apt-get update >/dev/null
apt-get -y install apache2-utils >/dev/null
fi
echo bar|htpasswd -i -c /etc/nginx/conf.d/kibana.htpasswd foo >/dev/null
else
echo "Kibana credentials already configured"
fi
echo "Configuring NGINX"
cat > /etc/nginx/conf.d/default.conf <<EOF
server {
listen 80;
listen [::]:80;
return 301 https://\$host:$NGINX_PORT\$request_uri;
}
server {
listen $NGINX_PORT default_server;
listen [::]:$NGINX_PORT;
ssl on;
ssl_certificate /etc/pki/tls/certs/kibana-access.pem;
ssl_certificate_key /etc/pki/tls/private/kibana-access.key;
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
proxy_pass http://kibana:5601/;
}
}
EOF
echo "Starting Nginx"
nginx -g 'daemon off; error_log /dev/stdout info;'