Настройка Proxy Server для поддержки репликации SQL Server через Internet

ПУБЛИКАЦИИ  

По материалам статьи Microsoft: Configuring Proxy Server for SQL Server 7.0 Replication Over the Internet
1999 год.

Эта статья посвящена совместному использованию Microsoft SQL Server 7.0 и Microsoft Proxy Server для обеспечения поддержки репликации через Internet и защиты баз данных. Репликация может осуществляться между базами данных, находящимися на одном сервере или на разных серверах, соединение между которыми осуществляется через LAN, WAN или Internet. Используя связку SQL Server и Microsoft Proxy Server, можно реплицировать данные через Internet. Для этого необходимо иметь возможность внесения изменений в конфигурацию топологии сети, понимать методы защиты сети и СУБД, а также, иметь возможность настройки Proxy Server и SQL Server.

СОДЕРЖАНИЕ

1. Конфигурация топологии сети
1.1. Использование подсетей
2. Краткий обзор безопасности
2.1. Учетные записи пользователей Windows NT
2.1.1. Учетные записи пользователей Windows NT для publisher/distributor
2.1.2. Учетные записи Windows NT Proxy Server
2.1.3. Учетные записи Windows NT для подписчиков (subscriber)
2.2. Безопасность Proxy сервера
2.3. Логин для SQL Server Replication
2.4. Доступ к публикации
3. Настройка Proxy сервера
3.1. Отключение IP forwarding
3.2. Настройка сервиса FTP
3.2.1. Настройка FTP сервиса при включенной фильтрации пакетов
3.3. Настройка сервиса WinSock Proxy
3.4. Проверка конфигурации Proxy сервера
4. Настройка издателя (publisher/distributor)
4.1. Настройка работы издателя (publisher/distributor) с Proxy сервером
4.1.1. Привязка к WinSock порту для обеспечения передачи данных
4.1.2. Конфигурирование SQL Server как Proxy клиента
4.1.3. Переназначение папки моментальных снимков на FTP
4.1.4. Настройки, выполняемые для publisher/distributor в Network Utility
5. Настройка подписчика (subscriber) для подключения через Internet
5.1. Настройка подписчика (subscriber) в качестве клиента издателя (publisher)
5.2. Создание Pull Subscriptions и обеспечение доступа к publisher и FTP
5.3. Регистрация publisher/distributor на subscriber
5.4. Проверка работы SQL сервера с Proxy сервером

КОНФИГУРАЦИЯ ТОПОЛОГИИ СЕТИ

Внесение изменений в конфигурацию топологии сети - это первое, что необходимо рассмотреть, для обеспечения взаимодействия SQL Server и Proxy Server. Proxy Server обеспечивает прямое подключение через Internet к внутреннему серверу, на котором запущен SQL Server в роли издателя. Этот SQL Server обеспечивает в репликации исполнение ролей издателя (publisher) и дистрибутора (distributor). Второй SQL Server исполняет роль подписчика (subscriber), в нашем примере, это pull subscriber, а репликация между ними организована через Internet.

Издатель,
 Дистрибутор 
   Прокси     Интернет     Подписчик 
 ЛВС   ЛВС   ЛВС 
Windows NT
MS SQL Server
  Windows NT
Windows NT Option PN IIS 4.0
Proxy Server
      Windows NT
MS SQL Server

Рисунок 1. Топология сети

Требования к системному программному обеспечению, необходимому для организации работы Proxy сервера:
- Microsoft Windows NT version 4.0 с установленным Service Pack 4;
- Windows NT 4.0 Option Pack;
- Microsoft Internet Information Services (IIS) version 4.0;
- Proxy Server version 2.0.

Требования к системному программному обеспечению, необходимому для обеспечения работы MS SQL Server:
- Windows NT Server 4.0 с установленным Service Pack 4;
- Microsoft Internet Explorer version 4.01 с установленным Service Pack 1;
- SQL Server 7.0.

Proxy сервер должен быть настроен как multihomed сервер, что предотвратит доступ неавторизованных пользователей из Internet к внутренним ресурсам сети. Multihomed Proxy сервер имеет две сетевые платы (NIC), которые обеспечивают безопасность подключений в гомогенных сетях. Первый NIC называется внешним Proxy интерфейсом и изолирует пользователей Internet от внутренней сети. Внутренняя сеть имеет доступ к Proxy серверу через второй NIC, называемый внутренним Proxy интерфейсом. Соединение может быть установлено между внутренним и внешним Proxy интерфейсом, когда внутреннему пользователю предоставлено соответствующее разрешение Proxy сервером.
Proxy Server отслеживает, какие сервисы или пользователи из внутренней сети могут использовать подключение или соединение с портами на Proxy сервере. Такие подключения требуется определять до того, как будут определены любые внешние пользователи или серверы из Internet, которые смогут обращаться к данным или ресурсам внутренней сети.
Чтобы обеспечить подключение к сервису Proxy, пользователь Internet должен ввести соответствующую информацию о Proxy сервере, что бы использовать внешний Proxy интерфейс и организовать подключение к одному из его портов. Организация подключения к порту на Proxy сервере обеспечивает доступ только к тем сервисам Proxy сервера, на которые пользователь имеет разрешение, например, к каталогам и файлам. Пользователь не сможет получать прямой доступ к сервисам или иным ресурсам внутренней сети. Чтобы получить доступ к ресурсам внутренней сети, внутренний пользователь или сервис, обладающий соответствующими разрешениями, должен соединиться с портом, используя внешний Proxy интерфейс. В течение процесса связывания (binding process), Proxy сервер подтверждает подлинность пользователя и, если он имеет необходимые разрешения, разрешает подключение. Представленная на рисунке №1 конфигурация подключения через Internet не затрагивает основные свойства безопасности SQL Server. Легитимные во внутренней сети пользователи могут обращаться к данным SQL Server, однако, чтобы получить доступ к SQL Server и любой из публикаций, пользователи из Internet должны сначала указать IP адрес, потом соединиться с соответствующим портом на Proxy сервере, а затем, обеспечить регистрацию на SQL Server посредством действительной учетной записи.

[Содержание]

Использование подсетей

Не определяйте заданный по умолчанию шлюз для внутренних подсетей, а также для работы SQL или Proxy серверов. Заданный по умолчанию шлюз внешнего интерфейса должен указать на IP адрес соответствующего маршрутизатора.

[Содержание]

КРАТКИЙ ОБЗОР БЕЗОПАСНОСТИ

Обеспечение безопасности – один из важнейших аспектов работы распределенного приложения. Поскольку при репликации изменения данных на одном сервере применяются на нескольких серверах из других сетей, обеспечение приемлемого уровня безопасности сети становится одной из основных задач. Обеспечение децентрализованного доступа к реплицируемым данным усложняет управление безопасностью. Репликация в SQL Server использует комбинированные механизмы защиты, которые позволяют надёжно защитить данные и бизнес-логику приложений.

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

· Windows NT user accounts
· Proxy Server security
· SQL Server replication account security

[Содержание]

Учетные записи пользователей Windows NT

Показанные на рисунке №1 три сервера прежде, чем репликация будет запущена, должны установить соединение друг с другом. Сначала, publisher/distributor должны обеспечить сетевое подключение к Proxy серверу. Далее, subscriber должен получить SQL Server соединение с publisher/distributor и, наконец, subscriber должен иметь сетевое подключение к ftp-службе на Proxy сервере.

[Содержание]

Учетные записи пользователей Windows NT для publisher/distributor

Первым делом, при репликации через Internet необходимо установить соединение между publisher/distributor и Proxy сервером. Когда SQL Server запущен, сервис MSSQLServer запрашивает разрешение у Proxy Server, чтобы установить связь с портом, эксклюзивно используя внешний Proxy интерфейс. Proxy Server должен иметь возможность аутентификации учётной записи, от имени которой работает сервис MSSQLServer, и обеспечивать работу в соответствии с конфигурацией этой учетной записи.

В целях обеспечения хорошего уровня безопасности, не рекомендуется регистрироваться на консоли Windows NT сервера publisher/distributor под учётной записью MSSQLServer. Это позволит исключить работу зарегистрировавшегося пользователя через открытый Proxy интерфейс.

 Proxy Server    SQL Server: Издатель
 
Port 1433
Windows NT account: REPL1
Service: WinSock
  Windows NT account: REPL1
Service: MSSQLServer
Port 21
Windows NT account: REPL2
Service: FTP
   

Рисунок 2. Учётные записи publisher/distributor

[Содержание]

Учетные записи Windows NT Proxy Server

Учетная запись MSSQLServer на publisher/distributor должна быть введена в список разрешений для WinSock сервиса Proxy сервера. Когда будет затребовано разрешение на связь с портом, MSSQLServer представляет свою учётную запись Proxy серверу для идентификации. После того, как Proxy сервер подтвердит подлинность учетной записи MSSQLServer и подключит его к порту, станет возможно прямое подключение к publisher/distributor из Internet.

Для того чтобы получить доступ к FTP-сервису на Proxy сервере, агент репликации подписчика (subscriber) предоставляет свою учётную запись для Proxy сервера, чтобы тот подтвердил её подлинность и дал разрешение на доступ к FTP. Эта учетная запись должна удовлетворять следующим условиям:

· Должна быть включена в список «FTP Site Operators».
· Должна иметь разрешение «log in locally».
· Должна иметь разрешение на операцию «Чтение» для папки, в которой расположены моментальные снимки (Snapshot).

Эта учётная запись пользователя создаётся автоматически и водиться в таблицу Mssubscriptions_Properties всякий раз, когда создаётся новая подписка.

[Содержание]

Учетные записи Windows NT для подписчиков (subscriber)

Для организации подключения, необходимого при репликации, сервер publisher/distributor должен быть зарегистрирован на subscriber. Если не определено иначе, агенты репликации будут использовать ту же самую информацию об учётной записи, которая обычно используется при подключении publisher/distributor.

Обратите внимание: Старайтесь не использовать собственные (встроенные) учётные записи MS SQL Server для регистрации publisher/distributor. Использование не встроенных логинов позволяет лучше ограничить доступ к публикациям, на уровне предоставления соответствующих разрешений.

[Содержание]

Безопасность Proxy сервера

На multihomed сервере, внутреннее подключение должно быть организовано между внутренним и внешним Proxy интерфейсом до того, как пользователи из Internet получат доступ к ресурсам внутренней сети. Proxy сервер контролирует внутренних пользователей и сервисы сети, разрешая подключение только уполномоченным пользователям или сервисам.

Как отмечалось ранее, сервис MSSQLServer на publisher/distributor устанавливает подключение к Proxy серверу и связывается с портом, который предоставляет SQL Server внешнему Proxy интерфейсу. Любой пользователь Internet, который правильно укажет номер порта, IP адрес внешнего Proxy интерфейса и правильные учётные данные для входа в систему, сможет получить доступ к SQL серверу. По умолчанию, для этого подключения в Enterprise Manager установлено маленькое время ожидания (4с), этого может оказаться недостаточно, для того, что бы подписчик успел пройти все необходимые стадии авторизации. Такая ситуация может возникнуть, если между Proxy сервером и subscriber велико время отклика или IP адрес подписчика транслируется из адреса внутренней сети в адрес сети Internet. Для разрешения этой проблемы, необходимо увеличить время ожидания Login time-out и Query time-out в окне Enterprise Manager Tools\Options… закладка Advanced.

Для работы репликации необходимо обеспечить доступ к FTP-сервису. Для этого используется учетная запись, используемая subscriber для подключения к SQL серверу при инициализации FTP-сервиса. По умолчанию, это та же самая учетная запись, которая используется при оформлении регистрации сервера publisher/distributor на subscriber. Однако, Вы можете переопределить эту учетную запись, введя её имя и пароль в таблице MSsubscription_Properties, что можно сделать при создании Pull-подписки. В любом случае, эта учетная запись должна удовлетворять следующим требованиям:

· Должна быть включена в список «FTP Site Operators».
· Должна иметь разрешение «log in locally».
· Должна иметь разрешение на операцию «Чтение» для папки, в которой расположены моментальные снимки (Snapshot).

Заданные по умолчанию конфигурации для SQL Server включают:

· Привязка к порту 1433 для использования Proxy Server WinSock Services.
· Привязка FTP-сервиса к порту 21 для использования Proxy Server Socks Proxy service.

Независимо от типа выбранной репликации, сначала устанавливается подключение через ODBC между subscriber и publisher. Distributor уведомляет subscriber о необходимости подключения к FTP-сервису на Proxy сервере. По запросу от distributor, subscriber инициализирует подключение к FTP-сервису, и работает с данными, находящимися в папке для размещения моментальных снимков (Snapshot).

 SQL Server: Подписчик     Internet     Proxy Server 
   
     
 SQL Server Agent


 User account: REPL3
   Replication agent
 (агент репликации)
   Port 1433
 Service: WinSock
 Открыт для SQL Server
   
         
 База данных подписки      Port 21
Windows NT account: REPL2
Service: FTP
Таблица:
MSsubscription_Properties
FTP user account: REPL2
   
       

Рисунок 3. Защита Proxy сервера

[Содержание]

Логин для SQL Server Replication

Для Pull Subscriptions репликации требуется, чтобы publisher/distributor сервер был зарегистрирован на subscriber. Для успешной регистрации и получения доступа к издаваемой базе данных на publisher требуется, чтобы имя пользователя и пароля уже существовали на publisher/distributor. Если удаётся на subscriber зарегистрировать сервер publisher, это означает, что установлено сетевое соединение на уровне Windows NT и на уровне SQL Server. Если не удаётся зарегистрировать publisher/distributor на subscriber, проверьте каждое из этих соединений и права для каждой используемой учетной записи.

Publisher/distributor использует учетную запись, от имени которой стартует MSSQLServer, для привязки пути к WinSock Port 1433 и внешнему Proxy интерфейсу. Обязательно необходимо, чтобы учетная запись, которую Вы используете для регистрации publisher/distributor, имела достаточные права на publisher/distributor.

Учетная запись, используемая для регистрации сервера publisher/distributor на subscriber, должен быть стандартным SQL Server логином. Для лучшей безопасности, не нужно предоставлять этой учетной записи никаких специальных прав доступа на SQL сервере, кроме как на доступ к базе данных publication. Права доступа к базе данных publication можно предоставлять или через гостя, или явно добавляя пользователя к базе данных. Эта учетная запись также должна быть включена в Publication Access List (PAL) каждой публикации (publication), которой необходимо разрешить подписку на subscriber.

 SQL Server: Подписчик     Internet     Proxy Server    SQL Server: Издатель
     
       
SQL Server Agent
User account: REPL3
  Replication agent
(агент репликации)
  Service: WinSock
Открыт для SQL Server
  User account: SQLLOGIN
     
 
           
База данных подписки        Публикации 
Таблица:
MSsubscription_Properties
SQL Server user account: SQLLOGIN
  SQLLOGIN     PAL    
        PAL  
        PAL
          Port 21
Windows NT account: REPL2
Service: FTP
   
Регистрация сервера – издателя
SQL Server user account: SQLLOGIN
         
             

Рисунок 4. SQL Server логин для репликации

[Содержание]

Доступ к публикации

Последний уровень защиты проверяет права учётной записи пользователя на доступ к любым публикуемым данным. Поскольку publisher может иметь отношения типа один ко многим, доступ к каждой из публикаций может управляться её собственным Publication Access List (PAL). Логин, используемый Replication Agent, сверяется с PAL каждой публикации, к которой он пытается обратиться. Если логин подписчика не найден в PAL, доступ будет отклонен. Используя разные логины для различных подписчиков можно ограничивать доступ к данным в публикациях.

 SQL Server: Подписчик     Internet     Proxy Server    SQL Server: Издатель
     
       
SQL Server Agent
User account: REPL1
  Replication agent
(агент репликации)
  Port 1433
Service: WinSock
REPL1
  Публикации
 
      PAL    
  PAL  
                  PAL
База данных подписки     Port 21
Windows NT account:
REPL2
Service: FTP
   
Таблица: MSsubscription_Properties
SQL Server user account:
REPL2
  REPL2     Snapshot
SQL Server Agent account:
REPL1S
       
           
        Каталог для Snapshot
\\proxy1\ftp
 
           
   
             

Рисунок 5. Доступ к публикации

[Содержание]

НАСТРОЙКА PROXY СЕРВЕРА

SQL Server использует два метода доступа к реплицируемым данным: ODBC и FTP. Оба сервиса используются при репликации через Internet. Proxy Server должен быть правильно сконфигурирован, чтобы установить связь по ODBC между subscriber и publisher/distributor через Proxy сервер. Перед настройкой репликации, необходимо проверить это подключение, путём передачи данных от внешнего Proxy интерфейса на SQL Server, запустив OSQL на subscriber и установив подключение к publisher/distributor. Вторая проверка может состоять в записи данных с SQL Server в папку моментальных снимков на Proxy сервере. Это может быть выполнено после регистрации на publisher/distributor под учётной записью пользователя, от имени которого стартует SQL Agent, и копирования файла (ов) с SQL Server в новую папку моментальных снимков.

Для настройки Proxy сервера нужно выполнить четыре ключевых операции (шага):

· Отключите IP forwarding.
· Настройте сервис FTP.
· Настройте сервис WinSock Proxy.
· Применить конфигурацию Proxy сервера.

[Содержание]

Отключение IP forwarding

Хотя Internet обеспечивает эффективный способ издания и сбора данных (pull/subscribe) для удалённых узлов, эти технологии применимы и для интранет сетей, а также для закрытой информации. Для повышения защищённости сети, отключите прослушивание на внешних (наружных) портах сервисов, а затем отключите IP forwarding. Когда он будет заблокирован, пользователям из Internet будет видим только переназначенный IP адрес, что существенно сокращает вероятность неправомочного доступа к внутренним ресурсам. Proxy сервер может блокировать диапазоны внешних IP адресов. Когда IP forwarding заблокирован, пользователи из Internet не смогут инициализировать подключение, если они не будут допущены к соответствующим портом сервиса.

Для отключения IP forwarding необходимо:

1. В окне Control Panel, дважды щёлкнуть по иконке Network.
2. Щёлкнуть по вкладке Protocols.
3. Выбрать TCP/IP, и затем щёлкнуть Properties.
4. В диалоговом окне Microsoft TCP/IP Properties, щёлкнуть Routing.
5. Проверить, что переключатель Enable IP Forwarding очищен.

В некоторых конфигурациях Windows NT, можно добиться лучшей защищённости, если установить отдельный домен для Proxy сервера с отдельными, односторонними трастовыми отношениями к другим доменам, где будут расположены SQL серверы вашей частной сети. Для дополнительной информации о такой конфигурации, обратитесь к документации Windows NT.

[Содержание]

Настройка сервиса FTP

Механизм репликации использует FTP для передачи первоначальных данных и схемы от одного сервера к другим через Internet. Snapshot агент размещает данные в папке моментальных снимков, которые там находят Merge или Distribution агенты, работающие на subscriber.
Когда SQL Server репликация передаёт данные через Internet, используется FTP каталог на Proxy сервере как папка для моментальных снимков. Сначала должно быть установлено подключение по ODBC к publisher/distributor для получения информации о расположении папки моментальных снимков. После этого, Merge или Distribution агенты на subscriber инициализируют FTP подключение к Proxy серверу и забирают информацию, сохраненную в папке моментальных снимков.
Чтобы настроить FTP службу на Proxy сервер, установите домашний FTP каталог на локальный каталог сервера, который после этого будет использовать publisher/distributor как каталог моментальных снимков. В завершении, нужно остановить и запустить FTP службу для того, что бы изменения вступили в силу.

Настройка службы FTP:

1. Нажмите кнопку Start, пункт меню Programs/Microsoft Proxy Server, и затем щёлкните по Microsoft Management Console.
2. Раскройте папку Internet Information Service, а в ней раскройте папку с именем компьютера.
3. Щёлкните правой кнопкой мыши по Default FTP Site.
4. В пункте New щёлкните site, после чего запустится New FTP Site Wizard.
5. Введите нижеследующую информацию, если потребуется:

FTP Site Descriptionb FTP Replication Site
Select the IP Address to use for this FTP Site.
(Введите IP адрес, который будет использоваться для этого FTP сайта)
Вводится IP адрес для этого сайта
TCP Port this FTP Site should use.
(Используемый FTP сайтом TCP порт)
21
Enter the Path for your home directory.
(Введите путь к домашнему каталогу)
Например, C:\repldata\ftp
What access permissions do you want to set for the home directory?
(Какие разрешения доступа необходимы для домашнего каталога?)
Allow Read Access
Разрешён доступ для чтения

Чтобы завершать настройку FTP сайта, измените заданные по умолчанию параметры настройки защиты. Чтобы увеличить защиту, выключите Anonymous Access (анонимный доступ) или доступ по гостевой учетной записи. Учетная запись пользователя, например REPL2, являющаяся локальным логином, получает разрешения к папке моментальных снимков, если она была включена в операторы FTP сайта (FTP site operators).

Контроль FTP доступа через Proxy Server:

1. В меню Start, пункт Programs/Microsoft Proxy Server, щёлкните Microsoft Management Console.
2. Раскройте папку Internet Information Service, и затем раскройте папку с именем компьютера.
3. Щёлкните правой кнопкой мыши по FTP сайту, выбранному для репликации, и затем щёлкните Properties.
4. В диалоговом окне site name Properties, щёлкните по вкладке Security Accounts, и затем очистите переключатель Allow Anonymous Access.
5. Для FTP Site Operators, привилегии оператора предоставте только учетным записям пользователей, которым требуется доступ к этому FTP сайту.
6. В диалоговом окне Internet Service Manager, щелкните Yes (для продолжения) и щёлкните по вкладке FTP site.
7. Для Connections, выберите Limited To, и затем введите максимальное число подключений для репликации.
8. На вкладке Directory Security, в диалоговом окне By default, all computers will be: (По умолчанию, все компьютеры будут:), щёлкните Denied Access.

Примечание: Это позволит исключить любую учётную запись FTP Site Operator, введенную на шаге №5, если IP адрес, введенный на этом шаге не будет являться статическим её IP адресом.

9. Щёлкните Add, и затем введите IP адреса для всех серверов, участвующих в репликации, которые будут обращаться на этот сервер.

[Содержание]

Настройка FTP сервиса при включенной фильтрации пакетов

Если Proxy сервер использует для FTP сервиса Packet Filtering, со стороны Internet доступ к FTP будет полностью заблокирован. Если FTP сервис запущен на том же самом сервере, на котором работает Proxy сервер, чтобы получить доступ к FTP необходимо настроить статические фильтры. Для получения дополнительной информации о Packet Filters, см. документацию к Proxy Server.

Добавить собственный или предопределенный статический фильтр можно следующим образом:

1. В меню Start, выбрать пункт Programs/Microsoft Proxy Server, и щёлкнуть Microsoft Management Console.
2. Развернуть Internet Information Service, и затем развернуть имя компьютера.
3. Щёлкнуть правой кнопкой мыши по Web Proxy service, и затем щёлкните по Properties.
4. На вкладке Service, щёлкните Security.
5. На вкладке Packet Filters, щёлкните Add.
6. В диалоговом окне Packet Filter Properties, щёлкните Custom filter.
7. В Protocol id, выберите протокол, и затем в Direction выберите направление.
8. Установите соответствующую опцию для Local Port.
9. Выберите соответствующую опцию для Local host для определения внутреннего компьютера, который будет обмениваться пакетами с внутренним хостом (subscriber).
10. Для Remote host, щёлкните Single host, и затем введите IP адрес. Это позволит организовать обмен пакетами с заданным хостом в Internet.

Типовой фильтр пакета

FTP Server IN (Filter 1 of 2)
Protocol = TCP
Direction = IN
Local Port = 21
Remote Port = Any

FTP Server OUT (Filter 2 of 2)
Protocol = TCP
Direction = BOTH
Local Port = 20
Remote Port = Any

[Содержание]

Настройка сервиса WinSock Proxy

До начала обмена данными, subscriber должен инициализировать подключение по ODBC к publisher/distributor, используя службу WinSock Proxy. WinSock Proxy отвечает за подключение внутренних пользователей через внешний интерфейса к внутренним службам.
WinSock Proxy разрешает создание протоколов, с помощью которых можно ограничить доступ к имеющимся портам. Таким образом, можно ограничить возможность внутреннего пользователя инициализировать соединение к внешним ресурсам или оставить ему возможность получать только запрос на подключение извне.
В особых ситуациях, некоторым пользователям можно предоставить неограниченный доступ ко всем портам WinSock Proxy. Например, SQL Server может получить неограниченный доступ, потому что он, как пользователь, может сам инициализировать или принимать соединение, запрашивать и затем подтверждать подлинность запрашивающей стороны с использованием своей собственной службы безопасности.
Можно усилить безопасность, если запретить опытным пользователям SQL Server инициализацию или завершение подключения к WinSock, создав такой протокол, который бы ограничил доступ SQL сервера к портам на Proxy сервере. Использование протоколов гарантирует, что порт будет использоваться только для входящих соединений и внутренние пользователи не смогут устанавливать соединение с внешними ресурсами.
Настройка протокола между WinSock Proxy и SQL Server осуществляется следующим образом:

1. В меню Start, выберете пункт Programs/Microsoft Proxy Server, и затем щёлкните по Microsoft Management Console.
2. Разверните Internet Information Service, и затем разверните сервер, на котором запущен Proxy сервер.
3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем щёлкните по Properties.
4. В WinSock Proxy Service Properties, для диалогового окна computername, щёлкните Protocols, и затем щёлкните Add.
5. В текстовом поле имени протокола введите имя, которое будет идентифицировать сервер, который в репликации исполняет роль distributor.

Обратите внимание, что имя протокола не будет иметь никакого практического значения. Это мнемоническое имя используется для того, чтобы идентифицировать сокет и учетные записи или серверы, которым будут предоставлен доступ.

6. Для Initial Connection, в текстовое поле Port введите 1433.
7. Для Type, выберите TCP, и затем для Direction, выберите Inbound.

Настройка WinSock Proxy разрешений для протокола осуществляется следующим образом:

1. В меню Start, пункт Programs Microsoft Proxy Server, щёлкните Microsoft Management Console.
2. Разверните Internet Information Service, и затем разверните имя компьютера.
3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем по Properties.
4. В WinSock Proxy Service Properties для диалогового окна computername, щёлкните по вкладке Permissions.
5. В списке Protocol, выберите необходимое имя протокола, которое было установлено при его настройке.
6. Щёлкните Edit, и затем в диалоговом окне Protocol name Permissions, щёлкните Add.
7. В диалоговом окне Add Users Groups, выберите учетную запись пользователя, которая предназначена для доступа к серверу репликации.

Это учетная запись пользователя, которая используется для запуска MSSQLServer на publisher/distributor.

Настройка разрешений службы WinSock Proxy для неограниченного доступа:

1. В меню Start, пункт Programs Microsoft Proxy Server, щёлкните по Microsoft Management Console.
2. Разверните Internet Information Service, и затем разверните имя компьютера.
3. Щёлкните правой кнопкой мыши по службе WinSock Proxy, и затем по Properties.
4. В WinSock Proxy Service Properties для диалогового окна computername, щёлкните по вкладке Permissions.
5. В списке Protocol, выберите Unlimited Access.
6. Щёлкните Edit, и затем в диалоговом окне Protocol name Permissions, щёлкните Add.
7. В диалоговом окне Add Users Groups, выберите учетную запись пользователя, которая используется для доступа к серверу репликации.

Это учетная запись, которая используется для запуска MSSQLServer на publisher/distributor.

[Содержание]

Проверка конфигурации Proxy сервера

После того, как будет выполнена настройка всех сервисов и серверов, рекомендуется проверить работоспособность заданной конфигурации, что можно сделать простой попыткой установления подключения и пробной передачи данных средствами стандартной утилиты MS SQL Server OSQL, с помощью которой можно создать и исполнить запрос. Если серверы не смогут установить соединение, репликация не будет работать правильно.

[Содержание]

НАСТРОЙКА ИЗДАТЕЛЯ (PUBLISHER/DISTRIBUTOR)

Прежде, чем станет возможно издание статей через Internet, нужно настроить publisher/distributor на прослушивание TCP/IP или Multiprotocol сетевых протоколов. SQL Server использует сокеты TCP/IP или сетевую библиотеку Multiprotocol через TCP/IP для установки первоначального ODBC подключения между publisher/distributor и subscriber. Сетевая библиотека TCP/IP Sockets предлагается по умолчанию при установке SQL Server, но вместо неё может быть выбрана другая библиотека, если выполнялась custom инсталляция.
Чтобы настроить репликацию через Internet, на publisher/distributor и subscriber должны быть правильно заданы её ключевые параметры. SQL Server должен быть настроен на работу с FTP и сервисом WinSock Proxy на Proxy сервере. Необходимо выполнить следующие четыре ключевых шага для правильной настройки SQL Server репликации:

- Настроить publisher/distributor для работы с Proxy сервером.
- Зарегистрировать на subscriber в ЕМ сервер publisher/distributor.
- Настроить subscriber на работу с Internet.
- Проверить работоспособность SQL сервера с Proxy сервером.

[Содержание]

Настройка работы издателя (publisher/distributor) с Proxy сервером

Для этого необходимо иметь установленный и настроенный в соответствии с поставляемой в комплекте поставки документацией Proxy Server. Далее, необходимо настроить publisher/distributor в качестве Proxy клиента. Для этого потребуется привязать SQL Server к одному из портов WinSock, после чего будет возможна работа с SQL сервером из Internet.

[Содержание]

Привязка к WinSock порту для обеспечения передачи данных

Для настройки SQL сервера на работу с Proxy сервером необходимо внести изменения в файл \Mssql7\Binn\Wspcfg.ini расположенный на сервера где запускается SQL Server. Если файл не существует, создайте его с помощью поставляемого вместе с операционной системой текстового редактора Notepad. Файл должен содержать следующие строки:

[sqlservr]
ServerBindTcpPorts=1433
Persistent=1
KillOldSession=1

Эти параметры говорят о том, что SQL Server будет слушать запросы через подключенный к нему порт 1433 на Proxy сервере. Если учетной записи, от имени которой стартует MSSQLServer, будет предоставлен неограниченный доступ, любой пользователь, сервис или анонимный подписчик сможет запросить идентификацию у SQL сервера. Можно так настроить соответствующий протокол для порта 1433 Proxy сервера, что к нему будет разрешено подключение с фиксированного набора IP адресов, или по предопределённому запросу.

[Содержание]

Конфигурирование SQL Server как Proxy клиент

После завершения установки сервера, на Proxy Server создаётся ресурс с именем mspclnt, который указывает на каталог C:\Msp\Clients. Вы должны подключиться к этому ресурсу и запустить утилиту конфигурации Proxy клиента (mpclnt), что позволит настроить SQL Server как клиента Proxy. После того, как установка будет закончена, SQL Server может исполнять роль внутреннего клиента для Proxy сервера.
Для того, что бы запустить утилиту конфигурации Proxy клиента необходимо:

1. На сервере, где запущен SQL Server, щёлкните Start, и затем щёлкните Run.
2. В поле Open, введите \\servername\mspclnt, и затем запустите программу Proxy Server Client Setup.
3. После окончания установки, необходимо перезапустить сервис SQL сервера для того, что бы изменения вступить в силу.

[Содержание]

Переназначение папки моментальных снимков на FTP

У SQL Server должна быть в наличии информация о расположении основного FTP каталога на Proxy сервере. Папка моментальных снимков (по умолчанию: \Mssql7\Repldata\FTP) переназначается на основной FTP каталог на Proxy сервере, что позволяет обеспечить передачу данных на subscriber. Новая папка моментальных снимков устанавливается в процессе настройки FTP сервиса.
Настройка основного FTP каталога выполняется следующим образом:

1. В меню Start, выберете пункт Programs/Microsoft SQL Server 7.0, и затем щёлкните по Enterprise Manager.
2. Разверните SQL Server Group, и затем щёлкните по серверу издателю.
3. В меню Tools, щёлкните по Wizards.
4. В диалоговом окне Select Wizard, разверните Replication.
5. Щёлкните Configure Publishing and Distribution Wizard.
6. Щёлкните по вкладке Publishers, и затем дважды щёлкните оп серверу издателю, который будет помещать файлы в папку моментальных снимков.
7. Введите путь в UNC формате, например, \\ProxyServerName\Repldata\FTP, и затем щёлкните по By impersonating the SQL Server Agent Account on PublishingServername (Trusted connection).

[Содержание]

Настройки, выполняемые для publisher/distributor в Network Utility

Для обеспечения того, что publisher/distributor будет прослушивать запросы на подключение через внешний интерфейс Proxy сервера, проверьте следующие установки в SQL Server Network Utility:

· TCP/IP Network Library.
· Порт 1433.
· IP адрес внешнего интерфейса принадлежит Proxy серверу.

После применения этих настроек в SQL Server Network Utility, пользователи домена больше не смогут подключиться к SQL серверу по TCP/IP. Чтобы обеспечивать доступ к SQL серверу этим пользователям, нужно добавить, по крайней мере, ещё одну дополнительную сетевую библиотеку, например, Named Pipes.

Для обеспечения возможности publisher/distributor прослушивания запросов на подключение через внешний интерфейс необходимо выполнить следующие шаги:

1. В меню Start, щёлкните Programs/Microsoft SQL Server 7.0, и затем щёлкните Server Network Utility.
2. В диалоговом окне SQL Server Network Utility, на вкладке Genera, щёлкните Add.
3. Для Network Libraries выберете TCP/IP. Для Connection parameters, введите 1433 в поле номера порта. Для Proxy Address, введите IP адрес для внешнего интерфейса Proxy сервера.
4. Щёлкните OK, чтобы применить настройки.

[Содержание]

НАСТРОЙКА ПОДПИСЧИКА (SUBSCRIBER) ДЛЯ ПОДКЛЮЧЕНИЯ ЧЕРЕЗ INTERNET

Прежде, чем subscriber сможет установить подключение к publisher/distributor, необходимо обеспечить выполнение следующих условий:

1. Настройте subscriber в качестве клиента для publisher/distributor. Отобразите имя сервера издателя на TCP/IP адрес внешнего интерфейса Proxy сервера, что бы обеспечить агенту репликации подключение через Internet.
2. Настройте доступ к publisher и FTP при создании Pull subscription.

[Содержание]

Настройка подписчика (subscriber) в качестве клиента издателя (publisher)

Subscriber должен располагать информацией о том, через какой порт WinSock Proxy будет работать publisher и какой выбран для этого сетевой протокол.

Для того, что бы эта информация стала доступной SQL серверу - подписчику, необходимо:

1. В меню Start, щёлкните Programs/Microsoft SQL Server 7.0, и затем Client Network Utility.
2. В диалоговом окне SQL Server Client Network Utility, на вкладке General, выберите TCP/IP.
3. Щёлкните Add, а затем для Server alias (псевдоним, совпадающий названием с именем сервера - издателя), введите имя протокола (protocol name), выбранное для WinSock Proxy Service.

Обратите внимание: Использование того же самого имени для Server Alias и Protocol Name, созданного в WinSock Proxy, не обязательно, если Вы не используете протокол.

4. Убедитесь, что в настройках Network libraries выбран TCP/IP.
5. Убедитесь, что в настройках Connection parameters указан порт 1433

[Содержание]

Создание Pull Subscriptions и обеспечение доступа к publisher и FTP

Для того чтобы subscriber мог получать информацию от publisher через Proxy Server, необходимо в настройках Pull Subscriptions указать информациею, с помощью которой определяется адрес publisher.

Обратите внимание: Для того, что бы subscriber смог подписаться на публикацию через Internet, для этой публикация на publisher должна быть установлена опция Allow Snapshots to be downloaded using FTP.

Настройка Pull Subscriptions:

1. В SQL Server Enterprise Manager, щёлкните сервер-подписчик.
2. В меню Tools, пункт Replication, щёлкните Pull Subscriptions to SubscriptionServerName.
3. Щёлкните Pull New Subscription. Запуститься Pull Subscription Wizard - мастер для создания pull подписки.
4. Когда появиться экран Choose Publication, щёлкните по серверу-издателю. Если сервер-издатель не появляется в списке, щёлкните Register Server и зарегистрируйте publisher через его псевдоним.
5. Для Specify Synchronization Agent Login, введите учетную запись с соответствующими настройками безопасности и включённую в PAL публикации, на которую создаётся подписка.
6. Для Choose Destination Database, выберите существующую базу данных, или щёлкните New Database, чтобы создать новую базу данных для подписки.
7. Для Initialize Subscription, выберите Yes, initialize schema and data at the Subscriber.
8. Если появляется опция Snapshot Delivery, выберите Yes, use FTP to copy the Snapshot files.
9. Для Set Distribution Agent Schedule, выберите соответствующую схему планирования работы агента репликации.
10. Выберите Allow Anonymous Subscriptions.
11. После того, как Вы укажите необходимые опции в оставшихся разделах мастера, щёлкните Finish.
12. Когда созданная Pull Subscriptions появится в диалоговом окне SubscriptionServerName, щёлкните по её Properties (свойства).
13. Когда появится диалоговое окно Pull Subscriptions Properties - PublisherName:databasename:replicationtype, щёлкает Snapshot Delivery.
14. Убедитесь, что выбран переключатель Use File Transfer Protocol (FTP).
15. В настройках FTP parameters для Server address of the Distributor, введите IP адрес сетевой платы (NIC), которая используется для подключений из Internet к Proxy серверу (внешний интерфейс), и через которую предполагается производить соединение с publisher.
16. В поле Port, введите номер FTP порта Proxy сервера, который используется publisher для размещения моментальных снимков (обычно это порт 21).
17. Для Login, введите учетную запись, которой были даны права для организации подключения.
18. Для Password, введите пароль этой учетной записи.
19. Щёлкните OK, и затем щёлкните Close.

[Содержание]

Регистрация publisher/distributor на subscriber

Регистрация publisher/distributor на subscriber является обязательным условием подключения subscriber через Proxy сервер. Процесс регистрации также отображает вводимое в качестве имени регистрируемого сервера имя publisher/distributor на его IP адрес, после чего агенты репликации смогут устанавливать подключение через Internet. Для лучшей безопасности, используйте встроенные учётные запись для регистрации подключения к SQL серверу publisher/distributor.

Для регистрации сервера publisher/distributor в Enterprise Manger на subscriber необходимо следующее:

1. В SQL Server Enterprise Manger, щёлкните правой кнопкой мыши по SQL Server Group, и затем щёлкните по New SQL Server Registration.

2. Введите следующую информацию, которая требуется для мастера Register SQL Server Ration Wizard:

Выберите SQL Server Введите имя сервера publisher/distributor
Выберите режим аутентификации. Выберите SQL Server логин.
Выберите опцию подключения. Ведите имя и пароль, которые проверяются на publisher/distributor.
Выберите SQL Server Group Выберите соответствующие задачам вашей организации опции.

Обратите внимание: Логин для регистрации на SQL сервере сервера publisher/distributor, по умолчанию, также используется при создании подписки. Это тот же логин, который использует агент репликации, чтобы подключиться к SQL серверу с запросом на доступ к публикациям, и на получение доступа к FTP сервису на Proxy сервере. Вы можете отменить значение по умолчанию, указав допустимое для publisher/distributor имя логина и пароль в процессе или после завершения создания подписки.

[Содержание]

Проверка работы SQL сервера с Proxy сервером

Чтобы проверить, что подключение к Proxy серверу было установлено через порт 1433, проверьте службу WinSock Proxy на Proxy сервере. Вы должны видеть сеанс Proxy сервера для логина пользователя, от имени которого стартует сервис MSSQLServer сервера publisher/distributor.
Учетная запись пользователя не появляться немедленно. Подождите некоторое время, и затем щёлкайте периодически по Refresh. Если учётная запись SQL Server Agent не появляется в списке, останове и перезапустите SQL Server. SQL Server является клиентом Proxy сервера и сервисная учетная запись, от которой SQL Server был запущен, должна появиться в списке.

Примечание: Вы должно использовать полностью квалифицированное имя, иначе учётная запись не будут работать.

Проверка подключения осуществляется по следующей схеме:

1. В меню Start, пункт Programs/Microsoft Proxy Server, щёлкните по Microsoft Management Console.
2. Разверните папку Internet Information Service, и затем разверните Proxy сервер.
3. Щёлкните по WinSock Proxy Service, и затем щёлкните Properties.
4. На вкладке Services, щёлкните Current Sessions.
5. Щёлкните по службе WinSock Proxy.

В качестве альтернативы, Вы можете проверять это IP подключение и информацию о портах любого компьютера, используя команду netstat. В отчёте, который выводиться на консоль, для SQL сервера publisher/distributor после выполнения команды netstat -a попадёт информация о клиентских и побочных, серверных подключениях, а также их состоянии и номера используемых портов. Используйте команду netstat без параметров, если вы хотите видеть только сеансы клиентов. Если Вы хотите просмотреть информацию только по портам 1433 и 21, используйте команду netstat -an чтобы отобразить только TCP/IP подключения.
В списке могут быть перечислены несколько других портов кроме 1433. Порт 1433 настроен, как incoming port. Outgoing port выбирается динамически, Proxy сервер назначает его, когда устанавливается подключение. Динамические порты располагаются на номерах от 1025 до 5000:

Active Connections


  Proto  Local Address                Foreign Address        State
TCP SQLReplServer:1026 0.0.0.0:0 LISTENING TCP SQLReplServer:1031 0.0.0.0:0 LISTENING TCP SQLReplServer:1033 0.0.0.0:0 LISTENING TCP SQLReplServer:FTP 0.0.0.0:0 LISTENING TCP SQLReplServer:1058 0.0.0.0:0 LISTENING TCP SQLReplServer:1059 0.0.0.0:0 LISTENING TCP SQLReplServer:135 0.0.0.0:0 LISTENING TCP SQLReplServer:135 0.0.0.0:0 LISTENING TCP SQLReplServer:1433 0.0.0.0:0 LISTENING TCP SQLReplServer:1025 0.0.0.0:0 LISTENING TCP SQLReplServer:1025 localhost:1026 ESTABLISHED TCP SQLReplServer:1026 localhost:1025 ESTABLISHED TCP SQLReplServer:1029 0.0.0.0:0 LISTENING TCP SQLReplServer:1030 0.0.0.0:0 LISTENING TCP SQLReplServer:1032 0.0.0.0:0 LISTENING TCP SQLReplServer:1056 0.0.0.0:0 LISTENING TCP SQLReplServer:1057 0.0.0.0:0 LISTENING TCP SQLReplServer:137 0.0.0.0:0 LISTENING TCP SQLReplServer:138 0.0.0.0:0 LISTENING TCP SQLReplServer:nbsession 0.0.0.0:0 LISTENING UDP SQLReplServer:1059 *:* UDP SQLReplServer:1088 *:* UDP SQLReplServer:135 *:* UDP SQLReplServer:nbname *:* UDP SQLReplServer:nbdatagram *:*

[Содержание]


Перевод: Александра Гладченко  2002г.

ПУБЛИКАЦИИ

Скачать электронную карту Ангарска бесплатно
Сайт управляется системой uCoz