Часть 5. Резервное копирование и восстановление.

†Оглавление†

<<< Предыдущая Глава | Следующая Глава >>>

 

Создание резервных копий в pfSense достаточно легкий процесс благодаря тому, что данная система использует конфигурационный файл на XML. Практически все параметры и настройки хранятся в единственном файле, там же происходит и конфигурирование (подробнее читайте в Части 4 "Конфигурирование pfSense в XML файле"). Этот файл может быть использован для восстановления конфигурации системы к идентичному состоянию. В таком случае практически нет необходимости в создании полных резервных копий системы, поскольку системные файлы не изменяются в процессе работы системы. Исключением могут стать некоторые дополнительные пакеты, которые держать свои данные за пределами файла конфигурации.

 

Стратегии резервного копирования.

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

Если Вы подписаны на portal.pfsense.org (подписка платная), для Вас резервные копии обрабатываются автоматически. Но если Вы производите какие-либо изменения в системных файлах, например собственные исправления - эти файлы нужно сохранять вручную или с пакетом резервного копирования, подробней читайте в этой части в разделе "Резервное копирования файлов и каталогов с пакетом резервного копирования (Backup Package)". Это относится к таким файлам, как /boot/device.hints, /boot/loader.conf, /etc/sysctl.conf и прочим. 

 

Создание резервных копий с использованием WebGUI

Создание резервных копий с использованием WebGUI достаточно простое. Перейдите на страницу Diagnostics >> Backup/Restore. в разделе Backup Configuration (Рисунок 5.1. "Резервные копии через WebGUI"), на этой странице, убедитесь, что значение Backup Areal установлено в All (по умолчанию), затем нажмите Download Configuration.


Рисунок 5.1. Резервные копии через WebGUI

Ваш браузер запросит путь сохранения резервной копии. Сохраняемый файл получает имя вида config-hostname-timestamp.xml, которое вы можете изменить перед сохранением.

Подписчики портала portal.pfsense.org имеют доступ к возможности автоматического обслуживания резервного копирования, AutoConfigBackup. Последняя информация относительно AutoConfigBackup может быть найдена на сайте документирования pfSense - http://doc.pfsense.org/index.php/AutoConfigBackup.

 

Когда вы хотите произвести изменения в своей конфигурации, она автоматически шифруется парольной фразой введённой в вашу конфигурацию и загружается по протоколу HTTPS на наш сервер. На сервере хранятся только зашифрованные конфигурации. Это обеспечивает вам безопасное хранение резервных копий без внешнего вмешательства.

Пакет AutoConfigBackup работает с pfSense 1.2-RELEASE и всеми последующими версиями включая 2.0.

Установка и конфигурирование 

Чтобы установить пакет AutoConfigBackup, перейдите в меню System >> Packages и выберите пакет AutoConfigBackup. Произойдет загрузка и установка пакета. После обновления страницы вы сможете найти AutoConfigBackup в меню Diagnostics.

Так же, необходимо убедиться, что ваша система имеет уникальное имя хоста и домена. Для этого перейдите на страницу System >> General Setup. При использовании пакета AutoConfigBackup, конфигурации сохраняются с именами в формате FQDN (Fully Qualified Domain Name), а следовательно необходимо убедиться, что каждый брандмауэр, конфигурация которого резервируется имеет уникальное имя в формате FQDN, иначе система не сможет дифференцироваться между множеством инсталляций.

Для конфигурирования сервиса перейдите на страницу Diagnostics >> AutoConfigBackup. В закладке Settings необходимо ввести Ваши логин и пароль от портала portal.pfsense.org, а также пароль шифрования, необходиый для защиты Вашей конфигурации. Используйте длинный и сложный пароль, это станет гарантией безопасности хранения Вашей конфигурации. В целях безопасности, мы храним только шифрованные конфигурации, бесполезные без знания пароля.

Замечание Очень важно хранить ключ шифрования вне вашего брандмауэра. Если вы утеряете ключ, в случае сбоя жёсткого диска системы восстановить конфигурацию будет невозможно.

 

Задание автоматического резервного копирования запустится после того, как Вы произведете какое-либо изменение в конфигурации. Измените, например, правило брандмауера, нажмите Apply changes. После этого на странице Diagnostics >> AutoConfigBackup во вкладке Restore, Вы увидите список уже доступных резервных копий.

Чтобы восстановить требуемую конфигурацию, нажмите кнопку справа от требуемой копии на вкладкe Restore страницы Diagnostics >> AutoConfigBackup. После загрузки копии с нашего сервера Вы должны будете расшифровать ее своим ключом. После восстановления конфигурации в большинстве случаев перезагрузка системы не требуется, но это зависит от содержимого восстанавливаемой конфигурации. Если при восстановлении конфигурации изменяется что-то кроме настроек NAT и брандмауэра, лучше выполнить перезагрузку системы.

