Вынік сканера называе адрас, порт і нешта, аб чым там дамовіліся. Ён не называе працэс за гэтым сокетам, а на хасту VPN некалькі працэсаў могуць дзяліць машыну, хоць тунэлем з’яўляецца толькі адзін з іх. Чытанне радка версіі з дапаможнай утыліты або знаходжанне файла бібліятэкі на дыску дадае доказы пра хаст, а не пра слухача. Вынік становіцца прыдатным да дзеяння толькі тады, калі яго прывязваюць да аднаго працэсу, які выконваецца, а затым суадносяць з абсягам, які паведамленне фактычна ўказвае.

Парадак важны: спачатку кампанент, потым паведамленне, потым выпраўленне.

Справаздача называе порт, а не праграму

Пачніце з канчатковага пункта, які фактычна ацэньвалі. Спроба супраць порта адміністравання HTTPS вымерала вэб-сэрвіс, яго стос TLS і любы праксі, што стаіць перад ім; яна не даведалася нічога пра слухача OpenVPN ці WireGuard на іншым порце. Зваротныя праксі і агенты кіравання робяць гэта горш, бо сертыфікат і банер могуць належаць франтальнай частцы, а ўразлівая бібліятэка знаходзіцца за ёй у фонавым працэсе.

Запішыце прызначэнне, транспарт, порт і назву службы разам з вынікам, каб абсяг ішоў следам за вынікам.

Што насамрэч уяўляе сабой зборка, якая выконваецца

На хасту агульнага прызначэння ўсталяваны пакет і загружаная бібліятэка — асобныя пытанні. База пакетаў можа паказваць выпраўленую версію, а доўгатэрміновы дэман усё яшчэ трымае стары агульны аб’ект у памяці, і ўбудаваны вобраз прылады можа несці ўласныя бібліятэкі, пра якія не паведамляе ніводзін менеджар пакетаў. Спытайце менеджар службаў, што выконваецца, затым агледзьце працэс і яго сувязі.

systemctl status openvpn-server@server --no-pager
ps -o pid,lstart,args -C openvpn
ss -lntup | grep -E '1194|443'
dpkg -l | grep -i -E 'openvpn|libssl'
ldd "$(command -v openvpn)" | grep -i ssl

Час запуску ў спісе працэсаў — гэта дэталь, якую людзі прапускаюць. Дэман, запушчаны да апошняга абнаўлення пакетаў, усё яшчэ выконвае зборку, загружаную пры загрузцы, і гэта менавіта выпадак, калі інвентар кажа «выпраўлена», а сокет кажа іншае.

Суаднясенне зборкі з абсягам паведамлення

Паведамленні апісваюць прадукты, версіі і часам абавязковыя ўмовы, і гэтыя тры палі не заўсёды супадаюць з версіяй пакета. Паведамленне OpenVPN пра Heartbleed ад красавіка 2014 года — карысны гістарычны прыклад, бо яно аддзяляе закранутыя выпускі Access Server ад вэб-сэрвісаў і дэманаў VPN, якія мелі рознае ўздзеянне. Урок у тым, каб прачытаць, які кампанент ахоплівае тэкст, а не супастаўляць слова OpenSSL па шаблоне.

Гэтае паведамленне таксама датаванае. Яго выпраўленыя нумары выпускаў цяпер не парада для ўсталявання, а хіба, выпраўленая ў 2014 годзе, нічога не кажа пра пазнейшыя праблемы ў галіне, якую вы выкарыстоўваеце сёння.

Урэгуляванне разыходжанняў, затым закрыццё ўздзеяння

Калі інвентар і ацэнка разыходзяцца, праверце, ці абодва апісваюць адзін і той жа канчатковы пункт і асяроддзе выканання: іншы адрас, франтальны праксі, другая служба, стары працэс, які ўсё яшчэ прывязаны да порта, або ўбудаваная бібліятэка, якую менеджар пакетаў ніколі не бачыў. Вырашыце гэта на мяжы, перш чым перапісваць справаздачу.

Ужывіце падтрымліванае выпраўленне, перазапусціце закранутую службу і пацвердзіце, што зараз выконваецца менавіта новая зборка. Выпраўлены файл на дыску, пакуль стары працэс усё яшчэ абслугоўвае трафік, — гэта не выпраўленне.

Затым разбярыцеся з тым, што кампанент мог захоўваць на працягу акна ўздзеяння. Выпраўленне і замена ўліковых даных адказваюць на розныя пытанні, а сертыфікат, які захоўваецца побач з закранутым хастам, сам па сабе не з’яўляецца спісам таго, што ўцякло. Ідзіце па працэдуры ўладальніка інцыдэнту для адклікання, выдалення сеансаў і абнаўлення кліентаў і зафіксуйце, які кампанент быў закрануты, чаму доказы падыходзілі і што яго закрыла. Менавіта гэты запіс прачытае пазнейшая праверка.

Падобныя артыкулы