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

Пытанне за пытаннем

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

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

Стаўцеся да гатоўнасці як да набору брам, якія вы альбо праходзіце, альбо запісваеце як адкрытыя. Гэта ператварае спрэчку ў кантрольны спіс з адказнымі. Гэта таксама робіць адкрытыя пункты бачнымі для таго, хто падпісвае, а не пахаванымі ў справаздачы пра пілот.

Брама першая: шлях павінен несці UDP

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

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

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

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

Брама другая: нехта павінен валодаць ключамі

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

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

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

Брама трэцяя: пакет патрабуе суправаджальніка

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

Мы выкарыстоўваем WireGuard — гэта не інвентарызацыя. Яна не вызначае пакет, які трэба латаць, версію на шлюзе або чалавека, які можа адкаціць дрэннае абнаўленне.

Брама чацвёртая: прымайце нагрузку, а не рукапацісканне

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

Прагоньце гэтыя праверкі праз змену сеткі, перазапуск прылады і акно абслугоўвання шлюза, бо менавіта на гэтых пераходах разгортванні ламаюцца.

Трымайце доказы побач з крытэрыямі, уключаючы лакальны стан, які іх стварыў:

wg show
ss -lunp | grep 51820
ip -4 route get 10.63.0.1

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

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