Актуализираме Check Point от R77.30 на 80.20

Актуализираме Check Point от R77.30 на 80.20

През есента на 2019 година Check Point спря поддръжката на версиите R77.XX и трябваше да направим обновление. Много е казано за различията между версиите, предимствата и недостатъците на преминаването към R80. Нека да поговорим по-добре за това как на практика да обновим виртуалните устройства на Check Point (CloudGuard за VMware ESXi, Hyper-V, KVM Gateway NGTP) и какво може да се обърка.

И така, имахме 2 инженери CCSE, над десет виртуални клъстера Check Point R77.30, няколко облака, малко хотфиксове и цял океан от разнообразни бъгове, проблеми и всичко такова, във всички цветове и размери, а също така и много кратки срокове. Започваме!

Съдържание:

Подготовка
Обновяване на сървъра за управление
Обновяване на клъстера

Актуализираме Check Point от R77.30 на 80.20

Така изглежда типичната облачна инфраструктура на клиента с виртуален Check Point

Подготовка

Първо трябва да проверим дали разполагаме с достатъчни ресурси за обновление. Препоръчителните минимални изисквания за R80.20 в момента изглеждат така:

Device

CPU

RAM

HDD

Security Gateway

2 ядра

4 Гб

От 15 GB

SMS

2 ядра

6 Гб

—

Препоръките са описани в документа CP_R80.20_GA_Release_Notes.

Но да бъдем реалисти. Ако в най-малката конфигурация това е достатъчно, то както показва практиката, обикновено имаме активирана HTTPS инспекция, на SMS работи SmartEvent и т.н., което освен всичко друго изисква съвсем различни мощности. Но по принцип не по-големи от тези за R77.30.

Но има нюанси. И те се отнасят основно до размера на физическата памет. Много операции непосредствено по време на обновлението ще изискват пространство на твърдия диск.

За сървъра за управление размерът на свободното пространство на диска ще зависи много от обема на текущите логове (ако желаем да ги запазим) и от количеството съхранени ревизии на базата данни, въпреки че те не ни трябват в голямо количество. Разбира се, за нодовете на клъстера (освен ако не съхранявате логовете и локално) това всъщност няма значение. Ето как можем да проверим наличието на необходимо пространство:

  1. Свързваме се със Smart Management Server по ssh, влизаме в expert mode и въвеждаме командата:

    [Expert@cp-sms:0]# df -h

  2. На изхода ще видим приблизително такава конфигурация:

    Filesystem       Size  Used Avail Use% Mounted on
    /dev/mapper/vg_splat-lv_current       30G  7.4G   21G 27% /
    /dev/sda1             289M 24M 251M 9% /boot
    В момента ни интересува разделът
    /dev/mapper/vg_splat-lv_log           243G  177G 53G  78% /var/log

  3. В момента ни интересува разделът /var/log

Имайте предвид, че в зависимост от политиката за съхранение и изтриване на стари логфайлове, както и от размера на експортираното хранилище, може да е необходимо повече пространство. Ако при създаване на архива свободното пространство стане по-малко от посоченото в политиката за съхранение на логфайлове, системата ще започне да изтрива стари логове и НЯМА да ги включи в архива.

Също така, за самия процес на актуализиране системата ще се нуждае от минимум 13 GB неразпределено място на твърдия диск. Можете да проверите наличието му с командата:

[Expert@cp-sms:0]# pvs

Ще видим приблизително такъв изход:

PV VG Fmt Attr PSize PFree
/dev/sda3  vg_splat lvm2 a-   141.69G 43.69G

В този случай имаме 43 GB. Ресурсите са достатъчни. Можем да преминем към актуализиране.

Актуализираме сървъра за управление на Check Point SMS

