Настройка Checkpoint. Часть 1. Установка и первоначальная конфигурация

от автора

Checkpoint Logo
Доброго всем времени суток. Сегодня я хочу начать цикл о настройке и принципах работы межсетевых экранов Checkpoint.

Chekpoint — компания, занимающаяся разработкой решений по сетевой безопасности начиная с 1993 года. Компания позиционирует себя как разработчик собственной архитектуры управления\взаимодействия — SMART (SecurityManagment Architecture). На основании этой концепции в конечном итоге была создана операционная система Gaia, путём объединения ОС IPSO (Nokia) и ОС SPLAT (ранняя разработка СР на базе Unix-ориентированных систем). В данном программном обеспечении реализован ряд технологий, связанных с безопасностью обмена данными (например пакетная фильтрация, IPS), а так же проприетарная Stateful Inspection основной задачей которой является контроль конкретных соединений в реальном времени.©Wikipedia.

Увы, на Хабре не так много статей, посвященных этому вендору. Хотя, на мой взгляд, он заслуживает большего внимания.

Опытные инженеры систем безопасности, скорее всего, не найдут никакой новой информации в этой и последующих статьях. Но для новичков, я надеюсь, они будут полезными. Мы попробуем разобрать принципы работы основных модулей и системы в целом, а так же рассмотрим примеры настройки из “best practice".

Сегодня на повестке дня установка и начальная конфигурация устройства. Добро пожаловать под кат.

На Хабре уже была статья о том, как установить две фаервольных ноды и сделать из них кластер. Попытаюсь уделить внимание вопросам, которые в той статье рассмотрены не были.

Этап 0. Подготовка

Итак, начнем.

В первую очередь нам необходимо подобрать оборудование. Есть, по сути, только два варианта: либо покупать устройство, с любовью оклеенное этикетками Checkpoint и помещенное в специально подготовленный для него корпус, или же собирать платформу самостоятельно. В любом случае выбор устройства будет зависеть от очень большого количества параметров. Мы можем опираться лишь на свой опыт и на ту документацию, которую нам предоставляет сам вендор. Список поддерживаемых серверов можно посмотреть по ссылке. Так же можно примерно посчитать на какую нагрузку будет рассчитан конкретный девайс от компании Checkpoint (осторожно PDF). К сожалению, Checkpoint не предоставляет информацию об установленном в устройства оборудовании, лишь объем оперативной памяти и количество интерфейсов, но в Интернете можно найти кое-какую информацию о CPU.

Этап 1. Установка операционной системы Gaia
После того, как мы выбрали платформу, перейдем к установке операционной системы. Кстати, об операционной системе: Gaia (последняя из операционных систем Checkpoint’а) базируется на дистрибутиве RedHat 5.2. А значит, если Вы до этого работали с linux-based операционными системами, то Вам будет приятно увидеть многие знакомые утилиты и команды.

Здесь будет рассматриваться Gaia R77.10 в виртуальном окружении. Установка предыдущих, так и последующих версий этой операционной системы, ничем не отличается. На сегодняшний день последней является Gaia R77.30.

Компания Checkpoint не предоставляет дистрибутивы своих операционных систем без регистрации и SMS на сайте, поэтому поиск образа я полностью доверяю вам. Если же у вас имеется учетная запись, то загрузить необходимый дистрибутив можно по ссылке.

Теперь мы вооружены всем необходимым и можем перейти непосредственно к установке.

Большинство следующих скриншотов не требуют пояснения: далее, далее, готово. Никто не предлагает установить Mail.Агент или какое-либо другое приложение, не имеющее отношение к теме.

Единственное, на что хочу обратить Ваше внимание – разметка диска. Система выдаст ошибку и прекратит установку, если объем жесткого диска менее 8Гб. В случае наличия от 8 до 15 Гб система самостоятельно разбивает диск на необходимые ей разделы. Если же объем больше 15Гб, то нам разрешат немного повлиять на этот процесс, а именно: изменить размер разделов под system-root (/) и логи (/var/logs/). Эта информация может пригодиться тем, кто собирается ставить Checkpoint на виртуальную машину. Остальным же требуется знать лишь, основное правило, которое заключается в том, что размер раздела “Backup and upgrade" должен быть не менее, чем сумма system-root и logs, так как снэпшоты операционной системы помещаются именно туда.

