IPSec шлюз и прочие тонкости ASUS SL1200
Шифрованные туннели используются повсеместно. Чаще всего, на наш взгляд, они применяются для безопасного соединения удалённых офисов компании через небезопасные сети (site-to-site). Ещё одним примером их использования может служить удалённый доступ сотрудника к внутреннем ресурсам сети компании (remote access). В обоих случаях IPSec не является последним выбором. В этой же статье хотелось бы на примере двух маршрутизаторов ASUS SL1200 разобрать более редкое использование туннелей IPSec, - когда весь трафик какого-либо офиса или филиала передаётся через VPN. Может родиться законный вопрос: зачем же вообще такое нужно, когда может пригодиться такая конструкция? За примерами далеко ходить не надо: интернет-трафик большого количества мелких филиалов эффективнее проверять на вирусы централизованно, установив в штаб-квартире мощный антивирусный сервер. Такая схема получила общее название «hub and spoke».
Доступ в интернет через альтернативный шлюз, расположенный в сети какого-либо провайдера, - является вторым примером использования разбираемой схемы. Предположим, Ваш друг имеет два подключения к различным провайдерам, Вы же подключены только к одному из них. Так для доступа в интернет через второго провайдера Вам и потребуется установить VPN между узлами в Вашей сети и сети друга. Короче, мы уверены, что желающие и без нашей помощи найдут применение тому, о чём собираемся рассказать. Начнём с того, что мы принципиально не стали рассматривать схемы с прокси-серверами и VPN-концентраторами, а собираемся реализовать всё на двух равноправных маршрутизаторах.
Если использовать именно ASUS SL1200 в качестве устройств, на которых терминируется туннель, то мы настоятельно бы рекомендовали читателю обновить версию прошивки маршрутизатора хотя бы до версии 1.15, в которой сняты некоторые ограничения на подсети, присутствовавшие в предыдущих версиях микропрограммного обеспечения. Как обойти эти ограничения с предыдущими версиями прошивки, мы расскажем ближе к концу статьи. Также необходимо заметить, что использовать AES не получится, так как его поддержка отсутствует в маршрутизаторе не смотря даже на заявленную поддержку DES, 3DES и AES на коробке SL1200.
Условимся в локальной сети с одним подключением использовать адреса из подсети 192.168.0.0/24. Для локального сегмента с подключениями к двум провайдерам выбрана подсеть 192.168.1.0/24. 192.168.0.1 и 192.168.1.1 – IP-адреса LAN-интерфейсов соответствующих маршрутизаторов. Во втором сегменте для второго маршрутизатора выбран адрес 192.168.1.2, поэтому на первом роутере нужно прописать соответствующий маршрут по умолчанию через него. Ниже представлена схема разбираемого примера.
Настройки маршрутизаторов на работу с конкретными провайдерами мы считаем здесь малоинтересными, поэтому опускаем. Перейдём сразу же к конфигурированию туннеля на левом маршрутизаторе и сделаем это так, как показано ниже. Здесь важным моментом является то, что в качестве удалённой группы выбрано All, то есть весь трафик может шифроваться этим туннелем. Правда, конечный выбор данных для шифрования производится с помощью правил брандмауэра, о которых речь пойдёт ниже.
Для второго конца туннеля конфигурация должна быть симметричной.
Теперь необходимо сконфигурировать исходящие и входящие правила брандмауэра так, чтобы они отбирали необходимый для туннеля трафик. Вообще входящие и исходящие правила должны быть симметричными, а то, как сконфигурирован правый маршрутизатор, должно быть зеркальным отображением того, что указано на левом, поэтому мы покажем только, как настроен левый роутер.
Маршрутизация на правом роутере – это единственное, что осталось настроить. Для рассматриваемого простого примера требуется лишь прописать маршрут на правом конце туннеля на сеть 0.0.0.0/0 через устройство с IP-адресом 192.168.1.2.
Теперь для доступа в интернет всем данным левой подсети придётся быть переданными через туннель в правую подсеть. Типичное конфигурирование на этом завершается.
Однако не все описанные выше действия могут быть выполнены успешно. Так, например, в версиях прошивки до 1.15 существует ошибка веб-интерфейса, не позволяющая администраторам использовать определённые маски подсети при конфигурировании Local Secure Group и Remote Secure Group. Так, например, нельзя использовать маску 255.254.0.0. Если администратору необходимо использовать именно такую маску, то можно выбрать один из двух вариантов: либо вручную отредактировать файл настроек туннеля, либо обновить прошивку. У каждого из предложенных вариантов есть свои тонкие места, о которых мы расскажем далее.
Процедура ручного корректирования состоит из нескольких простых шагов. Сначала необходимо создать туннель с теми масками, которые допустимы, а затем войти на SL1200 через telnet. После ввода логина и пароля (может быть admin/admin) необходимо перейти в привилегированный режим с помощью команды enable, а затем перейти в командную оболочку операционной системы с помощью вызова shell. Далее нужно перейти в каталог /configs/acc2/ipsec, где размещён файл tunnel.conf.
login: admin Password: SL1200> en SL1200# sh SL1200# Command Not Found: SL1200# sh<-- Error: Ambiguous command SL1200# sheprompt> pwd / prompt> ls backup boot core etc lib proc sbin usr voip bin configs dev http mnt ramfs tmp var wireless prompt> cd configs/ prompt> ls CVS acl_tr.db log.conf resolv.conf sysinfo.db url_filter_msg.htm TZ dhcpd.conf log.db rip.db sysinfo.db~ usr.local.etc acc2 firmwaretm.db messages.buf ripd.conf syssetup.db usr.local.share.snmp acl.db fixed_dhcp.db proxyarp.db routetable.db syssrv.db var acl.xml if.db resolv-eth0.0 shadow timeout.db zebra.conf acl_srv.db lblink.conf resolv-eth0.1 snmp.db timerange.db prompt> cd acc2/ prompt> ls dhcpd_status.conf global.mess.conf networking.net.conf syslogd.conf global.daemon.conf ipsec snmp.conf system_srv_status.conf global.main.conf networking.dev.conf sntp_status.conf prompt> cd ipsec/ prompt> ls dynamic.conf.test status.conf tunnel.conf prompt>Для удобства редактирования выгрузим этот файл на FTP-сервер.
prompt> ftp ftp> open 192.168.0.2 Connected to 192.168.0.2. 220 ftpsrv Microsoft FTP Service (Version 5.0). Name (192.168.0.2:root): user 331 Password required for user. Password: 230 User user logged in. Remote system type is Windows_NT. ftp> binary 200 Type set to I. ftp> passive Passive mode on. ftp> put tunnel.conf local: tunnel.conf remote: tunnel.conf 227 Entering Passive Mode (192,168,0,2,14,146). 125 Data connection already open; Transfer starting. 226 Transfer complete. 904 bytes sent in 0 secs (904 Kbytes/sec) ftp> bye 221 prompt>Отредактировать файл (изменить в нём маски подсети) можно в любом текстовом редакторе, после чего аналогичным образом необходимо его скачать с FTP-сервера в SL1200 (с помощью команды get), выйти из встроенного FTP-клиента, закрыть командную оболочку, а также сохранить все сделанные ранее настройки и перезагрузить маршрутизатор.
ftp> get tunnel.conf local: tunnel.conf remote: tunnel.conf 227 Entering Passive Mode (192,168,0,2,15,254). 125 Data connection already open; Transfer starting. 226 Transfer complete. 907 bytes received in 0 secs (907 Kbytes/sec) ftp> bye 221 prompt> exit SL1200# sa Wait for save to finish... Saving Configuration SL1200# reloProceed with reloading the system ? [y/n]:После перезагрузки в веб-интерфейсе будут присутствовать корректные настройки создаваемого туннеля, однако при их изменении вновь будет отображено сообщение об использовании недопустимой маски. Это означает, что ограничение накладываются только в процессе редактирования параметров туннеля через веб-интерфейс.
Вторым способом является обновление прошивки хотя бы до версии 1.15. Этот способ более простой, однако и в нём есть свои подводные камни. Смена пароля доступа к SL1200 через веб-интерфейс не меняет его для входа через telnet. Отсюда следует, что даже при использовании сложного пароля для веб-интерфейса на доступ через telnet всё равно будет подходить admin/admin, а это означает, что изменением пароля для telnet-сессий нужно озаботиться дополнительно. Конечно, можно совсем закрыть доступ к порту TCP-23, что производится в пункте меню Firewall-Advanced-Self Access, но более правильным, на наш взгляд, решением является изменение этого административного пароля с помощью вызова passwd в режиме командной строки встроенной операционной системы. Причём данная утилита выдаст предупреждение в том случае, когда вводится слишком простой пароль.
login: admin Password: SL1200> ena SL1200# sheprompt> passwd Changing password for root Enter the new password (minimum of 5, maximum of 8 characters) Please use a combination of upper and lower case letters and numbers. Enter new password: Bad password: too simple. Warning: weak password (continuing). Re-enter new password: Password changed. prompt> exit SL1200#Менять пароль на вход через telnet необходимо в принципе, но также нужно помнить, что смена прошивки приводит к возвращению стандартной пары admin/admin, поэтому необходимо менять пароль и после каждого обновления микропрограммного обеспечения. Что можно сделать через telnet, надеемся, читателю объяснять не нужно. Но самое любопытное, что доступно из командной строки, - пароль на веб-интерфейс SL1200. Если пароль менялся, то в каталоге /configs можно обнаружить файл webuser.db, который и содержит в открытом виде пароль на веб-интерфейс. Да, парольная защита здесь на должном уровне…
prompt> pwd /configs prompt> ls CVS acl_tr.db log.conf resolv.conf sysinfo.db url_filter_msg.htm TZ dhcpd.conf log.db rip.db sysinfo.db~ usr.local.etc acc2 firmwaretm.db messages.buf ripd.conf syssetup.db usr.local.share.snmp acl.db fixed_dhcp.db proxyarp.db routetable.db syssrv.db var acl.xml if.db resolv-eth0.0 shadow timeout.db webuser.db acl_srv.db lblink.conf resolv-eth0.1 snmp.db timerange.db zebra.conf prompt> cat webuser.db admin passwd newpass guest passwd guest prompt>На этом мы завершаем краткий обзор полезных мелочей ASUS SL1200 и надеемся, что приведённые в статье материалы помогут пользователям данного устройства лучше разобраться в возможностях, которыми богата вся серия маршрутизаторов Internet Secure Router.