Ovirt์™€ Let's Encrypt๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์ธํ”„๋ผ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ €๋Š” ๋ถˆํ•„์š”ํ•œ ์ œ์Šค์ฒ˜ ์—†์ด ๋™๋ฃŒ(๊ฐœ๋ฐœ์ž, ํ…Œ์Šคํ„ฐ, ๊ด€๋ฆฌ์ž ๋“ฑ)๊ฐ€ ovirt์—์„œ ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์˜ค๋ž˜๋˜๊ณ  ๊ณ ํ†ต์Šค๋Ÿฌ์šด ์งˆ๋ฌธ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Ovirt์—๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ตฌ์„ฑ ์š”์†Œ(์›น ์ธํ„ฐํŽ˜์ด์Šค ์ž์ฒด, noVNC ์ฝ˜์†”, ๋””์Šคํฌ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

"Make It Bad" ๋ฒ„ํŠผ์„ ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์†์žก์ด๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ปท ์•„๋ž˜์˜ ์ „์ฒด ์ง€์นจ:

Ovirt์™€ Let's Encrypt๋ฅผ ์นœ๊ตฌ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

๋ฉด์ฑ… ์กฐํ•ญ :

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์ œ๊ฐ€ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์–ด๋–ค ์ด์œ ๋กœ ์ธํ”„๋ผ ๋„๋ฉ”์ธ์ด LAN, ๋กœ์ปฌ ๋“ฑ์˜ ๊ฐœ์ธ ์˜์—ญ์— ์ƒ์„ฑ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ ์˜์—ญ์—์„œ ์กฐ์ง์˜ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Alex-GLuck-Awesome-Company.local ๋„๋ฉ”์ธ ๋Œ€์‹  ํšŒ์‚ฌ ์›น์‚ฌ์ดํŠธ Alex-GLuck-Awesome-Company.com์˜ ๋„๋ฉ”์ธ์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์กฐ์ง์˜ ๋„๋ฉ”์ธ์„ ์ถ”์ ํ•  ์ˆ˜ ์—†์–ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ ๋ด ๊ฑฑ์ •๋œ๋‹ค๋ฉด ์—ฐ๊ฐ„ 100๋ฃจ๋ธ”์˜ ๋น„์šฉ์œผ๋กœ aglac.com ์ธํ”„๋ผ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ๋„๋ฉ”์ธ์„ ๊ตฌ์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ ์˜์—ญ์—์„œ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ˆ˜์ต์„ฑ์ด ๋†’์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

1. ๊ท€ ๊ธฐ๊ด€์€ ๊ณต๊ฐœ์ ์œผ๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. VPNํŒŒ์ผ ๊ณต์œ  ์„œ๋น„์Šค(Seafile, Nextcloud ๋“ฑ)๋ฅผ ๋น„๋กฏํ•œ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค์—์„œ ํŠธ๋ž˜ํ”ฝ ์•”ํ˜ธํ™”๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋Œ€๊ฐœ ํ—ˆ์ˆ ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ง€๋ฉฐ, ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ(MitM) ๋ฐฉ์–ด๋Š” ์–ด๋ ต๋‹ค๋Š” ์ด์œ ๋กœ (์‚ฌ์‹ค์€ ์–ด๋ ต์ง€ ์•Š์ง€๋งŒ) ๋‹ค๋ฃจ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜๋Š” ์‚ฌ๋ฌด์‹ค ๋‚ด๋ถ€์— ํ•˜๋‚˜์˜ ์„œ๋น„์Šค ์ฃผ์†Œ๊ฐ€ ์žˆ๊ณ  ์ธํ„ฐ๋„ท์— ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ์„œ๋น„์Šค ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ œํ•œ๋œ ์ „๋ฌธ ์ž์›์ด ๋‚ญ๋น„๋ฉ๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์ง์›๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Š” ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค.

2. ๋ฌด๋ฃŒ ์ธ์ฆ ๊ธฐ๊ด€์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด๋ถ€ ์„œ๋น„์Šค๋ฅผ ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ PKI๋Š” ๋ฌด๋ฃŒ ์ธ์ฆ ๊ธฐ๊ด€์˜ PKI๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์œ„ํ•ด ์—ฐ๊ฐ„ 100๋ฃจ๋ธ”์„ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