В случае, если вышел из строя жесткий диск с системой, Вам необходимо произвести следующие действия:

- Произвести чистую инсталляцию системы pfSense на новое хранилище (HDD, CF итд)

- Настроить LAN и WAN интерфейсы. Назначить имя хоста и домен, такими, какими они были на вышедшей из строя системе.

- Установить и сконфигурировать пакет AutoConfigBackup, как было описано выше, используя учётную запись портала и свой пароль шифрования (используемый ранее).

- Перейти на вкладку Restore и выбрать необходимую резервную копию конфигурации.

- После воостановления перезагрузить систему.

После этих действий Вы вернетесь к последнему состоянию системы, с конфигурацией согласно резервной копии.

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

Альтернативные способы резервного копирования

Далее мы опишем альтернативные способы для создания резервных копий, однако каждый из следующих способов имеет собственные проблемы безопасности. Данные методы не используют шифрование резервируемой конфигурации а передача открытой конфигурации не безопасна. Если Вы собираетесь использовать один из следующих методов, то лучше передавать информацию не через глобальную сеть, а по внутренним сетям LAN или DMZ, или с помощью VPN-канала. В любом случае пакет AutoConfigBackup - наиболее простое и безопасное средство автоматизированного создания резервных копий.

 

Использование wget

С помощью wget можно произвести резервное копирование на удаленной системе, также это может выполняться сценарием в cron и других средствах автоматизации. При выполнении такого копирования, необходимо использование HTTPS с сертификатом, который может быть проверен самим wget. Для маршрутизаторов использующих HTTPS с самоподписанным сертификатом, используется следующая команда:

# wget -q --no-check-certificate --post-data 'Submit=download'https://admin:pfsense@192.168.1.1/diag_backup.php -O config-hostname-`date +%Y%m%d%H%M%S`.xml

Для маршрутизатора использующего регулярный HTTP команда будет выглядеть так:

# wget -q --post-data 'Submit=download'http://admin:pfsense@192.168.1.1/diag_backup.php -O config-hostname-`date +%Y%m%d%H%M%S`.xml

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

 

Использование SCP

С помощью scp конфигурация pfSense может быть передана к другой UNIX-like системе. Использование scp может быть полезно при передаче копии в ручном режиме, а автоматизация этого процесса может быть небезопасной. Команда при использвании scp может различаться в зависимости от версии и конфигурации вашей системы, но в большинстве случаев она выглядит следующим образом:

# scp /cf/conf/config.xml user@backuphost:backups/config-`hostname`-`date +%Y%m%d%H%M%S`.xml

Чтобы автоматизировать этот процесс необходимо генерировать ключ ssh без парольной фразы. Это крайне не рекомендуется из-за опасности использования ключа без пароля, поэтому решение использовать данный способ или нет остается целиком на Вашей совести. При использовании этого метода необходимо убедиться, что удаленный пользователь имеет максимально ограниченные права в адресуемой системе. Для большинства UNIX систем существует оболочка scponly, она позволяет производить различные копирования без входа в систему. 

 

Основы резервного копирования с использованием SSH

Этот способ подобен резервному копированию с использованием SCP, но работает абсолютно на всех unix системах, а также не использует уровень SCP/SFTP, который может некорректно отрабатывать в случаях, если система находится в неисправном состоянии:

# ssh root@192.168.1.1 cat /cf/conf/config.xml > backup.xml

После выполнения данной команды, Вы получите файл backup.xml в текущий рабочий каталог, который содержит полную конфигурацию удалённой системы pfSense. Автоматизация данного процесса возможна при помощи планировщика cron, но в таком случае, на хосте с которго осуществляется резервное копирование требуется использование ключа SSH без парольной фразы. Этот ключ открывает полный администраторский доступ до Вашего брандмауера и должен надежно контролироваться. Для помощи в конфигурации SSH обратитесь к Части 4 данного руководства "Безопасная оболочка SSH"

Востановление с резервной копии

Резервные копии безполезны при отсутсвтии средств восстановления. В pfSense предлагается несколько вариантов восстановления конфигурации. Некоторые из них более функциональны, но каждое приводит к одному результату: восстановленная система должна работать так, как она работала на момент создания резервной копии.

 

Восстановление посредством WebGUI

Восстановление конфигурации посредством web-интерфейса WebGUI это самый простой способ. Нужно всего лишь перейти на страницу Diagnostics >> Backup/Restore в раздел Restore (Рисунок 5.2 "Восстановление посредством WebGUI"). Далее необходимо выбрать область восстановления в графе Restore Area, по умолчанию копии восстанавливаются на всю область (All), затем нажмите на Browse и выберите сохраненный файл конфигурации. После нажатия на кнопку Restore Configuration конфигурация будет восстановлена, брандмауер перезагрузится уже с параметрами полученными из файла резервной копии.