Преди да започнем работа, е необходимо да направим следното:

  1. Инсталираме пакета Migration Tools на сървъра за управление. За целта е необходимо да изтеглите образа от портала. Check Point.
  2. Качваме архива на сървъра за управление чрез WinSCP в папката /var/log/UpgradeR77.30_R80.20 (ако е необходимо, предварително да създадете папка).
  3. Свързваме се със сървъра за управление чрез SSH и отиваме в папката с архива:cd /var/log/UpgradeR77.30_R80.20/
  4. Разархивираме файла:tar -zxvf ./.tgz
  5. Стартираме утилитата pre_upgrade_verifier с командата: ./pre_upgrade_verifier -p $FWDIR -c R77 -t R80.20
  6. След изпълнението на командата ще бъде генериран отчет за несъвместимите настройки. Той е достъпен на адреса: /opt/CPsuite-R77/fw1/log/pre_upgrade_verification_report.(xls, html, txt). По-удобно е да го изтеглите чрез SCP и да го прегледате чрез браузър.
    За отстраняване на всички несъвместими настройки използвайте SK117237.
  7. След това повторно стартирайте утилитата pre_upgrade_verifier, за да се уверите, че всички причини за несъвместимостта са отстранени.
  8. Следва да съберем информация за мрежовите интерфейси, таблицата за маршрутизация и да изтеглим конфигурацията на GAIA:
    ip a > /var/log/UpgradeR77.30_R80.20/cp-sms-config.txt
    ip r > /var/log/UpgradeR77.30_R80.20/cp-sms-config.txt
    clish -c "show configuration" > /var/log/UpgradeR77.30_R80.20/cp-sms-config.txt
  9. Изтегляме получения файл чрез SCP.
  10. Правим snapshot на ниво виртуализация.
  11. Увеличаваме времето за изчакване на SSH сесията до 8 часа. Тук е на късмет: в зависимост от размерите на експортираното хранилище, това може да отнеме от няколко минути до няколко часа. За целта: 
    [Expert@HostName]# clish -c "show inactivity-timeout" проверяваме текущото време за изчакване на clish,

    [Expert@HostName]# clish -c "set inactivity-timeout 720" уточняваме новото време за изчакване на clish (в минути),

    [Expert@HostName]# echo $TMOUT проверяваме текущото време за изчакване в expert mode,

    [Expert@HostName]# export TMOUT=3600 уточняваме новото време за изчакване в expert mode (в секунди); ако зададете стойност 0, времето за изчакване ще бъде изключено.

  12. Зареждаме и монтираме инсталационния образ SMS.iso към виртуалната машина.

    Преди следващата стъпка ЗАДЪЛжИТЕЛНО отново проверете, че имате достатъчно неизползвано пространство на твърдия диск (напомням, необходимо е 13 GB). 

  13. Преди да започнем експорта на конфигурацията, променяме лог файла с командата: fw logswitch

Експорт на конфигурация и логове

  1. Стартираме утилитата migrate_export за извеждане на конфигурацията. За целта влизаме в предварително създадената папка: cd /var/log/UpgradeR77.30_R80.20/ и използваме командата: ./migrate export -l /var/log/UpgradeR77.30_R80.20/SMS_w_logs_export_r77_r80.tgz

    или

    влизаме в папката: cd $FWDIR/bin/upgrade_tools/ и
    стартираме оттам командата: ./migrate export -l /var/log/UpgradeR77.30_R80.20/SMS_w_logs_export_r77_r80.tgz

  2. Взимаме checksum от архива: md5sum /var/log/UpgradeR77.30_R80.20/SMS_w_logs_export_r77_r80.tgz
  3. Записваме получената стойност в бележник.
  4. Свързваме се към SMS през SCP и извеждаме архива с конфигурацията на работната станция. Задължително ползвайте пренос на файлове в Binary формат.

Експорт на базата SmartEvent

Тук ще ни е необходим предварително инсталиран SMS версия R80. Всеки тестов вариант е подходящ. 

  1. От SMS ни трябва скриптът, разположен тук:$RTDIR/bin/eva_db_backup.csh
  2. През SCP качваме скрипта eva_db_backup.csh в папката: /var/log/UpgradeR77.30_R80.20/
  3. Свързваме се по SSH към SMS. Копираме файла в папката: cp /var/log/UpgradeR77.30_R80.20/eva_db_backup.csh
    $RTDIR/bin/eva_db_backup.csh
  4. Променяме кодировката: dos2unix $RTDIR/bin/eva_db_backup.csh
  5. Добавяме собственик: chown -v admin:root $RTDIR/bin/eva_db_backup.csh
  6. Добавяме права: chmod -v 0755 $RTDIR/bin/eva_db_backup.csh
  7. Стартираме експорта на базата SmartEvent: $RTDIR/bin/eva_db_backup.csh
  8. Извеждаме получените файлове през SCP: $RTDIR/bin/-db-backup.backup и $RTDIR/bin/eventiaUpgrade.tar на работната станция.

