Чаму большы ключ OpenVPN не адмяняе таймер перагенерацыі ключоў
Моц шыфра і тэрмін жыцця ключа — асобныя рашэнні. Праверце трыгеры па байтах, пакетах і часе, а затым пратэстуйце перагенерацыю на рэальным сцэнары ўваходу.
Выбар AES-256 або даўжэйшага ключа нічога не кажа пра тое, як доўга гэты ключ можна выкарыстоўваць. Моц ключа апісвае алгарытм; палітыка перагенерацыі вырашае, калі сеанс атрымае новы ключавы матэрыял. Разгортванне можа выбраць наймацнейшы даступны шыфр і ўсё роўна памыліцца з абнаўленнем, бо гэтыя два рашэнні прымаюцца ў розных месцах. Змешванне іх дае або непатрэбную змену шыфра, або сеанс, які моўчкі перажывае сваю палітыку.
Чытайце налады перагенерацыі, перш чым кранаць шыфр, і чытайце абодва бакі, калі робіце гэта.
Моц ключа і тэрмін жыцця ключа адказваюць на розныя пытанні
Шыфр і памер ключа вызначаюць, наколькі дарагая атака на перахоплены трафік. Інтэрвал перагенерацыі вызначае, колькі трафіку абараняе адзін ключ і як доўга скампраметаваны ключ застаецца карысным. Гэта незалежныя параметры, і мацнейшы шыфр не падаўжае бяспечны тэрмін жыцця сеанса. Большасць рэкамендацый «выкарыстоўвайце AES-256» маўчыць пра абнаўленне, бо абнаўленне — гэта пытанне палітыкі, а не выбар алгарытму.
Запішыце абодва ў нататках разгортвання: што абараняе канал даных і што запускае замену яго ключоў.
У перагенерацыі тры трыгеры, і любы бок можа іх запусціць
OpenVPN 2.6 дакументуе асобныя трыгеры перамоў па байтах, пакетах і прайшоўшым часе. Трыгер часу — гэта той, які большасць разгортванняў пакідае па змаўчанні, а значыць ціхі тунель усё роўна перагенеруе ключ па раскладзе. Любы бок можа пачаць абмен, а бок, які яго не пачаў, ідзе следам. Таму змена таймера на адным баку не вызначае паводзіны сеанса; эфектыўнае значэнне — тое, чый бок пачынае першы.
Трыгеры па байтах і пакетах важныя для нагрузкі з высокай прапускной здольнасцю або дробнымі пакетамі, дзе палітыка толькі па часе дазволіла б аднаму ключу абараняць значна больш даных, чым задумана. Калі гэтыя лічыльнікі застаюцца адключанымі, скажыце пра гэта свядома ў нататках, а не пакідайце змаўчанне без разгляду.
Перагенерацыя выкрывае працэс аўтэнтыфікацыі
Перамовы — гэта новы ручны TLS, а значыць шлях аўтэнтыфікацыі праходзіць зноў. Разгортванні з аднаразовымі кодамі, апаратнымі токенамі або выклікам RADIUS даведваюцца пра гэта цяжкім шляхам: першае злучэнне працуе, а праз гадзіну сеанс памірае, калі другое рукапоцісканне запытвае ўжо выкарыстаны код. auth-gen-token існуе, каб закрыць гэтую прагаліну: сервер выпускае кароткачасовы токен для перамоў замест патрабавання новага інтэрактыўнага ўваходу.
Стаўцеся да гэтага як да праблемы працэсу, якую трэба вырашыць разам з аператарам, а не як да доказу, што абнаўленне трэба выключыць.
Тэстуйце абнаўленне пад нагрузкай, а не ў хвілінным сеансе
Прыёмачны тэст, які падключаецца, адзін раз пінгуе і адключаецца, ніколі не даходзіць да перагенерацыі. Запусціце сеанс дастаткова доўга, каб перасячы наладжаны трыгер, трымайце перадачу ўвесь час і сочыце за журналамі абодвух бакоў у пошуку новага рукапоціскання. Затым праверце шлях збою: што робіць кліент, калі перамовы не могуць завяршыцца. Тунель, які чыста абрываецца, дыягнаставаць прасцей, чым той, што працягвае слаць у мёртвы сеанс.
Не разглядайце паспяховую вялікую перадачу як доказ крыптаграфічнага парога. Яна паказвае толькі, што шлях і лічыльнікі вытрывалі такі аб'ём трафіку.
Задакументуйце абодва выбары
Запісу патрэбныя два радкі: як абараняюцца пакеты і калі гэтая абарона замяняецца. Дадайце крыніцу права для кожнага значэння, бо шыфр можа паходзіць з дыстрыбутыўнага змаўчання, а таймер — з унутранай палітыкі. Будучы аператар не павінен здагадвацца пра любое з іх па канфігурацыйным файле.
Калі сумяшчальнасць патрабуе выключэння, абмяжуйце яго версіяй і датай заканчэння. Выключэнне, якое перажывае сваю прычыну, становіцца палітыкай, якую ніхто не памятае, што выбіраў.