3. ์ž์ฒด ์ธ์ฆ ๊ธฐ๊ด€์„ ์‚ฌ์šฉํ•˜๋ฉด BYOD๋กœ ์ž‘์—…ํ•˜๋ ค๋Š” ์›๊ฒฉ ์ง์›๊ณผ ๋™๋ฃŒ(์ž์‹ ์˜ ๋…ธํŠธ๋ถ, ํœด๋Œ€ํฐ, ํƒœ๋ธ”๋ฆฟ์„ ๊ฐ€์ ธ์˜ด)์—๊ฒŒ ์ง€์‹œ๋ฅผ ๋‚ด๋ฆฌ๊ฒŒ ๋˜๋ฉฐ ํ•ด๋‹น ์žฅ์น˜๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ Mac, Linux, Android, iOS, Windows๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌํ•œ ๋™๋ฌผ์›์„ ์ง€์›ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  ๋ชจ๋“  ๊ฒƒ์—๋Š” ์˜ˆ์™ธ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋ณด์•ˆ ์ •์ฑ…์„ ์ˆ˜๋ฆฝํ•œ ๋‹ค๋ฅธ ๊ฐ€ํ˜นํ•œ ๊ธฐ์—…์ด ์žˆ๋Š” ์€ํ–‰์€ ๊ฒฐ์ฝ” ์ง์› ์„œ๋น„์Šค๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๋“ค์„ ์œ„ํ•ด ์ผ์ • ๊ธˆ์•ก์œผ๋กœ CA ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ๋ฃŒ ์ธ์ฆ ๊ธฐ๊ด€(Google โ€œ๋ฃจํŠธ ์„œ๋ช… ์„œ๋น„์Šคโ€)์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณต๊ฐœ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ˆ˜์ต์„ฑ์ด ๋†’์€ ๋‹ค๋ฅธ ์ด์œ ๊ฐ€ ์žˆ์ง€๋งŒ(๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๊ทธ๊ฒƒ์ด ๊ท€ํ•˜์˜ ์†Œ์œ ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค), ์ด ๊ธฐ์‚ฌ๋Š” ์ด์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์š”์ ์€ ...

์ฃผ๋ชฉ! Let's Encrypt CA ์ธ์ฆ์„œ๋ฅผ ovirt์˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ชฉ๋ก์— ์ถ”๊ฐ€ํ•˜๋ฉด ์‹œ์Šคํ…œ ๋ณด์•ˆ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

๊ฐ€์žฅ ๋จผ์ € ์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ Ovirt ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ธํ„ฐ๋„ท์— ๋…ธ์ถœํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์œ ์Šต๊ด€์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์‹ค์งˆ์ ์ธ ์˜๋ฏธ๊ฐ€ ์—†์œผ๋ฉฐ ์ถ”๊ฐ€์ ์ธ ๋ณด์•ˆ ์œ„ํ˜‘์„ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ์˜ ๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ ์ค‘ ํ•˜๋‚˜์—์„œ ์ธ์ฆ์„œ๋ฅผ ์–ป์€ ๋‹ค์Œ ovirt-engine์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ์™€ ํ‚ค๋ฅผ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ovirt ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ƒˆ ํ˜ธ์ŠคํŠธ์˜ ์™ธ๋ถ€ ์ฃผ์†Œ๋ฅผ DNS์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ovirtengine.example.com, certbot ๋ฐ nginx ์„ค์น˜๋Š” ๋’ค์—์„œ ๋‚จ๊ฒจ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค(์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ด๋ฏธ Habrรฉ์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค).

njinx ๋ฒ„์ „ ์„ค์ • >=1.15.7

/etc/nginx/conf.d/default.conf

server {
    server_name _;
    listen 80 default_server;
    location /robots.txt { alias /usr/share/nginx/html/robots.txt; }
    location /.well-known {
        root /usr/share/nginx/html;
    }
    location / {
        return 444;
    }
}

