Бир OpenVPN кардарын токтотуу: эмне үчүн кайтарып алуу туура эмес рычаг
Сессияны өлтүрүүнү кайтарууга болот; сертификатты кайтарып алууга болбойт. Ишке кайсы рычаг керек экенин чечиңиз, CRLди гана ылайык келгенде кайра куруңуз.
Бир кардардын кирүүсүн токтотуу жана аны биротоло жок кылуу, экөөнүн бирин кайтарууга аракет кылмайынча бирдей иш болуп көрүнөт. Сертификатты кайтарып алуу сервер акыркы деп эсептеген жазуу жазат, жана аны кайтаруу чыгартуучунун маалымат базасын кол менен оңдоону билдирет. Иштеп турган туннелди таштоо ишенимде эч нерсени өзгөртпөгөн башкаруу буйругу. Рычагды ачкычтын дагы эле ишенимдүү экенин сурап тандаңыз, сурам канчалык шашылыш көрүнгөнүн сурап эмес.
Ишеним: кайтарылган жана токтотулган бир нерсе
Мердигерди бир жумага токтотушат жана биринчи реакция кайтарып алуу болот, анткени кайтарып алуу бир нерсени өчүрүүгө окшош. Ал таза көрүнөт, он секунд алат, жана кайтуунун жалгыз жолу катары маалымат базасын оңдоону калтырат. Реакция түшүнүктүү жана ал эшикти жабууга караганда паспортту өрттөөгө жакын. Токтотулган түзмөк менен бузулган ачкычка башкача мамиле керек, жана алардын бирин гана арзан кайтарууга болот.
Айырма адамда эмес, күбөлүктө. Дагы эле туура колдогу ачкычты ишеним жоготпостон токтотуп, кайра улантса болот. Көчүрүлгөн болушу мүмкүн ачкычты эч качан калыбына келтирүүгө болбойт, анткени калыбына келтирүү көчүрмө жок деп ырастайт.
Эки системанын бирине да тийбестен мурун жоопту жазып коюңуз. Ачкычтын ачылганын айта албасаңыз, консервативдүү жооп алмаштыруу.
Иштеп турган сессияны башкаруу интерфейси менен таштаңыз
OpenVPN сессияларды тизмелеп, бирин жалпы аты боюнча өлтүрө алган башкаруу интерфейсин сунуштайт. Аны localhostто күйгүзүңүз, коомдук интерфейстен алыс кармаңыз, жана сессия дал азыр жоголушу керек болсо өлтүрүү буйругун жөнөтүңүз. Буйрук ошол туннелди гана жабат, ал эми калган кардарлар ишин улантат.
Бул активдүү көйгөйгө жооп, токтотуу саясаты эмес. Ошол профиль бир мүнөттө кайра туташа алат, анткени анын күбөлүгүндө эч нерсе өзгөргөн жок. Сессия кетиши керек, ал эми туруктуу чечим дагы кабыл алынып жатканда колдонуңуз.
Өлтүрүүдөн мурун сессия туташкандыгын ырастаңыз, эч качан туташпаган кардарды издебеш үчүн. Төмөнкү абал буйругу азыр эмне туташканын чыгарат.
printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506Эгер өлтүрүү мындай кардар жок деп билдирсе, сертификаттагы жалпы ат сиз терген сап эмес. Профиль файлынын атын эмес, абал чыгарылышын окуңуз.
CRL чындыгында эмнени башкарат
Сервер сертификатта сакталган кайтарып алуу желекчесине кайрылбайт. Ал crl-verifyте аталган сертификаттарды кайтарып алуу тизмесин ар бир жаңы туташууда окуйт жана сериялык номери ошол тизмеде бар сертификатты четке кагат. Андан эки кесепет келип чыгат, экөө тең операциялык жактан маанилүү. Файл сервер өз укуктарын өткөрө турган эсепке окулуучу болушу керек, ал эми мурун туташкан кардар кайра туташканга чейин ишин улантат.
Экинчи кесепет окуялар учурунда адамдарды таң калтырат. Сертификатты кайтарып алуу аны дал азыр колдонуп жаткан туннелди жаббайт. Эгер сессия дароо бүтүшү керек болсо, кайтарып алууну башкаруу өлтүрүүсү менен коштоп жүргүзүңүз, жана эки аракетти нускамада өзүнчө кадамдар деп караңыз.
Тизмени карап, сервер чындыгында эмнени аткартарын көрүңүз, акыркы көчүргөн файлдын убакыт белгисине ишенүүнүн ордуна. Маанилүү бөлүгү сериялык номерлердин саны.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pemЖазуусу жок тизме менен туура жазуулары бар тизме каталог тизмесинде бирдей көрүнөт, ошондуктан сериялык номерлердин санын чыгаруунун мааниси бар. Уруксаттар сабы да ошончолук маанилүү, анткени демон окуй албаган файл четке кагылган кардарга окшош ишке жараксыздыкты жаратат.
Жазууну калыбына келтирүү, этияттык менен
Сертификатты калыбына келтирүү берүү маалымат базасындагы жазууну тескери бурууну жана жаңы тизме жарыялоону билдирет. easy-rsa 3 бул базаны PKI каталогунун астында index.txt катары кармайт, ал эми эскирээк жайгашуулар башка тартипти колдонгон. Сап абал тамгасы жана мөөнөтүнүн бүтүү күнү менен башталат. Кайтарылган сап сериялык номер, сертификат файлынын аты жана айырмалоочу ат менен улантылганга чейин кайтарып алуунун убакыт белгисин киргизет. Сапты ордуна кайтаруу ошол белгини өчүрүүнү жана тамганы тескери бурууну билдирет, калганын тийбестен калтыруу керек.
Алгач файлдын камдык көчүрмөсүн жасаңыз, жана оңдоону тексттик редактордо терип эмес, скрипт түрүндө аткарыңыз. Саптын канча талаа алып жүргөнүн өзгөрткөн терип катасы кийин кошулган ар бир сертификаттын берилишин бузат. Ошондуктан өзгөртүүнү автоматташтырып, файлды тийбестен мурун көчүрүү керек.
Ошол атты экинчи кайтарып алуу да көп учурда ийгиликсиз болот, анткени биринчи жүрүү ошол сертификат менен анын ачкычын курал күткөн каталогдордон сыртка жылдырган. Ошондо курал кайтарып алуу суралган нерсени таба албайт, ал эми ката билдирүүсү себебин ар дайым ачык түшүндүрбөйт.
cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crlЖаңы тизмени жарыялаңыз, анын ээлигин оңдоңуз, жана серверди аны окууга мажбурлаңыз. Көпчүлүк орнотууларда кайра жүктөө жетиштүү, бирок ырастоо жаңы туташуудан келиши керек, анткени бар сессия эч нерсени кайра текшерген жок.
Ишке кайсы рычаг татыктуу экенин текшериңиз
Бүт нускаманы чечкен бир суроону бериңиз: жеке ачкыч дагы эле өз ордундабы. Эгер ошондой болсо, сессияны өлтүрүү жана документтелген тыныгуу ишти жабат жана туруктуу жазуу калтырбайт. Эгер андай болбосо, жалгыз коопсуз жооп жаңы ачкыч, ал эми эски сертификат кайтарылган бойдон калат.
Анан натыйжаны конфигурация айырмасы менен эмес, туташуу аракети менен текшериңиз. Айырма сиздин эмнени ниет кылганыңызды айтат, ал эми туташуу сервердин эмнени аткартарын айтат.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506Калыбына келтирилген кардар туташып, абал чыгарылышында көрүнсө, жазууну оңдоо иштеди. Кайтарылган кардар четке кагылып, журнал CRLди атаса, кайтарып алуу иштеди. Алардын ортосундагынын баары укук же кайра жүктөө маселеси, жана аны кийинки сурам келгенге чейин оңдоого татыктуу.