Gitlab mit einem freien Let's Encrpyt Zertifikat absichern

June 09, 2016

Reading time ~2 PLUGIN_READINGTIME.MINUTES

Der über das HTTP Protokoll unverschlüsselte Zugriff auf die kollaborative Versionsverwaltung Gitlab ist sicherheitstechnisch ein No-Go und gefährdet die Sicherheit der verwalteten Projekte. Mit wenigen Schritten und einem kostenlosen Zertifikat von Let's Encrypt aktiviert man einen gesicherten Zugang.

Let's Encrypt Klienten installieren

sudo mkdir /root/letsencrypt
sudo git clone https://github.com/letsencrypt/letsencrypt /root/letsencrypt/client/
sudo /root/letsencrypt/client/letsencrypt-auto --help

LE Konfiguration für GitLab

cat <<EOF | sudo tee /root/letsencrypt/gitlab.ini
authenticator = webroot
webroot-path = /home/git/gitlab/public/
domains = gitlab.domain.tld
email = mplx-letsencrypt@donotreply.at
rsa-key-size = 4096
agree-tos
EOF

Zertifikat erstellen

sudo /root/letsencrypt/client/letsencrypt-auto certonly -c /root/letsencrypt/gitlab.ini
> certificate and chain have been saved at /etc/letsencrypt/live/gitlab.domain.tld/fullchain.pem
> account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt

Webserver NGINX konfigurieren

sudo cp /home/git/gitlab/lib/support/nginx/gitlab-ssl /etc/nginx/sites-available/gitlab-ssl
sudo ln -s /etc/nginx/sites-available/gitlab-ssl /etc/nginx/sites-enabled/gitlab-ssl
sed -i 's/YOUR_SERVER_FQDN/gitlab.domain.tld/g' /etc/nginx/sites-enabled/gitlab-ssl
sudo mkdir /etc/nginx/ssl/
sudo ln -s /etc/letsencrypt/live/gitlab.domain.tld/fullchain.pem /etc/nginx/ssl/gitlab.crt
sudo ln -s /etc/letsencrypt/live/gitlab.domain.tld/privkey.pem /etc/nginx/ssl/gitlab.key-size

Gitlab konfigurieren

port 443, https true

sudo -u git -H vi /home/git/gitlab/config/gitlab.yml

http to https

sudo -u git -H vi /home/git/gitlab-shell/config.yml

Gitlab via HTTP entfernen

rm /etc/nginx/sites-enabled/gitlab

Assets vorkompilieren

cd /home/git/gitlab
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production

Gitlab neu starten

sudo service gitlab restart
sudo service nginx restart

Zertifikat erneuern

sudo /root/.local/share/letsencrypt/bin/letsencrypt certonly -c /root/letsencrypt/gitlab.ini --renew-by-default
sudo /etc/init.d/nginx restart
comments powered by Disqus

Und es machte BOOM!

Die neue Logitech SqueezeBox Boom ist endlich auch bei uns gelandet. Während Logitech bekannte Blogger bereits vorab mit der Boom beglückte,…… Continue reading