Поставете VPN шлюза до Windows XP, а не вътре в него
Запазете стария Windows XP хост като краен пункт за приложението и преместете тунела, ключовете и актуализациите му на поддържан шлюз до него.
Някъде в сградата стои машина, която изпълнява приложение, което никой не може да замени, върху операционна система, която не бива да се свързва с нищо. Да се излезе от мрежовия адаптер на този хост е най-бързият начин да се види къде принадлежи тунелът. В повечето проекти той изобщо не принадлежи на хоста. Преместете го една стъпка встрани, на поддържан шлюз, и старият проблем се свива до приложението, с което е започнал.
Започнете от адаптера на хоста, не от VPN клиент
Отворете свойствата на адаптера и дайте на хоста фиксиран адрес в малък отделен сегмент, като шлюзът е маршрутът му по подразбиране. Тогава хостът не се нуждае от клиент за тунела, от идентификационни данни за тунела и от записи в таблицата за маршрутизация към по-широката корпоративна мрежа. Ако приложението се нуждае от една отдалечена подмрежа, добавете точно този един маршрут.
C:\> route add 10.20.30.0 mask 255.255.255.0 192.168.50.1 -p
Тази команда закрепва една дестинация към шлюза и оставя всичко останало без маршрут, а това е формата, която искате. Потвърдете резултата с route print, вместо да се доверявате на кода за изход. След това проверете дали приложението все още разрешава името на сървъра си, защото стар хост със счупен резолвер изглежда точно като мрежова повреда, а поправянето на резолвера е петминутна работа, докато преизграждането на приложение след погрешна мрежова промяна не е. Всяка дестинация, до която хостът не може да стигне, е едно по-малко нещо, с което стар мрежов стек може да бъде принуден да атакува.
Сложете тунела върху хардуер, който можете да актуализирате
Шлюзът иска два интерфейса: един към сегмента на хоста и един към мястото, където живее приложението, като тунелът завършва на втория. Това устройство може да получава актуализации на фърмуера, да сменя криптографската си конфигурация и да записва потоци, без някой да пипа старата машина. Доставчикът му също публикува поправки за реализацията на тунела, които хостът никога няма да получи. Две машини и краен срок не са причина да се копира рецепта със статична тайна от форумна публикация.
Дайте на всеки шлюз собствена идентичност на партньор, вместо да клонирате една клиентска конфигурация върху цял парк. Когато уред се подменя, отзовете старата идентичност в същия момент, в който включвате новата, иначе оставате с две неконтролирани копия, удостоверяващи се към една и съща крайна точка. Съхранявайте ключовете там, където ги очаква управляващата равнина на шлюза, третирайте резервното копие на конфигурацията като тайна и прегледайте кой може да я изпраща, защото сега той решава до какво има достъп старият хост.
Разрешавайте услуги, не мрежи
Напишете политиката по отношение на протокол, порт и посока между двете връзки. Един разрешен порт към един адрес на приложение е обичайният отговор, а административен път през междинен хост покрива останалото.
Отдалечената администрация на стария хост не бива да върви по същото правило като приложението и тестването на отказа е също толкова важно, колкото писането на правилото. Изпратете една заявка от хоста към дестинация, която очаквате да бъде отказана, и потвърдете, че отказът идва от политиката, а не от липсващ маршрут. Записвайте потоците, които разрешавате, докато проектът е нов, за да видите какво приложението наистина използва, а не какво твърди документацията му. Обединяването на две подмрежи, защото мостово ръководство изглеждаше по-кратко, е начинът, по който стар сегмент тихо се превръща в плацдарм.
Не излагайте стария слушател директно на интернет като пряк път около шлюза. Дръжте административния път отделно от пътя на приложението, за да не предава компрометирането на едното другото. Правило, което никога не се упражнява, е правило, което никой не е проверил, и затова отказаната дестинация принадлежи в приемния пробег.
Възстановяването трябва да работи без тунела
Решете кой актуализира и възстановява шлюза преди първото прекъсване и се уверете, че този човек може да стигне до него без тунела, който той завършва. Достъп през конзола, локален порт за управление или извънлентов път — всички са приемливи отговори. Шлюз, който може да се конфигурира само през тунела, който предоставя, е капан, който търпеливо чака лоша актуализация на фърмуера.
Напишете процедурата за повредата, която наистина ще срещнете: тунелът е спрян, шлюзът е мъртъв, дискът на хоста липсва. Пазете образа за възстановяване на хоста при каквато и да е договореност за поддръжка, която още съществува, и помнете, че възстановяването връща и състоянието на софтуера, и идентификационните данни в този образ. Възстановете първо върху изолирания сегмент, потвърдете, че приложението стартира, и едва след това свържете нещо отново; когато шлюзът се промени, актуализирайте процедурата и инвентара в същото заседание.
Сертификати, часовници и предупреждения за подпис
Изтичането на сертификата на инсталатора само по себе си не предсказва какво ще каже проверката на подписа днес. Указанията на Microsoft за времеви печати на Authenticode обясняват, че времевият печат може да запази подписа проверим след изтичане на сертификата за подписване и че валидирането все още зависи от подписа, веригата за доверие и проверяващия. Затова две машини с различни хранилища за доверие могат да не са съгласни за един и същ файл. Изтекъл подписващ не е доказателство, че двоичният файл е зловреден, а валиден подпис не е доказателство, че софтуерът се поддържа.
Не връщайте системния часовник назад и не изключвайте проверките на подписа, за да стартирате стар инсталатор. Вземете разрешен артефакт от този, който все още поддържа приложението, и нека той каже какво приема платформата. Третирайте публикациите, които твърдят, че определена сборка е била последната за XP, като история, а не като цел за инсталиране, защото реалното изискване зависи от приложението; ако работата по запазване наистина е нужна, дръжте я в изолиран сегмент далеч от производствения достъп и документирайте защо съществува.