вторник, 26 октября 2010 г.

Заметка о настройке IPSec на Cisco871.


IPsec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. 
Протоколы IPsec работают на сетевом уровне (уровень 3 модели OSI). IPsec-протоколы можно разделить на два класса: протоколы отвечающие за защиту потока передаваемых пакетов и протоколы обмена криптографическими ключами. На настоящий момент определён только один протокол обмена криптографическими ключами — IKE (Internet Key Exchange) — и два протокола, обеспечивающих защиту передаваемого потока: ESP (Encapsulating Security Payload — инкапсуляция зашифрованных данных) обеспечивает целостность и конфиденциальность передаваемых данных, в то время как AH (Authentication Header — аутентифицирующий заголовок) гарантирует только целостность потока (передаваемые данные не шифруются). 
Существует два режима работы IPsec: транспортный режим и туннельный режим. 
В транспортном режиме шифруется (или подписывается) только информативная часть IP-пакета. Маршрутизация не затрагивается, так как заголовок IP пакета не изменяется (не шифруется). Транспортный режим как правило используется для установления соединения между хостами. Он может также использоваться между шлюзами, для защиты туннелей, организованных каким-нибудь другим способом (IP tunnel, GRE и др.). 
В туннельном режиме IP-пакет шифруется целиком. Для того, чтобы его можно было передать по сети, он помещается в другой IP-пакет. По существу, это защищённый IP-туннель. Туннельный режим может использоваться для подключения удалённых компьютеров к виртуальной частной сети или для организации безопасной передачи данных через открытые каналы связи (например, Интернет) между шлюзами для объединения разных частей виртуальной частной сети. 
Режимы IPsec не являются взаимоисключающими. На одном и том же узле некоторые SA могут использовать транспортный режим, а другие — туннельный. 
Схема подключения (рисовал в GNS, сильно не пинайте):



где LAN_192.168.100.144 - это пример подсети представительства. 
Требования: компьютеры из подсети представительства должны получать доступ к ресурсам ЦО (подсеть 10.0.0.0/8) и филиала (подсети 172.ХХ.0.0/16).


Итак, приступим.

1. Подключаем синий кабель в консольный порт Cisco871, настраиваем параметры подключения Hyperterm или Putty, включаем питание Cisco871 и ждем пока появится приглашение для входа 
2. Логин/пароль для первого входа — cisco/cisco, как написано в приглашении. 
3. Удаляем существующий конфигурационный файл startup-config (нам он при настройке не понадобится, потому как придётся удалять 5-7 лишних настроек) 
yourname#wr erase 
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] 
[OK] 
Erase of nvram: complete 
yourname# 
*Mar  1 00:11:16.363: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram 

4. Проверяем, что конфигурационный файл удалился (можно сокращать, если команда уникальна). 
yourname#sh start 
startup-config is not present

5. Перезагрузка маршрутизатора в новый (пустой) конфигурационный файл. 
yourname#reload 
System configuration has been modified. Save? [yes/no]: no 
Proceed with reload? [confirm]

6. Когда маршрутизатор загрузился — отказываемся от диалога начальной конфигурации, так как будем все конфигурировать вручную. 
         --- System Configuration Dialog --- 
Would you like to enter the initial configuration dialog? [yes/no]: 
% Please answer 'yes' or 'no'. 
Would you like to enter the initial configuration dialog? [yes/no]: n 
Press RETURN to get started!

7. Переходим в привилегированный режим 
Router>en

8. Переходим в режим конфигурации (приглашение командной строки C871-Apt24Nk(config)#
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

9. Задать имя маршрутизатора
C871-Apt24Nk(config)#hostname C871-Apt24Pl

10. Определить пул адресов, раздаваемых по DHCP, с именем, например, Apt24Pl_POOL и такие параметры как подсеть, домен, маршрутизатор по умолчанию и список серверов днс.
ip dhcp pool Apt24Pl_POOL
   network 192.168.100.144 255.255.255.240
   domain-name Poltava.Office.com
   default-router 192.168.100.145
   dns-server 10.1.11.2 10.1.11.3
Если надо сделать постоянную привязку IP-MAC, то нужно сделать отдельный пул с необходимыми параметрами. client-identifier формируется как 01+MAC, т.е. начинается на 01 далее идет MAC-адрес.
ip dhcp pool Apt24KhKassaSRV_POOL
   host 192.168.100.147 255.255.255.240
   client-identifier 0100.2618.d976.08
   domain-name Poltava.Office.com
   default-router 192.168.100.145
   dns-server 10.1.11.2 10.1.11.3
11.Исключаем IP-адрес маршрутизатора из пула адресов, выдаваемых DHCP
ip dhcp excluded-address 192.168.100.145

12. Задаём имя домена, в котором находится маршрутизатор (необходимо для ssh)
ip domain name Poltava.Office.com

13. Задаем IP-адреса серверов имен, полученные от провайдера
ip name-server 212.XXX.YY.5 
ip name-server 212.XXX.YY.9
ip name-server 10.1.11.2

14. Создаем своего пользователя с правами администратора
username admin privilege 15 secret ***********

15. Настройка IKE, ISAKMP Policy
# создаем полиси с номером 20, первыми отрабатываются полиси с наименьшими номерами, номера полиси на удаленных устройствах могут не совпадать.
crypto isakmp policy 20 
# шифрование. Бывает aes 128,192,156; des; 3des
 encr aes 
# аутентификация удаленной стороны по заданному ключу
 authentication pre-share 
# для обмена ключами использовать Diffie-Helman group 2 (1024 бит)
 group 2 
# время жизни ключа 28800 секунд (8 часов)
 lifetime 28800

16.Добавляем Pre-shared key для удаленного хоста
crypto isakmp key *********-Ku-Ku address 195.24.XX.10 no-xauth

17.Создаем access-list для трафика, который будет направляться в туннель. Все пакеты из локальной подсети аптеки на внутренние адреса компании.
ip access-list extended IPSEC_TRAFFIC 
 permit ip 192.168.100.144 0.0.0.15 10.0.0.0 0.255.255.255 
 permit ip 192.168.100.144 0.0.0.15 172.16.0.0 0.15.255.255 
 permit ip 192.168.100.144 0.0.0.15 192.168.0.0 0.0.255.255

18.Создание transform-set
crypto ipsec transform-set VPNSET_AES_SHA esp-aes esp-sha-hmac

19.Создание crypto map, которая объединяет transform-set, isakmp-policy, access-list и удаленный хост.
# Создать можно ТОЛЬКО одну crypto map для одного исходящего интерфейса. В одной crypto map можно указать несколько ipsec-туннелей, используя порядковый номер, который обрабатывается в порядке возрастания.
crypto map APT24MAP 20 ipsec-isakmp 
# описание 
 description tunnel_to_cisco 
# указать удаленный хост 
 set peer 195.24.156.130 
# указать transform-set 
 set transform-set VPNSET_AES_SHA 
# указать access-list 
 match address IPSEC_TRAFFIC

20.Настройка внутреннего интерфейса vlan 1
 interface Vlan1 
 ip address 192.168.100.145 255.255.255.240 
# указываем, что данный интерфейс участвует в nat изнутри 
 ip nat inside

21.Настройка внешнего интерфейса FastEthernet4
interface FastEthernet4 
 ip address 89.**.***.** 255.255.255.252 
# указываем, что данный интерфейс участвует в nat снаружи 
 ip nat outside 
# повесить crypto map на интерфейс 
crypto map APT24MAP

Если вы счастливый обладатель pppoe-соединения с провайдером: изменить следует настройки исходящего интерфейса и указания маршрута по умолчанию, а также изменить правило ip nat inside ....

Описываем ФИЗИЧЕСКИЙ ИНТЕРФЕЙС
interface FastEthernet4 
 no ip address 
 ip virtual-reassembly 
 no ip route-cache cef 
 no ip route-cache 
 duplex auto 
 speed auto 
 pppoe enable group global 
 pppoe-client dial-pool-number 1

Описываем ЛОГИЧЕСКИЙ ИНТЕРФЕЙС.
interface Dialer0 
 ip address negotiated 
 ip mtu 1492 
 ip nat outside 
 ip virtual-reassembly 
 encapsulation ppp 
 dialer pool 1 
 dialer-group 1 
 no cdp enable 
 ppp authentication chap pap callin 
 ppp chap hostname ЛОГИН 
 ppp chap password 0 ПАРОЛЬ 
 ppp pap sent-username ЛОГИН password 0 ПАРОЛЬ 
 crypto map APT24MAP

Тогда ip route и ip nat inside станет таким:
ip route 0.0.0.0 0.0.0.0 Dialer0 
ip nat inside source list NONAT interface Dialer0 overload

22.Создание access-list для указания правил nat
ВАЖНО: первые 3 строчки запрещают nat для внутренних адресов компании, потому, как nat применяется к интерфейсу ДО ipsec. Без данной настройки nat заберет пакет, отправит его на роутер по умолчанию, который, увидя «серый» внутренний IP, удалит пакет.
ip access-list extended NONAT. 
 deny   ip any 10.0.0.0 0.255.255.255 
 deny   ip any 172.16.0.0 0.15.255.255 
 deny   ip any 192.168.0.0 0.0.255.255 
 permit ip 192.168.100.144 0.0.0.15 any

23.Собственно, правило, описывающее nat.
ip nat inside source list NONAT interface FastEthernet4 overload

24.Добавим ключ rsa для корректной работы ssh
C871-Apt24Nk(config)#crypto key generate rsa modulus 1024

25. Параметры для логгирования сообщений
C871-Apt24Nk(config)#service timestamps log datetime msec localtime show-timezone

26. Настройка автосохранения конфига на tftp-сервере.
C871-Apt24Nk(config)#ip tftp source-interface Vlan1 
C871-Apt24Nk(config)#archive 
C871-Apt24Nk(config-archive)#path tftp://IP_OR_NAME_OF_TFTP-SERVER/cisco/BRANCH/XX-branch-config 
C871-Apt24Nk(config-archive)#write-memory

Теперь каждый раз после сохранения конфигурации командой write, копия конфигурационного файла будет отправляться на tftp сервер, с именем XX-branch-config-[+1] и мы будем иметь на сервере все версии конфигов (XX-branch-config-1, XX-branch-config-2, XX-branch-config-3 и.т.д.). Для тех кто не понял, BRANCH - название филиала, например, nikolaev, XX - двубуквенный код филиала, например, nk, pl kiev (исключение) и т.п.

27. Настройка синхронизации времени и часового пояса. Параметр source указывает на интерфейс, с которого будут отправляться запросы на синхронизацию времени.
C871-Apt24Nk(config)#ntp server 10.1.11.2 source Vlan1 
C871-Apt24Nk(config)#ntp server 10.1.11.3 source Vlan1 


C871-Apt24Nk(config)#clock timezone KIEV 2 
C871-Apt24Nk(config)#clock summer-time KIEV recurring last Sun Mar 2:00 last Sun Oct 3:00

28. Магическая строчка. Без нее интернета НЕ будет.
ip route 0.0.0.0 0.0.0.0 ИСХОДЯЩИЙ_ИНТЕРФЕЙС (например, Dialer0 или Fa4)

или
ip route 0.0.0.0 0.0.0.0 GATEWAY_OF_YOUR_PROVIDER

29.Выходим из режима конфигурации
C871-Apt24Nk(config)#^Z

30.Записываем (сохраняем) конфигурационный файл startup-config
C871-Apt24Nk#wr me 
Building configuration... 
[OK]


Литература:
http://ru.wikipedia.org/wiki/IPsec
http://www.xgu.ru/wiki/IPsec_в_Cisco

Комментариев нет:

Отправить комментарий