Рисунок 5.2. Восстановление посредством WebGUI

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

 

Восстановление из истории конфигурации

Самый частоиспользуемый способ восстановления при незначительных проблемых - восстановление из истории конфигурации. Зайдите на страницу Diagnostics >> Backup/Restore и выберите закладку Config History (рисунок 5.3. "История конфигурации"). В этом списке хранятся предыдущие 30 конфигураций, наряду с текущей используемой конфигурацией. Для перехода на требуемую конфигурацию просто выберите ее из этого списка.

Рисунок 5.3. История конфигурации

Конфигурация сразу будет переключена, но перезагрузка устройства автоматически не произведется, даже в случае её необходимости. Незначительные изменения не требуют перезагрузки. Для того, чтобы быть уверенным в полном восстановлении конфигурации, Вы можете самостоятельно перезагрузить маршрутизатор с новой конфигурацией на странице Diagnostics >> System Reboot.

 

Восстановление с PFI

В части 3 данного руководства мы рассматривали Pre-Flight Installer (PFI), который берет файл конфигурации сохраненный на USB носителе и устанавливает его в качестве конфигурации в процессе установки системы. Это самый быстрый метод для полного восстановления системы, поскольку он позволяет производить восстановление непосредственно при установке pfSense, без дополнительных ручных настроек. При первой загрузке системы после такой установки, система уже будет работать с конфигурацией восстановленной из файла, и Вам не придется заботиться о дополнительном компьютере для восстановления через WebGUI.

 

Восстановление при установке на CF/HDD

Данный метод расчитан на пользователей использующих pfSense на встраиваемых системах. Вы можете присоединить Вашу CompactFlash (CF) или HDD с установленной pfSense к компьютеру с работающей системой FreeBSD, затем смонтировать диск и скопировать конфигурацию установленной pfSense.

 

Пример встроенной системы

Присоедените Вашу CF к кард-ридеру подключенному к компьютеру с FreeBSD или с другой, не активной системой pfSense. Вероятнее всего, новое устройство обнаружится как da0. Теперь смонтируем раздел конфигурации:

# mount -t ufs /def/ufs/cf /mnt

Если, по каким то причинам, вы не можете использовать метки GEOM, используйте устройство напрямую, например как /dev/da03. Теперь копируем конфигурационный файл на карту:

# cp /usr/backups/pfSense/config-alix.example.com-20090606185703.xml/mnt/conf/config.xml

И наконец убедитесь, что размонтировали раздел конфигурации:

# umount /mnt

Так же, Вам может помочь процесс рассмотренный в части 3, разделе "Восстановление инсталляции", позволяющий произвести установку pfSense на хранилище с поддержкой конфигурации, которая уже находится на данном хранилище. Это очень полезно, в случае если Ваша система разрушена, но файл конфигурации не поврежден.

 

Резервные копии файлов и каталогов создаваемые с помощью Backup пакета.

Используя пакет Backup Вы сможете создавать резервные копии не только конфигурационного файла, но и любой набор необходимыз файлов и каталогов системы. В большинстве случаев в этом нет необходимости, но это нужно для резервного копирования данных RRD или пакетов вроде FreeSWITCH, которые могут содержать файлы необходимые в дальнешем. Чтобы установить пакет перейдите на страницу System >> Packages, найдите Backup в списке пакетов и нажмите [+]. После установки, пакет будет доступен на странице Diagnostics >> Backup Files/Dir.

С использованием пакета Backup Вы сможете быстро сделать резервную копию графиков RRD (подробнее читайте в Части 22 раздел "Графики RRD"). перейдите на страницу Diagnostics >> Backup Files/Dir. Нажмите [+] для добавления нового местоположения набора резервных копий. В поле Name введите RRD Data. В поле Path, введите /var/db/rrd. Установите флаг Enable в True, и в поле Description (Описание), введите RRD Graph Data. Нажмите Save. На основном экране Backup нажмите кнопку [Backup] и получите файл который будет содержать ваши данные RRD наряду с любыми другими каталогами в составе резервной копии. Сохраните файл в надёжное место.

Чтобы восстановить графики RRD перейдите на страницу Diagnostics >> Backup Files/Dir, нажмите Browse и найдите файл резервной копии созданный ранее. Нажмите Upload и файлы будут восстановлены. Поскольку RRD файлы обновляются раз в 60 секунд, нет необходимости перезагружать систему или какие либо отдельные службы. 

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

 

<<< Предыдущая Глава | Следующая Глава >>>

†Оглавление†