Cisco K9

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

  • защита файла конфигурации сетевого устройства
  • защиту управляющего канала сетевого устройства
  • обеспечение защиты сетевого подключения от перехвата информации

Приставка K9 в артикуле любого устройства Cisco говорит о НАЛИЧИИ в этом устройстве ЛЮБЫХ алгоритмов шифрования, без конкретизации их стойкости. Именно поэтому, почти во всех устройствах Cisco в артикуле присутствует окончание K9. IP телефоны Cisco используют криптографию для безопасного подключения через публичную IP сеть к IP АТС и защите от перехвата речевой информации.WI-FI точки доступа с помощью протокола WPA обеспечивают установление защищенного беспроводного подключения . В маршрутизаторах Cisco и в межсетевых экранах Cisco ASA заложена функция создания шифрованного соединения через IP сети – IPSec VPN. Использование IPSec VPN в содружестве со стойким алгоритмом шифрования информации 3DES обеспечивает достаточно серьезную защиту сети на публичных каналах связи. Продукция Cisco имеющая в себе 3DES шифрование запрещена к ввозу на территорию Российской Федерации без лицензии. Поэтому любой маршрутизатор Cisco c является криптографическим средством, имея в арсенале протокол 3DES, наличие которого приравнивает его к шифровальному средству. Ввоз, обслуживание, реализация шифровальных средств на территории России — лицензируемая деятельность. Чтобы обеспечить пользователям свободный доступ к сетевым технологиям и современным решениям по защите сети компания Cisco выпустила модель К8. Это технически и физически то же самое устройство, но с вырезанными функциями 3DES из операционной системы устройства IOS. Для создания защищенного соединения и удаленного доступа в устройствах, поставляемых российским потребителям, присутствует только DES или AES шифрование.

Что такое Cisco PCI? Маршрутизаторы Cisco K9 как средство защиты информации в банковских сетях

Запрет к открытой поставке в Россию таких устройств сетевой защиты как маршрутизаторы и межсетевые экраны Cisco с 3DES шифрованием вызвал значительный резонанс. Подобные сетевые устройства защиты в большинстве своем использовались не частными лицами, а бизнес структурами, финансовыми и производственными предприятиями. Наибольшая потребность в надежных VPN устройствах у финансовых организаций – банков. Применение стойких алгоритмов защиты в банковских сетях гарантирует сохранение ценной информации – финансовых данных и личных данных клиентов. Нехватка сетевых средств защиты информации в продаже со вступлением новых законов в силу приостановила рост и развитие финансовых институтов, ввиду отсутствия необходимых устройств защиты сети на российском рынке. В значительной степени это было связано с расширением сети банкоматов — выросло потребление маршрутизаторов младшей серии СISCO881-K9, СISCO861-K9, которые в большинстве использовались банками для организации безопасного подключения мобильного терминала (банкомата) к банковской сети. Понимая сложность ситуации правительство пошло на помощь. Устройства, специально разработанные для защиты финансовой информации платежных систем имеют в артикуле сокращение PCI – Payment Card Industry, означающее, что данное устройство сертифицировано MasterCard, Visa, Amex, JCB для организации доступа к платежным системам. Именно поэтому устройства PCI-K9 поставляются на российский рынок, продаются, НО, приобрести подобные устройства имеет право только финансовое учреждение с лицензией, а продавать – организация имеющая лицензию на распространение криптографических средств.

Таким образом, подводя итог анализа средств Cisco K9 и Cisco K8 для защиты сети:

1. Все устройства Cisco с артикулом K9 в окончании на официальном рынке России –имеют криптографию, разрешенную ко ввозу на территорию России без лицензии и разрешены к открытой продаже.

2. Сетевые устройства Cisco, имеющие в артикуле K8 – устройства, с усеченными функциями по криптографии, которые в большинстве касаются отсутствием поддержки протокола 3DES, но при этому поддерживают IPSEC VPN на уровне AES, DES.

3. Устройства PCI – имеют стойкую криптографию (3DES), но продаются только банкам, только организациями, имеющими на это право (имеющими лицензию ФСБ на распространение криптографических средств).

Использование Cisco VPN Client на Linux

Стоит у меня несколько Cisco и прокинуты по ним туннели GRE между организациями, объединенные в свою сегментную сеть. Когда работал на форточках, проблем с подключением к сети не было. VPN клиент для Cisco под форточки работает прекрасно, но в связи с полным отказом от Windows возник вопрос запуска сие чуда на Debian. Как оказалось, стандартные средства организации vpn, входящие в состав репозитария системы, не обеспечивают решения данной задачи. Вот такую задачу мы и будем сегодня решать.

Поиски решения данной задачи в Гугле не привели к конкретному решению, поэтому все пришлось ставить путем проб и ошибок. Загруженные клиенты не хотели собираться в Debian. Спросите, почему нельзя получить клиента у поставщика, ответ: клиент может быть загружен только после регистрации и получения определенного статуса, вот так. Не у каждого есть возможность получить соответствующие права для загрузки. Поэтому принято решение получить все необходимое ПО из свободных источников. Предыстория понятна, пора начать все реализовывать. Все действия будем производить в консоли.

user$ su
root# cd /usr/src
root# wget http://projects.tuxx-home.at/ciscovpn/clients/linux/4.8.02/vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz
--2009-06-09 04:06:33--  http://projects.tuxx-home.at/ciscovpn/clients/linux/4.8.02/vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz
Распознаётся projects.tuxx-home.at... 88.198.57.56
Устанавливается соединение с projects.tuxx-home.at|88.198.57.56|:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Длина: 2050813 (2,0M) [application/x-gzip]
Сохраняется в каталог: `vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz'.
36% [=============>                         ] 746 577     21,9K/s  ОВП 56s

Клиент загружен (эта копия того, который предлагает Cisco у себя на сайте), теперь распакуем и запустим установку. Стоит заметить, что перед запуском установки стоит проверить, есть у вас исходные коды ядра системы. Если нет, то их необходимо установить. Проверить это можно следующим способом.

root# ls /usr/src
vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

Как видите, здесь лежит только загруженный нами ранее vpn клиент Cisco. Необходимо установить исходники ядра, но перед установкой рекомендую обновить пакеты, дабы не наставить дырявого и устаревшего ПО.

root# aptitude update
root# aptitude upgrade

Систему обновили, теперь посмотрим, что у нас есть по ядрам в пакетах.

root#aptitude search linux-image
v   linux-image                                        -                                                             
v   linux-image-2.6                                    -                                                             
p   linux-image-2.6-486                                - Linux 2.6 image on x86                                      
i   linux-image-2.6-686                                - Linux 2.6 image on PPro/Celeron/PII/PIII/P4                 
p   linux-image-2.6-amd64                              - Linux 2.6 image on AMD64                                    
p   linux-image-2.6-k7                                 - Linux 2.6 image on AMD K7 - transition package              
p   linux-image-2.6.26-1-486                           - Linux 2.6.26 image on x86                                   
i A linux-image-2.6.26-1-686                           - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4              
p   linux-image-2.6.26-1-686-bigmem                    - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4              
p   linux-image-2.6.26-1-amd64                         - Linux 2.6.26 image on AMD64                                 
p   linux-image-2.6.26-1-openvz-686                    - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, OpenVZ suppor
p   linux-image-2.6.26-1-vserver-686                   - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer
p   linux-image-2.6.26-1-vserver-686-bigmem            - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer
p   linux-image-2.6.26-1-xen-686                       - Linux 2.6.26 image on i686, oldstyle Xen support            
p   linux-image-2.6.26-2-486                           - Linux 2.6.26 image on x86                                   
p   linux-image-2.6.26-2-686                           - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4
p   linux-image-2.6.26-2-686-bigmem                    - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4              
p   linux-image-2.6.26-2-amd64                         - Linux 2.6.26 image on AMD64                                 
p   linux-image-2.6.26-2-openvz-686                    - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, OpenVZ suppor
p   linux-image-2.6.26-2-vserver-686                   - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer
p   linux-image-2.6.26-2-vserver-686-bigmem            - Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4, Linux-VServer
p   linux-image-2.6.26-2-xen-686                       - Linux 2.6.26 image on i686, oldstyle Xen support            
p   linux-image-686                                    - Linux image on PPro/Celeron/PII/PIII/P4

Имеется новое ядро. Вот его и поставим. Напомню, что мы работаем со стабильной веткой Debian, если вы ставите эксперименты на боевой машине (сервере), подумайте хорошо —  сделайте копию. Ставим новое ядро и исходники к нему. Необходимые дополнительные библиотеки aptitude подхватит и установит сам. На всякий случай проверьте установлена ли утилита сборки проектов make. У меня ее почему-то не оказалось.

root# aptitude install linux-image-2.6.26-2-686 linux-headers-2.6.26-2-686 make

Проверяем содержимое …

root# ls -l /usr/src
итого 2020
drwxr-xr-x  4 root root    4096 Июн  9 06:30 linux-headers-2.6.26-2-686
drwxr-xr-x 18 root root    4096 Июн  9 06:30 linux-headers-2.6.26-2-common
drwxr-xr-x  3 root root    4096 Июн  9 06:30 linux-kbuild-2.6.26
-rw-r--r--  1 root src  2050813 Май 20 19:16 vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

Новое ядро установлено, исходные коды ядра тоже на месте, осталось только сделать рестарт системы и можно приступать к настройке и установке vpn клиента для Cisco.

root# reboot

Рестарт системы сделан. У нас имеется архив с клиентом, надо его распаковать и запустить сборку. Приступаем.

user$ su
root# cd usr/src
root# tar xzvf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz
root# cd vpnclient

Далее идут вопросы установщика и сборщика, отвечаем утвердительно.

root# ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
Copyright (C) 1998-2006 Cisco Systems, Inc. All Rights Reserved.
By installing this product you agree that you have read the
license.txt file (The VPN Client license) and will comply with
its terms.
Directory where binaries will be installed [/usr/local/bin]
Automatically start the VPN service at boot time [yes]
In order to build the VPN kernel module, you must have the
kernel headers for the version of the kernel you are running.
Directory containing linux kernel source code [/lib/modules/2.6.26-2-686/build]
* Binaries will be installed in "/usr/local/bin".
* Modules will be installed in "/lib/modules/2.6.26-2-686/CiscoVPN".
* The VPN service will be started AUTOMATICALLY at boot time.
* Kernel source from "/lib/modules/2.6.26-2-686/build" will be used to build the module.
Is the above correct [y]
Making module
make -C /lib/modules/2.6.26-2-686/build SUBDIRS=/usr/src/vpnclient modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
  CC [M]  /usr/src/vpnclient/linuxcniapi.o
  CC [M]  /usr/src/vpnclient/frag.o
  CC [M]  /usr/src/vpnclient/IPSecDrvOS_linux.o
  CC [M]  /usr/src/vpnclient/interceptor.o
  CC [M]  /usr/src/vpnclient/linuxkernelapi.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /usr/src/vpnclient/cisco_ipsec.mod.o
  LD [M]  /usr/src/vpnclient/cisco_ipsec.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
Create module directory "/lib/modules/2.6.26-2-686/CiscoVPN".
Copying module to directory "/lib/modules/2.6.26-2-686/CiscoVPN".
Already have group 'bin'
Creating start/stop script "/etc/init.d/vpnclient_init".
    /etc/init.d/vpnclient_init
Enabling start/stop script for run level 3,4 and 5.
Creating global config /etc/opt/cisco-vpnclient
Installing license.txt (VPN Client license) in "/opt/cisco-vpnclient/":
    /opt/cisco-vpnclient/license.txt
Installing bundled user profiles in "/etc/opt/cisco-vpnclient/Profiles/":
* New Profiles     : sample
Copying binaries to directory "/opt/cisco-vpnclient/bin".
Adding symlinks to "/usr/local/bin".
    /opt/cisco-vpnclient/bin/vpnclient
    /opt/cisco-vpnclient/bin/cisco_cert_mgr
    /opt/cisco-vpnclient/bin/ipseclog
Copying setuid binaries to directory "/opt/cisco-vpnclient/bin".
    /opt/cisco-vpnclient/bin/cvpnd
Copying libraries to directory "/opt/cisco-vpnclient/lib".
    /opt/cisco-vpnclient/lib/libvpnapi.so
Copying header files to directory "/opt/cisco-vpnclient/include".
    /opt/cisco-vpnclient/include/vpnapi.h
Setting permissions.
    /opt/cisco-vpnclient/bin/cvpnd (setuid root)
    /opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient (group bin readable)
    /etc/opt/cisco-vpnclient/Profiles (group bin readable)
    /etc/opt/cisco-vpnclient/Certificates (group bin readable)
* You may wish to change these permissions to restrict access to root.
* You must run "/etc/init.d/vpnclient_init start" before using the client.
* This script will be run AUTOMATICALLY every time you reboot your computer.

Клиент собрался и установлена поддержка в ядро необходимых протоколов для работы VPN клиента Cisco. Далее необходимо создать конфигурацию и инициализировать клиента. Инициализация требуется один раз, если вы после этого перезапустите систему, то клиент инициализируется сам и при последующих запусках тоже. Если этого не происходит (как в моем случае), то можно произвести инициализацию вручную. Пока не стал разбираться, почему автомат не работает.

root# /etc/init.d/vpnclient_init start

Теперь готовим файл конфигурации:

root# cd /etc/CiscoSystemsVPNClient/Profiles
root# cp sample.pcf имя_нового_профиля.pcf

Если по каким-либо причинам профиль примера не создался, то вот его примерное содержимое:

root# cat sample.pcf
[main]
Description=sample user profile
Host=10.212.20.52
AuthType=1
GroupName=monkeys
EnableISPConnect=0
ISPConnectType=0
ISPConnect=
ISPCommand=
Username=chimchim
SaveUserPassword=0
EnableBackup=0
BackupServer=
EnableNat=1
CertStore=0
CertName=
CertPath=
CertSubjectName=
CertSerialHash=00000000000000000000000000000000
DHGroup=2
ForceKeepAlives=0

Собствено редактирование профиля сводится к некоторым изменениям (чтоб их не вводить вручном режиме постоянно). Ниже выдержка, что необходимо поправить:

root# pwd
/etc/CiscoSystemsVPNClient/Profiles
root# mcedit имя_нового_профиля.pcf

строки для правки:

Description=Краткое описание вашего профиля

Host=IP_адрес_вашей_Cisco

GroupName=Имя_вашей_группы_в_домене

Username=Ваше_имя_в_домене_NT

NTDomain=Имя_вашего_домена

Остальное можно оставить без изменения, но можно и не править ничего, при первом запуске у вас все это спросит клиент и автоматически запишет в файл конфигурации профиля. Подготовка клиента завершена, можно произвести пробное подключение.

root# # vpnclient connect имя_вашего_профиля
Cisco Systems VPN Client Version 4.8.01 (0640)
Copyright (C) 1998-2007 Cisco Systems, Inc. All Rights Reserved.
Client Type(s): Linux
Running on: Linux 2.6.26-2-686 #1 SMP Thu May 28 15:39:35 UTC 2009 i686
Config file directory: /etc/opt/cisco-vpnclient
Initializing the VPN connection.
Contacting the gateway at <span style="color: red; font-weight: bold;">IP_адрес_вашей_Cisco</span>
User Authentication for <span style="color: red; font-weight: bold;">имя_вашего_профиля</span>...
The server has requested the following information to complete the user authentication:
Username [<span style="color: red; font-weight: bold;">Ваше_имя_в_домене_NT</span>]:
Password []:
Authenticating user.
Negotiating security policies.
Securing communication channel.
Your VPN connection is secure.
VPN tunnel information.
Client address: <span style="color: red; font-weight: bold;">Ваш_локальный_адрес</span>
Server address: <span style="color: red; font-weight: bold;">IP_адрес_вашей_Cisco</span>
Encryption: 168-bit 3-DES
Authentication: HMAC-SHA
IP Compression: None
NAT passthrough is active on port UDP 4500
Local LAN Access is disabled

Подключение успешно выполнено. Как видим туннель на удаленную сеть открыт и готов к транспорту пакетов. Отключение можно выполнить банальным сочетанием Ctrl+C или в другой консоли вводом команды разрыва соединения.

root# vpnclient disconnect

В другой консоли можно проверить ping любого адреса в удаленной сети. Можете запускать RDP, VNC или другую систему управления серверами или компьютерами. Адреса указывайте такие, как будто вы находитесь в домашней сети. Все это можно оформить аккуратней, но как всегда лень. Зато у вас будет желание сделать все красивее и качественней. Удачи с экспериментами.

http://www.qdesnic.ru/page/cisco_vpnclient.html