Актуализация

  1. Преминаваме към WebUI GAIA SMS → CPUSE → Показване на всички пакети.
  2. В случай, че CPUSE показва грешка при свързването с облака Check Point, проверяваме DGW, DNS и настройките на Proxy.
  3. Ако всичко е вярно, а грешката не изчезва, то трябва да обновим CPUSE ръчно, ръководейки се по sk92449.
  4. Изтегляме образа и преминаваме Verifier. При необходимост отстраняваме несъответствия.

    В резултат трябва да видим следното съобщение:

    Актуализираме Check Point от R77.30 на 80.20

  5. Избираме R80.20 Fresh Install and Upgrade for Security Management.
  6. При инсталирането на обновлението избираме Clean Install. След инсталацията системата ще се рестартира.
  7. Преминаваме през First Time Wizard.
  8. След получаване на достъп проверяваме акаунтите.
  9. Свързваме се към SMS по SSH и променяме shell на нашия потребител на /bin/bash/:

    set user shell /bin/bash/

    save config (в случай, че искаме да оставим bin/bash/ като shell по подразбиране и след рестартиране).

  10. След това свързваме се към SMS през SCP и в режим Binary прехвърляме архива с конфигурацията SMS_w_logs_export_r77_r80.tgz в папка /var/log/UpgradeR77.30_R80.20/
  11. Взимаме checksum от архива: md5sum /var/log/UpgradeR77.30_R80.20/SMS_w_logs_export_r77_r80.tgz и сравняваме с предишната стойност. Checksum трябва да съвпадат.
  12. Увеличаваме timeout за SSH сесия до 8 часа. За целта:

    [Expert@HostName]# clish -c "show inactivity-timeout" проверяваме текущото време за изчакване на clish,

    [Expert@HostName]# clish -c "set inactivity-timeout 720" уточняваме новото време за изчакване на clish (в минути),

    [Expert@HostName]# echo $TMOUT проверяваме текущото време за изчакване в expert mode,

    [Expert@HostName]# export TMOUT=3600 посочваме нов timeout в expert mode (в секунди). Ако зададете стойност 0, timeout ще бъде изключен.

  13. За импортиране на настройки стартираме утилитата migrate import. За целта отиваме в папката: cd $FWDIR/bin/upgrade_tools/и стартираме импорта: ./migrate imp
    ort -l /var/log/UpgradeR77.30_R80.20/SMS_w_logs_export_r77_r80.tgz

Наслаждавайте се на живота в следващите няколко часа. НЕ ИЗКЛЮЧВАЙТЕ SSH-СЕСИЯТА по време на процедурата. В края процесът migrate ще издаде или съобщение за успешно завършване на операцията, или грешка. 

Чек-лист проверки след обновление

  1. Достъпност на ресурсите.
  2. SIC с GW.
  3. Лицензи. Ако лицензиите се показват неправилно или не се показват на SMS, стартирайте командата vsec_central_licence за разпределение на лицензиите.
  4. Настройка на политиката. 

Импорт на базата SmartEvent

  1. Активирайте блейда SmartEvent.
  2. Свързваме се чрез WinSCP с SMS и в режим binary предаваме преди това изнесените файлове -db-backup.backup и eventiaUpgrade.tar в папка /var/log/UpgradeR77.30_R80.20/
  3. Стартираме скрипта с командата: $RTDIR/bin/eventiaUpgrade.sh -upgrade /var/log/UpgradeR77.30_R80.20/eventiaUpgrade.tar
  4. Проверяваме статуса: watch -n 10 eventiaUpgrade.sh
  5. Проверяваме логовете в SmartEvent. СЪН!

Обновяваме клъстера Check Point GW (Active/Backup)

Преди да започнем работа

  1. Запазваме конфигурацията GAIA от всяка нода на клъстера в файл, за това използвайте командата: clish -c "show configuration" > ./.txt
  2. Експортируеме файлове с помощта на WinSCP.
  3. Свързваме се с WebUI на двете ноди и отиваме на раздела CPUSE → Show all packages.
  4. Намираме обновителния пакет за версия R80.20 Fresh Install, натискаме Изтеглете.
  5. Проверяваме дали CCP протоколът работи в режим Broadcast, за целта вводим командата: cphaprob -a if
    Ако е избран режим Multicast, сменете го с командата: cphaconf set_ccp broadcast (командата се изпълнява на всяка нода).
  6. Настройваме Downtime за активните ноди в системата за мониторинг.
  7. Проверяваме, че на ниво виртуализация са включени параметрите MAC Address Change и Forged Transmits за sync мрежата.

Актуализация

  1. Свързваме се чрез ssh с Active нода и стартираме командата за мониторинг на състоянието на клъстера: watch -n 2 cphaprob stat
  2. Връщаме се в WebUI на Standby нода на раздела CPUSE и за избрания пакет R80.20 Fresh Install стартируеме Verifier.
  3. Анализираме отчета Verifier. Ако инсталацията е разрешена, продължаваме.
  4. Избираме пакета R80.20 Fresh Install и стартираме Upgrade. По време на Upgrade системата ще бъде рестартирана. Настройките на GAIA се запазват. При рестартиране проследяваме състоянието на клъстера. След зареждане статусът на обновената нода трябва да се смени на READY. В някои случаи имаше моменти, когато още не обновената нода преминаваше в статус Active Attention и спираше да показва статуса на обновената нода. Не се притеснявайте – такъв вариант също е допустим.
  5. След приключване на обновлението отваряме SmartDashboard.
  6. Отваряме клъстерния обект и променяме версията на клъстера от R77.30 на R80.20. Натискаме Ок. Ако при запазване на промените се появи грешка:
    An internal error has occurred. (Code: 0x8003001D, Could not access file for write operation),
    следвайте SK119973. След това запазваме промените и натискаме Install Policy.
  7. В настройките сме махнали отметката от параметъра For gateway clusters, if installation on a cluster member fails, do not install on that cluster.
  8. Инсталираме политиката. Системата ще даде грешка за Active-нода, която все още не е обновена.
  9. Свързваме се с обновената нода по ssh и стартираме командата за мониторинг на състоянието на клъстера: watch -n 2 cphaprob stat
  10. Свързваме се с WebUI на Active-нода и преминаваме на раздела CPUSE → Show all packages.Намираме обновителния пакет за версия R80.20 Fresh Install, натискаме Изтеглете.
  11. Настройваме Downtime за активните ноди в системата за мониторинг.
  12. Връщаме се в WebUI на Active-нода на раздела CPUSE и за избрания пакет R80.20 Fresh Install стартируеме Verifier.
  13. Анализираме отчета Verifier. Ако инсталацията е разрешена, продължаваме.
  14. Избираме пакета R80.20 Fresh Install и стартираме Upgrade. По време на Upgrade системата ще бъде рестартирана. Настройките на GAIA се запазват. При рестартиране проследяваме състоянието на клъстера на вече обновената нода. След рестартиране състоянието на клъстера на обновената нода ще се промени от READY на ACTIVE.
  15. Когато приключи процесът на Upgrade, стартираме SmartDashboard и установяваме политиката.

Чек-лист проверки след обновление

  • Журналите на събитията в SmartLog, състоянието на VPN тунелите.
  • Настройките на GAIA.
  • Възстановяване на клъстера след тестов Failover.
  • Лицензии и договори. В случай, че лицензите се показват неправилно или не се показват на SMS, стартираме командата. vsec_central_licence за разпределение на лицензите.
  • CoreXL.
  • SecureXL.
  • Hotfix и CPinfo на две ноди.

Заключение

Всъщност на този етап всичко е – обновихте се.

Процесът ни отнемаше средно от 6 до 12 часа, в зависимост от размерите на експортируемите бази. Работихме две вечери: едната – за обновление на SMS, втората – за клъстера.

Не беше имало престои на трафика, въпреки че проверихме всички по-горе споменати грешки.

Разбира се, понякога могат да възникнат и съвсем нови трудности в процеса на обновление, но това е Check Point и, както всички знаем, винаги има hotfix!

Успешни черно-розови нощи и обновления!

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster