System administration
5 January 2011

Вариант удаленного доступа к корпоративной сети предприятия посредством VPN с разграничением доступа к внутренним ресурсам и аутентификацией в AD

Часто (если не всегда) перед ИТ отделом рано или поздно встает задача организации удаленного доступа в сеть предприятия, например командированным сотрудниками или попросту заболевшим. Решать эту задачу можно по-разному. Я хочу рассказать об одном из решений реально используемом в нашем холдинге. Отличается это решение от многих других тремя основными вещами:

  1. На стороне удаленного пользователя требуется минимум настройки — используются все стандартные приложения и возможности ОС Windows;
  2. Удаленный пользователь работает на сервере терминалов, что обеспечивает его необходимой средой для выполнения своих должностных обязанностей
  3. Очень гибкое управление доступом к внутренним ресурсам компании (обеспечивается TMG\ISA файрволом согласно доменной аутентификации)


Если вам это интересно, добро пожаловать под кат

Итак, сначала расскажу что нам понадобится, собственно это всего две вещи:

  • Сервер с TMG или ISA
  • Сервер терминалов


У нас оба сервера — обычные виртуальные машины, развернутые на hyper-v.
Также понадобятся две свободные подсети (уж этого добра, думаю, у всех достаточно) — для чего именно две, расскажу дальше.
Доступ пользователя к конечным ресурсам можно разделить условно на три этапа:

  1. Доступ посредством pptp в изолированную сеть vpn-клиентов
  2. Доступ по rdp на сервер терминалов
  3. Непосредственный доступ с сервера терминалов к ресурсам ЛВС компании по любой маске доступа


Ниже — общая схема подключения и описание этапов.



Доступ посредством pptp в изолированную сеть vpn-клиентов

Для реализации этого нам нужен любой pptp сервер, мы используем cisco, но ничего не мешает пробросить pptp с граничного роутера\файрвола на туже TMG\ISA, которую мы будем использовать для доступа клиентов к ресурсам и поднять pptp сервер на ней. Вот кусок конфига нашей киски, отвечающий за pptp.

vpdn enable
!
vpdn-group 1
! Default PPTP VPDN group
accept-dialin
protocol pptp
virtual-template 1
ip pmtu
ip mtu adjust

username ras_user password 7 010157010906550075581B0C4F044011530F5D2F7A743B62643
14255
username ras_guest password 7 120B541640185F3B7E2C713D653075005F025A

interface GigabitEthernet0/0.3
description Internet
encapsulation dot1Q 3
ip address x.x.x.x 255.255.255.252
ip nat outside
ip virtual-reassembly max-fragments 64 max-reassemblies 256
ip policy route-map Internet-10-144-68
no cdp enable

interface Virtual-Template1
mtu 1400
ip unnumbered GigabitEthernet0/0.3
ip access-group 170 in
ip tcp adjust-mss 1360
peer default ip address pool vpn_users
no keepalive
ppp encrypt mppe auto
ppp authentication ms-chap-v2
ppp ipcp dns 172.22.1.201
!
ip local pool vpn_users 172.22.4.1 172.22.4.250

access-list 170 permit udp 172.22.4.0 0.0.0.255 host 172.22.1.201 eq domain
access-list 170 permit tcp 172.22.4.0 0.0.0.255 host 172.22.3.1 eq 3389
access-list 170 permit icmp any any
access-list 170 permit tcp 172.22.4.0 0.0.0.255 host 172.22.3.1 eq www


Ключевой момент на данном этапе — организация сети vpn-клиентов с возможностью коннекта из нее ТОЛЬКО на сервер терминалов на порт rdp.

Доступ по rdp на сервер терминалов


Итак, наш клиент подключился к pptp серверу и имеет доступ на сервер терминалов, далее с помощью удаленного рабочего стола происходит подключение к серверу терминалов, учетные данные при этом подключении — доменная учетная запись пользователя. Тут необходимо немного пояснить:

В AD создаются группы безопасности согласно маске, грубо говоря у нас есть к примеру четыре группы ресурсов, ну скажем, разбиты по проектам. Проект1, Проект2, Проект3 и общие. Соответтственно в AD мы создадим 4 группы безопасности и сделаем первые три членами группы «общие». Группе «общие» мы разрешим вход на сервер терминалов. Далее для подключения возможности удаленного доступа любому пользователю AD мы просто будем добавлять его в соответствующую группу.

Непосредственный доступ с сервера терминалов к ресурсам ЛВС компании по любой маске доступа


Для реализации этого этапа нам потребуется настроить TMG\ISA, при написании этой статьи я не планировал ее как четкую инструкцию к действию, а лишь как описание схемы, поэтому я не буду вдаваться в подробности настройки файервола, отмечу лишь несколько ключевых моментов.
  • В TMG внешней сетью будет являться наша ЛВС
  • Внутренней сетью будет сеть с сервером терминалов
  • На сервере терминалов ОБЯЗАТЕЛЬНО устанавливается TMG\ISA клиент, для того чтобы мы могли привязать правила к пользователям.
  • Соответственно все правила в файрволе привязываются к созданным нами ранее группам безопасности Проект1, Проект2, Проект3 и общие.


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

+7
39.1k 84
Comments 27