Жазууларыңызда common name жана дарек бар, жана баары кардарды алып салгандай көрүнгөн үч буйрук бар. Бирөө гана каалаганыңызды аткарат, тандоо азыр иштеп жаткан сессияны бүтүрүү, кийинки кирүүнү четке кагуу же туташуу укугун толук алуу зарылдыгына жараша болот. Бир нерсеге тийүүдөн мурун чындыгында ээ болгон идентификацияңызды окуңуз, анткени OpenVPN бассейни кийин ошол туннель дарегин башка сессияга берет.

Чындыгында кандай идентификацияңыз бар

3-версиянын абал файлы — адаттагы баштапкы чекит. CLIENT_LIST бөлүмү common name, чыныгы даректи, байт эсептегичтерин жана туташуу убактысын кармайт; ROUTING TABLE бөлүмү виртуалдык даректи акыркы шилтеме убакыт белгиси менен common nameге байланыштырат. Common name — туруктуу идентификация. Виртуалдык дарек — бул дайындоо, ал эми NAT артындагы чыныгы дарек серверде эч нерсе өзгөрбөстөн сессиялардын ортосунда өзгөрүшү мүмкүн.

Башкаруу интерфейси status буйругу аркылуу окшош көрүнүш сунуштайт жана ар бир сессияга кардар IDсин кошот. client-kill дал ошол IDни күтөт, жана бул туннель дареги эмес. Туташуу учурунда кайсы common name кайсы даректи алганын билүү керек болсо, client-connect скриптинин чөйрөсүндө экөө тең, ишенимдүү тышкы дарек менен бирге бар, бирок ал скрипт OpenVPN колдонуучусу катары иштейт жана жазылуучу журнал жолун талап кылат.

What you holdWhere it came fromWhat it can act on
Common nameCLIENT_LIST, or the auth hookkill, and credential revocation
Client IDstatus on the management socketclient-kill, that one session
Tunnel addressROUTING TABLE, client-connect environmentNothing durable, the address is recycled

Азыр өлтүр, кирүүдө четке как, такыр жок кыл

Башкаруу интерфейсиндеги эки өчүрүү буйругу тең сессия аракеттери. kill common name же чыныгы даректи жана портту алат; client-kill кардар IDсин алат жана ошол нусканы дароо бүтүрөт. Экөө тең тоскоол эмес: жарактуу сертификаты жана сырсөзү бар чыгарылган кардар бир нече секунданын ичинде кайра туташат, бул сыноо peerин кайра колдонгондо жакшы, ал эми ноутбук уурдалганда пайдасыз.

client-deny — башка түрдөгү чечим. Ал адатта аутентификация же client-connect илгичинен чыгарылат жана сессияны себеби менен четке кагат, ошондуктан туташууну үзгөн эмес, кирүүнү четке каккан саясатка туура келет. Документация ошондой эле TLS кайра сүйлөшүүлөрү учурунда берилген баш тартуу кайра келишилген ачкычты жараксыз кылаарын, ал эми учурдагы сессия өтмө терезе жабылганга чейин иштей берерин эскертет. Талап кардар азыр жок болушу болсо, документтелген жооп — client-kill.

Туруктуу өчүрүү ушунун баарынан төмөн. Сертификатты жокко чыгарыңыз жана crl-verify сервер чындыгында кайра жүктөгөн тизмеге шилтеме кылаарына көз жеткириңиз, ccd каталогундагы кардарга тиешелүү конфигурация файлын өчүрүңүз же аутентификация илгичи сураган backendте каттоо эсебин өчүрүңүз. Жокко чыгаруу да заматта эмес: демейки reneg-sec жөндөөлөрү менен орнотулган сессия кайра сүйлөшүүгө чейин иштей берет, ошондуктан сессия аракети жана каттоо эсебинин маалыматтары аракети бири-бирин толуктайт, алмаштырбайт.

Башкаруу сокети бошпу?

Башкаруу интерфейси бир убакта бир кардарга тейлейт. Эгер GUI же көзөмөл демону туташууну мурунтан кармап турса, скриптиңиз анын жанына туташа албайт, жана кардарга жараша таза ийгиликсиздиктин ордуна бар болгонун сүрүп чыгарышыңыз мүмкүн. Анын сырсөзү ошол сокетте ачык текст менен жүрөт, ошондуктан ал жергиликтүү дарекке же unix сокетине таандык, эч качан ачык интерфейске эмес.

Сокетти ала албаганыңызда, дагы варианттарыңыз бар жана алардын баары башыраак. Эгер көзөмөлдөсөңүз, адегенде GUI сессиясын бошотуңуз, же каттоо эсебинин катмарынын жолун кабыл алып, кийинки кайра сүйлөшүүнү күтүңүз. Кылбашыңыз керек нерсе — бир кардардан кутулуу үчүн кызматты кайра баштоо, анткени бул бардык башка сессияларды да бүтүрөт жана бул сессиянын абал файлындагы далилдерди жок кылат.

Тирүү серверде аткарган тартибим

Туташыңыз, учурдагы абалды окуңуз, жаңы эле окуган ID боюнча аракет кылыңыз, анан аны кайра окуңуз. Документтен көчүрүлгөн маанилер туура эмес адамды өлтүрүүнүн эң кеңири таралган жолу.

status                     # note the client ID and common name
client-kill 3              # end that session now
kill Test-Client           # alternative: by common name
status                     # confirm the session is gone

Жогорудагы ат жана сан — орун толтургучтар, ал эми IDлер башка кардарлар ажырагандан кийин кайра колдонулат. Бир нерсени бүттү деп жазуудан мурун саптын жоктугун ырастаңыз жана туташкан кардарлардын саны бир нече эмес, бирге жылганын текшериңиз.

Анын четте калганын ырастаңыз

Common nameди, туннель дарегин, тышкы даректи жана өчүрүү мүнөтүн жазып алыңыз. Эгер ошол эле common name бир мүнөттөн кийин кайра пайда болсо, сессия аракети иштеди, ал эми каттоо эсебинин катмары иштеген жок, бул эч качан күчүнө кирбеген буйрукту оңдоодон таптакыр башка.

Анан кардар тараптан сынаңыз. Жокко чыгарылган сертификат кийинки кол алышууда ийгиликсиз болушу керек; эгер ал дагы эле туташса, CRL такыр окулбайт, жана бул билдирүүгө татыктуу табылга. Аракетти эмнени бүтүрүү керектигине жараша тандаңыз, экинчи status менен ырастаңыз жана жооп сессиядан узакка созулушу керек болсо каттоо эсебинин катмарын оңдоңуз.

Тектеш макалалар