Питајте управљачки интерфејс за статус једном и он почиње да личи на статусни порт. Али није. Када се клијент прихвати, може да издаје контролне команде протокола, а налог који покреће тај клијент наслеђује све што те команде могу да учине демону. Третирање тога као тока само за читање је грешка која мониторинг интеграцију претвара у неаутентификовану конзолу.

Уверење и колико кошта

Уверење је да је управљачки слушалац еквивалентан метричкој крајњој тачки: прикључите колектор, прочитајте бројаче, идите даље. Оно што се заиста дешава јесте да колектор отвара сесију са контролним могућностима, а свака друга претпоставка коју сте направили о постављању сада зависи од тога да се тај колектор понаша добро.

Ништа на интерфејсу не оглашава режим само за читање. Нема улоге посматрача коју бисте изабрали, а корисничко име у конфигурацији је не ствара.

Шта прихваћени клијент заправо држи

Демон заједнице прихвата само једног активног управљачког клијента истовремено. Тај једини слот значи да GUI, скрипта и мониторинг агент не могу сви да се прикључе; други чека или не успева док први држи сесију. Ако ваш дизајн претпоставља истовремене читаоце, већ је погрешан.

Где је периодични снимак довољан, излаз статусне датотеке даје исте бројеве без живе сесије. Писање те датотеке у интервалима и читање уз обичне датотечне дозволе држи колектор потпуно изван контролне равни, а то је распоред који већини мониторинга заправо треба.

Сопствени сокет, а не отворени

Unix домен сокет држи контролну путању изван мреже, што уклања променљиву адресу тунела из проблема. То не уклања питање дозвола. Надређени директоријум мора бити доступан за упис сервисном налогу и приступачан налогу контролера, а то су две одвојене дозволе:

management /run/openvpn/office-management.sock unix /etc/openvpn/management.password
management-client-user vpn-observer
management-client-group vpn-observer

Датотека са лозинком носи управљачку тајну у свом првом реду. Заштитите ту датотеку као и сваку другу акредитацију и држите њен садржај изван дневника и захтева за подршку. Ограничења корисника и групе су провере друге стране на Unix сокету, а не датотечне дозволе, па предвиђени процес треба и приступ датотеци и одговарајући идентитет.

Учинити сокет доступним целом свету да би се уклонила грешка дозволе једина је исправка коју треба избегавати. Она претвара локални контролни канал у нешто што сваки процес на хосту може да покреће.

Објављивање преко TCP-а није исти дизајн

Премештање слушаоца на TCP порт не чини га сигурнијим ни практичнијим. Управљачка лозинка се шаље отворено, па TCP слушалац излаже и акредитацију и сесију свакоме ко може да посматра путању. Достизање са другог хоста захтева овлашћени административни канал или мали локални агент који излаже само опажања која су вам потребна.

Лозинка на транспорту отвореним текстом јесте аутентификација без поверљивости, а та комбинација је гора него што изгледа јер се осећа заштићено.

Почетне зависности које нисте тражили

Неколико управљачких опција мења животни циклус демона. Држање покретања док се контролер не повеже, или прекидање када контролер нестане, претвара опционог посматрача у тврду зависност. Мониторинг агент који се сруши тада би са собом срушио и тунел.

Прегледајте те опције пре него што омогућите било шта осим самог сокета. Опционо посматрање треба да остане опционо, а политика рестарта не сме бити везана за колектор који је додат због графикона.

Датотека сокета која остане након неуспелог процеса није доказ да слушалац постоји. Утврдите која инстанца поседује путању пре него што је уклоните, и користите сопствени процес опоравка сервиса уместо брисања датотека под покренутим демоном.

Како изгледа прихватање

Четири провере покривају дизајн: предвиђени идентитет контролера се повезује, процес без тог идентитета бива одбијен, демон преживљава контролера који се прекине без упозорења, и тунел и даље преноси саобраћај кроз контролисани рестарт. Успешна управљачка веза доказује само контролну раван. Она не говори ништа о томе да ли ради саобраћај приватних апликација, па то тестирајте одвојено. Запишите четири резултата тамо где их следећи оператор може наћи.

Документација управљачког интерфејса описује модел једног клијента и привилеговану природу протокола, а то је део који вреди прочитати пре него што на њега усмерите надзорну таблу.

Повезани чланци