server {
    server_name _;
    listen 443 ssl http2 default_server;
    location /robots.txt { alias /usr/share/nginx/html/robots.txt; }
    location /.well-known {
        root /usr/share/nginx/html;
    }

    ssl_certificate /etc/nginx/ssl/$ssl_server_name/fullchain.pem; 
    ssl_certificate_key /etc/nginx/ssl/$ssl_server_name/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;

    # ะฟะพะทะฒะพะปัะตะผ ัะตั€ะฒะตั€ัƒ ะฟั€ะธะบั€ะตะฟะปัั‚ัŒ OCSP-ะพั‚ะฒะตั‚ั‹, ั‚ะตะผ ัะฐะผั‹ะผ ัƒะผะตะฝัŒัˆะฐั ะฒั€ะตะผั ะทะฐะณั€ัƒะทะบะธ ัั‚ั€ะฐะฝะธั† ัƒ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปะตะน
    ssl_stapling on;
    ssl_stapling_verify on;
    add_header Strict-Transport-Security max-age=15768000;

    location / {
        return 444;
    }
}

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ธ์ฆ์„œ์™€ ํ‚ค๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

certbot certonly --nginx -d ovirtengine.example.com

์ธ์ฆ์„œ์™€ ํ‚ค๋ฅผ ๋ณด๊ด€ํ•˜์„ธ์š”.

tar Phczf /tmp/ovirtengine.example.com.tgz /etc/letsencrypt/live/ovirtengine.example.com

๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ์—์„œ ์•„์นด์ด๋ธŒ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ovirt ์—”์ง„์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค:

scp bastion-host:/tmp/ovirtengine.example.com.tgz /tmp/
scp /tmp/ovirtengine.example.com.tgz ovirtengine.example.com:/

๋ชฉํ‘œ๋ฅผ ํ–ฅํ•ด ๋‚˜์•„๊ฐ€์ž

๋‹ค์Œ์œผ๋กœ, ํŒŒ์ผ ์œ„์น˜ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์•„์นด์ด๋ธŒ์˜ ์••์ถ•์„ ํ’€๊ณ  ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

tar Pxzf /ovirtengine.example.com.tgz && rm -f ovirtengine.example.com.tgz
mkdir -p /etc/letsencrypt/live
ln -f -s /etc/letsencrypt/live /etc/pki/letsencrypt

Java ์ธ์ฆ์„œ ์ €์žฅ์†Œ(openjdk)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•˜๋„๋ก Ovirt์— ๋‚ด์žฅ๋œ pki๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

cat << EOF > /etc/ovirt-engine/engine.conf.d/99-setup-pki.conf 
ENGINE_HTTPS_PKI_TRUST_STORE="/etc/pki/java/cacerts"
ENGINE_HTTPS_PKI_TRUST_STORE_PASSWORD=""
EOF

CA๋ฅผ Let's encrypt์—์„œ der ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์ด๋ฅผ ovirt Java ์‹ ๋ขฐ ์ €์žฅ์†Œ ์ธ์ฆ์„œ ์ €์žฅ์†Œ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค(์ด๊ฒƒ์€ ์ธ์ฆ์„œ ๋ชฉ๋ก์ด ํฌํ•จ๋œ ์ปจํ…Œ์ด๋„ˆ์ด๋ฉฐ Java์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค).

openssl x509 -outform der -in /etc/pki/letsencrypt/ovirtengine.example.com/chain.pem -out /tmp/ovirtengine.example.com.chain.der
keytool -import -alias "Let's Encrypt Authority X3" -file /tmp/ovirtengine.example.com.chain.der -keystore /etc/pki/ovirt-engine/.truststore -storepass $(grep '^ENGINE_PKI_TRUST_STORE_PASSWORD' /etc/ovirt-engine/engine.conf.d/10-setup-pki.conf | cut -f 2 -d '"')
rm -f /tmp/ovirtengine.example.com.chain.der

Apache์— ๋Œ€ํ•œ SSL ์„ค์ •์„ ํŽธ์ง‘ํ•˜๊ณ , ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ง€์›ํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์ธ์ฆ์„œ๋ฅผ ํ™•์ธํ•  CA์— ๋Œ€ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” CA์˜ ์‹œ์Šคํ…œ ์„ธํŠธ๊ฐ€ ํ™•์ธ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค).

sed -r -i 's|^(SSLCACertificateFile.*)|#1|g' /etc/httpd/conf.d/ssl.conf
sed -r -i '0,/(^#?SSLCACertificateFile.*)/ s//1nOptions FollowSymlinks/' /etc/httpd/conf.d/ssl.conf

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋งŒ์ผ์„ ๋Œ€๋น„ํ•ด ovirt์˜ ์ž๋™ PKI๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์›๋ณธ ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•˜๊ณ  ์ด๋ฅผ Letโ€™s Encrypt์˜ ํŒŒ์ผ์ด ํฌํ•จ๋œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

