Захтеви
Генеришите сертификат и приватни кључ
Конфигуришите ХАПроки
Овај чланак ће вас провести кроз подешавање ССЛ терминације на ХАПроки, за шифровање саобраћаја преко ХТТПС-а. Користићемо самопотписани ССЛ сертификат за нови фронтенд. Претпоставља се да већ имате инсталиран и конфигурисан ХАПроки са стандардним ХТТП фронтендом.
Захтеви
- Вултр ВПС
- ХАПроки 1.5
- Убунту 14.04 ЛТС (требало би да ради на другим верзијама и дистрибуцији)
Генеришите сертификат и приватни кључ
Покрените следеће линије кода да бисте генерисали приватни кључ и самопотписани сертификат који ће радити са ХАПроки.
openssl genrsa -out /etc/ssl/private/server.key 2048
mkdir /etc/ssl/csr
openssl req -new -key /etc/ssl/private/server.key -out /etc/ssl/csr/server.csr
openssl x509 -req -days 365 -in /etc/ssl/csr/server.csr -signkey /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt
cat /etc/ssl/certs/server.crt /etc/ssl/private/server.key > /etc/ssl/certs/server.bundle.pem
Прва ствар коју треба да урадите је да се уверите да је ССЛв3 онемогућен. Због ПООДЛЕ напада, ССЛв3 се више не сматра безбедним. Све апликације и сервери треба да користе ТЛС 1.0 и новији. Користећи свој омиљени уређивач текста, отворите датотеку /etc/haproxy/haproxy.cfg. Унутра потражите линију ssl-default-bind-options no-sslv3испод globalодељка. Ако га не видите, додајте ту линију на крај одељка пре defaultsодељка. Ово ће осигурати да је ССЛв3 глобално онемогућен. Можете га поставити и унутар ваших фронтенд одељака, али се препоручује да га онемогућите глобално.
На подешавање ХТТПС-а. Направите нови одељак фронтенда под називом web-https.
frontend web-https
bind public_ip:443 ssl crt /etc/ssl/certs/server.bundle.pem
reqadd X-Forwarded-Proto:\ https
rspadd Strict-Transport-Security:\ max-age=31536000
default_backend www-backend
Објаснити:
bind public_ip:443(промена public_ipна ваш ВПС јавни ИП) каже ХАПроки-у да слуша сваки захтев који се шаље на ИП адресу на порту 443(ХТТПС порт).
ssl crt /etc/ssl/certs/server.bundle.pem каже ХАПроки-у да користи ССЛ сертификат који је претходно генерисан.
reqadd X-Forwarded-Proto:\ https додаје ХТТПС заглавље на крај долазног захтева.
rspadd Strict-Transport-Security:\ max-age=31536000 безбедносна политика за спречавање напада на нижу верзију.
Не морате да правите никакве додатне измене у свом позадинском одељку.
Ако желите да ХАПроки подразумевано користи ХТТПС, додајте redirect scheme https if !{ ssl_fc }на почетак www-backendодељка. Ово ће присилити ХТТПС преусмеравање.
Сачувајте конфигурацију и покрените service haproxy restartда бисте поново покренули ХАПРоки. Сада сте спремни да користите ХАПроки са ССЛ крајњом тачком.