د زیربنا د ښه کولو په لاره کې تګ ، ما پریکړه وکړه چې یوه لرغونې او دردناکه پوښتنه پای ته ورسوم - پرته له غیر ضروري اشارو ، همکارانو (پراختیا کونکو ، ازموینو ، مدیرانو او نورو) ته فرصت چمتو کړئ چې په خپلواک ډول خپل مجازی ماشینونه په اوورټ کې اداره کړي. Ovirt ډیری برخې لري چې زما د مسلې حل کولو لپاره تنظیم کولو ته اړتیا لري: پخپله ویب انٹرفیس، د noVNC کنسول او د ډیسک عکسونو اپلوډ کول.
ما د "بډ جوړ کړئ" تڼۍ ونه موندلې، نو زه تاسو ته وښیم چې د دې ستونزې د حل کولو لپاره کوم غوټۍ بدل شوي. د کټ لاندې بشپړ لارښوونې:

مباحثه:
د پیل کولو دمخه، زه غواړم ستاسو پام دې حقیقت ته واړوم چې د یو څه دلیل لپاره چې ما ته معلومه نه ده، د زیربناوو ډومینونه په خصوصي زونونو لین، محلي او داسې نورو کې رامینځته شوي.
زه نه پوهیږم څه شی ما په عامه زون کې د یوې ادارې ډومین کارولو مخه نیسي. د مثال په توګه، د Alex-GLuck-Awesome-Company.local ډومین پرځای، تاسو کولی شئ په خوندي توګه د شرکت ویب پاڼې Alex-GLuck-Awesome-Company.com لپاره ډومین وکاروئ.
که تاسو ویره لرئ چې تاسو به نشئ کولی په خپل سازمان کې د ډومینونو تعقیب وساتئ، او دا به یو څه مات کړي، نو په کال کې د 100 روبل لپاره تاسو کولی شئ د aglac.com زیربنا لپاره جلا ډومین واخلئ.
ولې په عامه زونونو کې د ډومینونو کارول خورا ګټور دي:
۱. ستاسو اداره داسې خدمتونه لري چې په عامه توګه د لاسرسي وړ دي: VPN د، د فایل شریکول (سی فایل، نیکسټ کلاوډ)، او نور. په داسې خدماتو کې د ټرافیک کوډ کول تنظیم کول معمولا یو څه اسانه کار وي، او موږ به د MitM بریدونو په وړاندې دفاع ونه کړو ځکه چې دا ستونزمن دی (په حقیقت کې نه).
یا تاسو په دفتر کې دننه د خدماتو یو پته لرئ، او بل د انټرنیټ څخه، او دا اړیکې باید وساتل شي، کوم چې زموږ محدود متخصص سرچینې ضایع کوي. ښه، کارمندان باید مختلف پتې په یاد ولري، کوم چې ناامنه وي.
2. تاسو کولی شئ د خپل داخلي خدماتو کوډ کولو لپاره وړیا سند چارواکي وکاروئ.
ستاسو خپل PKI یو خدمت دی چې ملاتړ ته اړتیا لري؛ د وړیا تصدیق چارواکو څخه د PKI کارولو فرصت لپاره په کال کې 100 روبل د کارمندانو د وخت تادیه کولو څخه ډیر چې کولی شي دا په نورو کارونو مصرف کړي.
3. کله چې د خپل سند واک وکاروئ، تاسو به د خپلو لیرې پرتو کارمندانو او همکارانو په ویلونو کې یو سپیک واچوئ څوک چې غواړي د BYOD سره کار وکړي (د دوی خپل لپټاپونه، تلیفونونه، ټابلیټونه راوړي) او تاسو نشئ کولی د دوی وسایل اداره کړئ. دوی میکس، لینکس، Androids، iOS، وینډوز راوړي - د داسې ژوبڼ ملاتړ کولو کې هیڅ معنی نشته.
په هرڅه کې، البته، استثناوې شتون لري، او د نورو سختو تصدیو سره بانکونه چې امنیتي پالیسۍ رامینځته کړي هیڅکله به د خپلو کارمندانو لپاره خدمت ته وده ورکړي.
د دوی لپاره ، د تادیې تصدیق کونکي چارواکي شتون لري چې کولی شي خپل CA سند د یوې ټاکلې اندازې لپاره لاسلیک کړي (د ګوګل "روټ لاسلیک کولو خدمت").
نور دلایل شتون لري چې ولې د عامه ډومین کارولو لپاره خورا ګټور دی (تر ټولو مهم شی دا دی چې دا ستاسو پورې اړه لري)، مګر دا مقاله د دې په اړه نده.
خبره دا ده...
پاملرنه! که تاسو د Ovirt په باوري لیست کې د Let's Encrypt CA سند اضافه کړئ، دا ممکن ستاسو د سیسټمونو امنیت اغیزه وکړي!
لومړی شی چې تاسو ورته اړتیا لرئ پاملرنه وکړئ هغه دا چې انټرنیټ ته د Ovirt انٹرفیس افشا کول بد عمل دی ، ځکه چې دا هیڅ عملي معنی نه لري، او اضافي امنیتي ګواښونه رامنځته کوي.
له همدې امله، تاسو اړتیا لرئ چې زموږ په یوه بسته کوربه کې یو سند ترلاسه کړئ، او بیا زموږ کوربه ته سند او کیلي د ovirt-engine سره انتقال کړئ.
موږ د خپل اوورټ نوم سره dns ته زموږ د بست کوربه بهرنۍ پته اضافه کوو ovirtengine.example.com، زه به د پردې شاته د سرټبوټ او نګینکس نصب پریږدم (دا څنګه ترسره کول لا دمخه په هابري کې تشریح شوي).
د 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
آرشیف د بیسشن کوربه څخه ډاونلوډ کړئ او زموږ اوورټ انجن ته یې اپلوډ کړئ:
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
موږ په Ovirt کې جوړ شوی pki تنظیم کوو ترڅو د جاوا سند پلورنځی (openjdk) د سندونو تصدیق کولو لپاره کارول کیږي:
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 بڼه بدلوو او دا د اوورټ جاوا ټرسټ سټور سند پلورنځي کې اضافه کوو (دا یو کانټینر دی چې د سندونو لیست لري ، دا ډول سیسټم په جاوا کې کارول کیږي):
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
موږ د اپاچي لپاره د SSL ترتیبات ترمیم کوو، د سیملنکونو مالتړ لپاره پیرامیټر اضافه کوو او د CA لپاره پیرامیټر لرې کوو چې د سندونو چک کولو لپاره (په ډیفالټ سره، د باوري CAs سیسټم به د تایید لپاره کارول کیږي):
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 له لارې رامینځته شوي اصلي فایلونه بیک اپ کوو او د لیټ انکریپټ فایلونو سره یې د سیملنکونو سره ځای په ځای کوو:
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 کې ازمول شوي.
په اوورټ کې د سندونو اتوماتیک تجدید
د ښه امنیتي طرزالعملونو له مخې، د بست کوربه او اوورټ ترمنځ باید هیڅ اړیکه ونلري، او سند یوازې د 3 میاشتو لپاره صادریږي. دا هغه ځای دی چې یوه جنجالي مسله راپورته کیږي چې ما څنګه د سندونو نوي کول پلي کړل.
زه د ځواب وړ لوبو کتاب لرم چې هره ورځ د مهال ویش سره سم د سهار په 5 بجو په فورمین کې تیریږي. دا پلی بوک اوورټ ته ځي، د سند د اعتبار موده ګوري، او که چیرې د پای ته رسیدو دمخه د 5 ورځو څخه کم پاتې وي، دا د بست کوربه ته ځي او د سند تازه کول پیل کوي.
د سند تازه کولو وروسته ، دا فولډر د فایلونو سره آرشیف کوي ، د فورمین کوربه ته یې ډاونلوډ کوي او د Ovirt کوربه ته یې خلاصوي. له هغه وروسته چې SElinux په فایلونو کې شرایط بحالوي او زموږ خدمات بیا پیلوي.
سرچینه: www.habr.com