ln -f -s /etc/pki/letsencrypt/ovirtengine.example.com/fullchain.pem /etc/pki/ovirt-engine/apache-chain.pem
services=( 'apache' 'imageio-proxy' 'websocket-proxy' )
for i in "${services[@]}"; do
cp /etc/pki/ovirt-engine/certs/$i.cer{,."$( date +%F )".bak}
cp /etc/pki/ovirt-engine/keys/$i.key.nopass{,."$( date +%F )".bak}
ln -f -s /etc/pki/letsencrypt/ovirtengine.example.com/privkey.pem /etc/pki/ovirt-engine/keys/$i.key.nopass
ln -f -s /etc/pki/letsencrypt/ovirtengine.example.com/cert.pem /etc/pki/ovirt-engine/certs/{apache,imageio-proxy,websocket-proxy}.cer
done

ํŒŒ์ผ์—์„œ SElinux ์ปจํ…์ŠคํŠธ๋ฅผ ๋ณต์›ํ•˜๊ณ  ์„œ๋น„์Šค(httpd, ovirt-engine, ovirt-imageio-proxy, ovirt-websocket-proxy)๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

restorecon -Rv /etc/pki
systemctl restart httpd ovirt-engine ovirt-imageio-proxy ovirt-websocket-proxy

httpd โ€” ์›น ์„œ๋ฒ„ ์•„ํŒŒ์น˜
ovirt-engine - ovirt ์›น ์ธํ„ฐํŽ˜์ด์Šค
ovirt-imageio-proxy - ๋””์Šคํฌ ์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ์šฉ ๋ฐ๋ชฌ
ovirt-websocket-proxy - noVNC ์ฝ˜์†” ์‹คํ–‰์„ ์œ„ํ•œ ์„œ๋น„์Šค

์œ„์˜ ๋ชจ๋“  ๋‚ด์šฉ์€ Ovirt ๋ฒ„์ „ 4.2์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ovirt์—์„œ ์ธ์ฆ์„œ ์ž๋™ ๊ฐฑ์‹ 

์˜ฌ๋ฐ”๋ฅธ ๋ณด์•ˆ ๊ด€ํ–‰์— ๋”ฐ๋ฅด๋ฉด ๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ์™€ ovirt ์‚ฌ์ด์—๋Š” ์—ฐ๊ฒฐ์ด ์—†์–ด์•ผ ํ•˜๋ฉฐ ์ธ์ฆ์„œ๋Š” 3๊ฐœ์›” ๋™์•ˆ๋งŒ ๋ฐœ๊ธ‰๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ธ์ฆ์„œ ๊ฐฑ์‹ ์„ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋…ผ๋ž€์˜ ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ผ์ •์— ๋”ฐ๋ผ ๋งค์ผ ์˜ค์ „ 5์‹œ์— ํฌ๋จผ์—์„œ ์‹คํ–‰๋˜๋Š” Ansible ํ”Œ๋ ˆ์ด๋ถ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋ ˆ์ด๋ถ์€ ovirt๋กœ ๊ฐ€์„œ ์ธ์ฆ์„œ์˜ ์œ ํšจ ๊ธฐ๊ฐ„์„ ํ™•์ธํ•˜๊ณ  ๋งŒ๋ฃŒ๊นŒ์ง€ 5์ผ ๋ฏธ๋งŒ ๋‚จ์•˜์„ ๊ฒฝ์šฐ ๋ฐฐ์Šค์ฒœ ํ˜ธ์ŠคํŠธ๋กœ ๊ฐ€์„œ ์ธ์ฆ์„œ ์—…๋ฐ์ดํŠธ๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ํ›„ ํ•ด๋‹น ํด๋”๋ฅผ ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ ๋ณด๊ด€ํ•˜๊ณ  Forman ํ˜ธ์ŠคํŠธ์— ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ Ovirt ํ˜ธ์ŠคํŠธ์— ์••์ถ•์„ ํ’‰๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ SElinux๋Š” ํŒŒ์ผ์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ๋ณต์›ํ•˜๊ณ  ์„œ๋น„์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster