Add docker compose and helper scripts

This commit is contained in:
Michal Němec 2021-05-06 14:32:56 +02:00
parent ff350afe5d
commit 20802b6666
4 changed files with 49 additions and 21 deletions

View File

@ -12,8 +12,8 @@ FROM ubuntu:14.04
MAINTAINER Maxime VISONNEAU <maxime.visonneau@gmail.com> MAINTAINER Maxime VISONNEAU <maxime.visonneau@gmail.com>
## Custom variables ## Custom variables
ENV KEYS_AMOUNT = 10 # Total of keys that will be generated = Amount of Yubikey you want to manage with this KSM ENV KEYS_AMOUNT = 0 # Total of keys that will be generated = Amount of Yubikey you want to manage with this KSM
ENV DB_PASSWORD = unsecured # Database password ENV DB_PASSWORD = unsecure # Database password
# Installation & Configuration # Installation & Configuration
@ -31,18 +31,21 @@ RUN echo 'exit 0' > /usr/sbin/policy-rc.d
RUN apt-get install -y --force-yes yubikey-ksm yubikey-val RUN apt-get install -y --force-yes yubikey-ksm yubikey-val
RUN gpg --no-tty --batch --trust-model always --gen-key /root/gpg.conf RUN gpg --no-tty --batch --trust-model always --gen-key /root/gpg.conf
RUN gpg --no-tty --import default.sec RUN gpg --no-tty --import default.sec
RUN ykksm-gen-keys --urandom 1 $KEYS_AMOUNT > /root/keys.txt #COPY generate_keys.sh /root/
RUN gpg --no-tty --trust-model always -a -s --encrypt -r `gpg --no-tty --list-keys | head -n 3 | tail -1 | awk '{print $2}' | cut -d '/' -f2` < /root/keys.txt > /root/encrypted_keys.txt RUN chmod +x /root/generate_keys.sh && /root/generate_keys.sh $KEYS_AMOUNT
RUN /etc/init.d/mysql start && ykksm-import < /root/encrypted_keys.txt
RUN /etc/init.d/mysql start && \ # RUN ykksm-gen-keys --urandom 1 $KEYS_AMOUNT > /root/keys.txt
echo "######### KEYS ###########" && \ # RUN gpg --no-tty --trust-model always -a -s --encrypt -r `gpg --no-tty --list-keys | head -n 3 | tail -1 | awk '{print $2}' | cut -d '/' -f2` < /root/keys.txt > /root/encrypted_keys.txt
echo "---" && \ # RUN /etc/init.d/mysql start && ykksm-import < /root/encrypted_keys.txt
for i in `grep -v ^# /root/keys.txt`; do echo "key`echo $i | cut -d',' -f1`:"; echo " public_id: `echo $i | cut -d',' -f2`"; echo " private_id: `echo $i | cut -d',' -f3`"; echo " secret_key: `echo $i | cut -d',' -f4`"; done; \ # RUN /etc/init.d/mysql start && \
rm -f /root/keys.txt && \ # echo "######### KEYS ###########" && \
echo "######## CLIENT ##########" && \ # echo "---" && \
echo "---\nclient:" && \ # for i in `grep -v ^# /root/keys.txt`; do echo "key`echo $i | cut -d',' -f1`:"; echo " public_id: `echo $i | cut -d',' -f2`"; echo " private_id: `echo $i | cut -d',' -f3`"; echo " secret_key: `echo $i | cut -d',' -f4`"; done; \
echo " id: `ykval-export-clients | cut -d',' -f1`" && \ # rm -f /root/keys.txt && \
echo " key: `ykval-export-clients | cut -d',' -f4`" # echo "######## CLIENT ##########" && \
# echo "---\nclient:" && \
# echo " id: `ykval-export-clients | cut -d',' -f1`" && \
# echo " key: `ykval-export-clients | cut -d',' -f4`"
# Expose and Startup # Expose and Startup
EXPOSE 80 EXPOSE 80

12
conf/generate_keys.sh Executable file
View File

@ -0,0 +1,12 @@
ykksm-gen-keys --urandom 1 $1 > /root/keys.txt
gpg --no-tty --trust-model always -a -s --encrypt -r `gpg --no-tty --list-keys | head -n 3 | tail -1 | awk '{print $2}' | cut -d '/' -f2` < /root/keys.txt > /root/encrypted_keys.txt
/etc/init.d/mysql start && ykksm-import < /root/encrypted_keys.txt
/etc/init.d/mysql start && \
echo "######### KEYS ###########" && \
echo "---" && \
for i in `grep -v ^# /root/keys.txt`; do echo "key`echo $i | cut -d',' -f1`:"; echo " public_id: `echo $i | cut -d',' -f2`"; echo " private_id: `echo $i | cut -d',' -f3`"; echo " secret_key: `echo $i | cut -d',' -f4`"; done; \
rm -f /root/keys.txt && \
echo "######## CLIENT ##########" && \
echo "---\nclient:" && \
echo " id: `ykval-export-clients | cut -d',' -f1`" && \
echo " key: `ykval-export-clients | cut -d',' -f4`"

View File

@ -1,16 +1,16 @@
mysql-server-5.5 mysql-server/root_password_again password unsecured mysql-server-5.5 mysql-server/root_password_again password unsecure
mysql-server-5.5 mysql-server/root_password password unsecured mysql-server-5.5 mysql-server/root_password password unsecure
yubikey-ksm yubikey-ksm/db/dbname string ykksm yubikey-ksm yubikey-ksm/db/dbname string ykksm
yubikey-ksm yubikey-ksm/db/app-user string ykksmreader yubikey-ksm yubikey-ksm/db/app-user string ykksmreader
yubikey-ksm yubikey-ksm/database-type select mysql yubikey-ksm yubikey-ksm/database-type select mysql
yubikey-ksm yubikey-ksm/mysql/admin-pass password unsecured yubikey-ksm yubikey-ksm/mysql/admin-pass password unsecure
yubikey-ksm yubikey-ksm/mysql/app-pass password unsecured yubikey-ksm yubikey-ksm/mysql/app-pass password unsecure
yubikey-ksm yubikey-ksm/mysql/admin-user string root yubikey-ksm yubikey-ksm/mysql/admin-user string root
yubikey-ksm yubikey-ksm/mysql/method select unix socket yubikey-ksm yubikey-ksm/mysql/method select unix socket
yubikey-val yubikey-val/db/dbname string ykval yubikey-val yubikey-val/db/dbname string ykval
yubikey-val yubikey-val/db/app-user string ykval_verifier yubikey-val yubikey-val/db/app-user string ykval_verifier
yubikey-val yubikey-val/mysql/admin-pass password unsecured yubikey-val yubikey-val/mysql/admin-pass password unsecure
yubikey-val yubikey-val/mysql/app-pass password unsecured yubikey-val yubikey-val/mysql/app-pass password unsecure
yubikey-val yubikey-val/mysql/method select unix socket yubikey-val yubikey-val/mysql/method select unix socket
yubikey-val yubikey-val/database-type select mysql yubikey-val yubikey-val/database-type select mysql
yubikey-val yubikey-val/mysql/admin-user string root yubikey-val yubikey-val/mysql/admin-user string root

13
docker-compose.yml Normal file
View File

@ -0,0 +1,13 @@
version: "3.5"
services:
yubikey-val:
container_name: yubikey_val
build: .
ports:
- 8889:80
networks:
- bitwarden
networks:
bitwarden:
external: true
name: bitwarden