Теперь несколько рекомендаций по разметке дисков для менеджмент сервера и для фаервольных нод.
Менеджмент сервер:

  • Рут должен быть не менее 6Гб, а если планируется использование дополнительных компонентов (блейдов), таких как: IPS, Application Control, URL Filtering, стоит увеличить размер, хотя бы до 10Гб.
  • Логи – наше все. По крайней мере на менеджент сервере. Все доступное пространство выделяем им, ведь основная функция менеджмент сервера, помимо настройки правил – это хранение всевозможных логов и обновлений.

Фаервол:

  • Рут – единственный раздел который фаерволу действительно нужен, и 10Гб, при включенных дополнительных блейдах, будет тоже вполне достаточно.
  • Размер раздела для логов не так критичен, ведь логи пишутся на менеджмент сервер, а на фаерволе эта директория используется, в основном, для обновлений, поэтому хватит даже 5Гб.
Много картинок

Рис 1.1
Выбираем пункт “Install Gaia on this system":

Рис 1.1
Рис 1.2

Тут мы можем посмотреть информацию об установленном оборудовании:

Рис 1.2

Рис 1.3
Выбираем язык:

Рис 1.3

Рис 1.4
Размечаем диск:

Рис 1.4

Рис 1.5
Придумываем пароль:

Рис 1.5

Рис 1.6
Тут мы можем выбрать и настроить интерфейс, который в дальнейшем будем использовать для подключения к устройству через https и ssh.
Рис 1.6

Рис 1.7
Непосредственно, настройка.
Рис 1.7

После этого придется немного подождать, пока система установится на выбранный сервер.

<4>Этап 2.1 Подготовка к настройке
После того, как мы установили операционную систему, логично было бы сразу перейти к настройке политик и другим фаервольным прелестям. Но тут оказывается, что нам необходимо предварительно выбрать, какую функцию будет наш сервер выполнять: будет это фаервол или менеджмент сервер. Таким образом первоначальная конфигурация включает в себя следующие пункты:

  • Выбор роли сервера
  • Параметры менеджмент интерфейса
  • Правила доступа
  • Параметры DNS, NTP, Proxy серверов (proxy только через WebUI)

Первичная настройка Checkpoint для последующей работы с ним доступна в упомянутой выше статье. Мы же сейчас попробуем сделать то же самое, но при помощи командной строки, для этого нам не понадобится отдельный компьютер, сетевое подключение к фаерволу и даже монитор, если Вы знаете толк в извращениях не боитесь трудностей.

Для того что бы произвести конфигурацию фаервола через CLI у нас есть специальная утилита config_system, точнее, это обычный bash-скрипт, содержимое которого Вы можете посмотреть и отредактировать. Лежит он в /bin/config_system.

Этот скрипт редактирует файл базы данных Gaia OS /config/db/initial.

Давайте разберем принцип его работы на примере функции по изменению ip-адреса:

DBSET=/bin/dbset DBGET=/bin/dbget  ...........  # configure new ip for interface # $1 - interface name # $2 - ip # $3 - mask set_ip() {  	local cip  	# get current ip 	cip=$(dbget -c interface:$1:ipaddr) 	# if interface configured, delete old ip first 	if [[ ! -z $cip ]]; then 		log "Configure IPv4 - remove old ip:$cip from $1" 		$DBSET interface:$1:ipaddr:$cip 		$DBSET interface:$1:ipaddr:$cip:mask 	fi  	# now configure new ip/mask 	log "Configure IPv4 - interface:$1, new ip:$2, mask:$3" 	$DBSET interface:$1:state on 	$DBSET interface:$1:ipaddr:$2 t 	$DBSET interface:$1:ipaddr:$2:mask $3 }  ........  $DBSET :save 

Получение текущих настроек из базы происходит при помощи утилиты /bin/dbget, а изменяет конфигурацию команда /bin/dbset. Вот так выглядит кусок файла, описывающий настройки интерфейса eth0:

[Expert@Gaia_R77.10_test:0]# cat /config/db/initial | grep eth0  management:interface eth0  interface:eth0 t  interface:eth0:link_speed 1000M/full  interface:eth0:state on  interface:eth0:ipaddr:192.168.1.2 t  interface:eth0:ipaddr:192.168.1.2:mask 24  interface:eth0:duplicity full  interface:eth0:speed 1000M  interface:eth0:auto_negotiation on  

Параметр отделяется от значения пробелом. Теперь мы можем попробовать получить какие-нибудь значения при помощи DBGET.

[Expert@Gaia_R77.10_test:0]# dbget -c interface:eth0:ipaddr  192.168.1.2  

Ключ -c необходим для вывода имени дочернего параметра с не нулевым значением. Что бы дополнительно показать значение этого параметра существует ключ -v.

[Expert@Gaia_R77.10_test:0]# dbget -cv interface:eth0:ipaddr  192.168.1.2 t 

Мы получили значение равное t, то есть true. По сути это означает лишь то, что на интерфейсе задан ip-адрес, равный 192.168.1.2.

А теперь изменим ip-адрес на интерфейсе. Для этого нам надо:

  • Удалить текущие значения ip-адреса и маски
  • Установить новое значение ip-адреса
  • Установить новое значение маски
  • Сохранить конфигурацию
[Expert@Gaia_R77.10_test:0]# dbset interface:eth0:ipaddr:192.168.1.2  [Expert@Gaia_R77.10_test:0]# dbset interface:eth0:ipaddr:192.168.1.2:mask 

[Expert@Gaia_R77.10_test:0]# dbset interface:eth0:ipaddr:192.168.1.1 t  

[Expert@Gaia_R77.10_test:0]# dbset interface:eth0:ipaddr:192.168.1.1:mask 24  

[Expert@Gaia_R77.10_test:0]# dbset :save  

Этап 2.2 Первоначальная конфигурация

Config_system принимает либо файл, либо строку из необходимых параметров, разделенных амперсандом (&). Синтаксис команды со строкой в качестве параметра будет выглядеть следующим образом:

Gaia_R77.10_test> config_system "hostname=myhost&domainname=somedomain.com&timezone='UTC-3'&ftw_sic_key=aaaa&install_security_gw=true&gateway_daip=false&install_ppak=true&gateway_cluster_member=true&install_security_managment=false" 

Значение каждого из этих параметров мы разберем далее. А сейчас разберемся с конфигурационным файлом.
Конфигурационный файл содержит в себе все те же самые значения, каждое на отдельной строке.

Первым делом мы создадим шаблон конфигурационного файла, который потом будем редактировать.

[Expert@Gaia_R77.10_test:0]# config_system -t /home/admin/initial.conf  

initial.conf

######################################################################### # 									# #			Products configuration				# #									# #    For keys below set "true"/"false" after '='  within the quotes	# #########################################################################  # Install Security Gateway.  install_security_gw=  # Install Acceleration Blade (aka Performance Pack). install_ppak=  # Enable DAIP (dynamic ip) gateway. # Should be "false" if CXL or Security Management enabled gateway_daip="false"  # Enable/Disable CXL. gateway_cluster_member=  # Install Security Management. install_security_managment=  # Optional parameters, only one of the parameters below can be "true". # If no primary of secondary specified, log server will be installed. # Requires Security Management to be installed. install_mgmt_primary= install_mgmt_secondary=  # Provider-1 paramters # e.g: install_mds_primary=true #      install_mds_secondary=false #      install_mlm=false #      install_mds_interface=eth0 install_mds_primary= install_mds_secondary= install_mlm= install_mds_interface=  # Automatically download Blade Contracts and other important data (highly recommended) # It is highly recommended to keep this setting enabled, to ensure smooth operation of Check Point products. # for more info see sk94508  # # possible values: "true" / "false" download_info="true"  # Improve product experience by sending data to Check Point # If you enable this setting, the Security Management Server and Security Gateways may upload data that will  # help Check Point provide you with optimal services. # for more info see sk94509 # # possible values: "true" / "false" upload_info="false"  # In case of Smart1 SmartEvent appliance, choose # Security Management only, log server will be installed automatically  ######################################################################### #									# #			Products Parameters				# #									# #		For keys below set value after '='			# #########################################################################  # Management administrator name # Must be provided, if Security Management installed mgmt_admin_name=  # Management administrator password # Must be provided, if Security Management installed mgmt_admin_passwd=  # Management GUI client allowed e.g. any, 1.2.3.4, 192.168.0.0/24 # Set to "any" if any host allowed to connect to managment # Set to "range" if range of IPs allowed to connect to management # Set to "network" if IPs from specific network allowed to connect  # to management # Set to "this" if it' a single IP # Must be provided if Security Management installed mgmt_gui_clients_radio= #  # In case of "range", provide the first and last IPs in dotted format mgmt_gui_clients_first_ip_field= mgmt_gui_clients_last_ip_field= # # In case of "network", provide IP in dotted format and netmask length  # in range 0-32 mgmt_gui_clients_ip_field= mgmt_gui_clients_subnet_field= # # In case of a single IP mgmt_gui_clients_hostname= # Secure Internal Communication key, e.g. "aaaa" # Must be provided, if primary Security Management not installed ftw_sic_key=  ######################################################################### #									# #	Operating System configuration - optional section		# #									# # 		For keys below set value after '='			# #########################################################################  # Password (hash) of user admin. # To get hash of admin password from configured system:   # 	dbget passwd:admin:passwd # OR # 	grep admin /etc/shadow | cut -d: -f2 # # IMPORTANT! In order to preserve the literal value of each character  # in hash, inclose hash string within the quotes. # 	e.g admin_hash='put_here_your_hash_string' # # Optional parameter admin_hash=''  # Interface name, optional parameter iface=  # Management interface IP in dotted format (e.g. 1.2.3.4),   # management interface mask length (in range 0-32, e,g 24 ) and # default gateway. # Pay attention, that if you run first time configuration remotely  # and you change IP, in order to maintain the connection,  # an old IP address will be retained  as a secondary IP address.  # This secondary IP address can be delete later.  # Your session will be disconnected after first time condiguration # process. # Optional prameter, requires "iface" to be specified # IPv6 address format: 0000:1111:2222:3333:4444:5555:6666:7777 # ipstat_v4 manually/off ipstat_v4= ipaddr_v4= masklen_v4= default_gw_v4=  ipstat_v6= ipaddr_v6= masklen_v6= default_gw_v6=  # Host Name e.g host123, optional parameter hostname=  # Domain Name e.g. checkpoint.com, optional parameter  domainname=  # Time Zone in format Area/Region (e.g America/New_York or Etc/GMT-5) # Pay attention that GMT offset should be in classic UTC notation: # GMT-5 is 5 hours behind UTC (i.e. west to Greenwich) # Inclose time zone string within the quotes. # Optional parameter timezone=''  # NTP servers # NTP parameters are optional ntp_primary= ntp_primary_version= ntp_secondary= ntp_secondary_version=  # DNS - IP address of primary, secondary, tertiary DNS servers # DNS parameters are optional. primary= secondary= tertiary= 

В самом шаблоне довольно подробно описан каждый параметр. Поэтому я просто приведу пример конфигурации для менеджмент сервера:

install_security_managment="true"  mgmt_admin_name="admin"  mgmt_admin_passwd="password"  mgmt_gui_clients_radio="network"  mgmt_gui_clients_ip_field="192.168.1.0"  mgmt_gui_clients_subnet_field="24"  admin_hash='HASH_OF_ADMIN_PASSWORD'  install_mgmt_primary="true"  ipstat_v4="manually"  ipaddr_v4="192.168.1.1"  masklen_v4="24"  default_gw_v4="192.168.1.254"  hostname="Gaia_R77.10_MGMT"  timezone="UTC-3"  primary="8.8.8.8" 

И одного фаервола:

install_security_gw="true"  admin_hash='HASH_OF_ADMIN_PASSWORD'  ipstat_v4="manually"  ipaddr_v4="192.168.1.2"  masklen_v4="24"  default_gw_v4="192.168.1.254"  hostname="Gaia_R77.10_FW1"  timezone="UTC-3"  ftw_sic_key="onetimepassword"  primary="8.8.8.8" 

Единственное, на чем хочется остановиться отдельно — параметр ftw_sic_key="". SIC, или Secure Internal Communication key — это одноразовый пароль, который нужен, что бы фаерволом можно было управлять с менеджмент сервера (поэтому мы задали его только на фаерволе). Он нам будет нужен один раз при добавлении фаервола в панель управления менеджмент сервера.

Последний шаг — это отдать полученный файл скрипту и подождать пока завершится конфигурация:

[Expert@Gaia_R77.10_test:0]# config_system -f /home/admin/initial.conf 

Теперь перезагружаем сервер и все готово.

Этап 3. Подведение итогов

Теперь у нас есть один менеджмент сервер и один фаервол. Они готовы к дальнейшей настройке.

В следующей статье мы научимся добавлять фаерволы для управления с одного менеджмент сервера. Узнаем как из них организовать кластер, если изначально мы к этому готовы не были. Рассмотрим варианты кластеров и их принцип работы. А так же пробежимся по способам настройки NATа и простейшим фаервольным политикам.

Спасибо за внимание. Буду рад ответить на ваши вопросы.

ссылка на оригинал статьи http://habrahabr.ru/post/259821/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *