- Удалить информацию для входа
- Очистить кеш DNS
- Внести изменения через редактор реестра
- Выполните некоторые шаги по устранению неполадок для Lync 2021 и Lync 2021
- Dns records
- Dns записи для edge server
- Enable your ssl certificate
- Generate the csr on skype for business
- Install the ssl certificate on skype for business
- Locate your ssl certificate
- Reverse proxy и порты
- Sfb sever и сертификаты
- Skype for business history
- Where to buy the best ssl certificate for skype for business?
- Задачи, выполняемые reverse proxy
- Запуск сервисов sfb server
- Получение сертификата от let’s encrypt для skype for business 2021
- Реализация удалённого доступа
- Решения под reverse proxy
- Схема портов
- Шаг 1. установка sql express
- Шаг 2. установка компонентов skype for business server
- Шаг 3. сертификаты
Удалить информацию для входа
- В окне входа в Skype для бизнеса нажмите Удалить информацию о моем входе.

- Это удалит ваш сохраненный пароль, сертификаты и настройки подключения
- Затем вы должны ввести информацию об учетной записи и посмотреть, сможете ли вы войти в систему.
Очистить кеш DNS
Откройте командную строку (Запуск от имени администратора)> введите следующую команду и нажмите Enter:
ipconfig/flushdns 
Дождитесь завершения процесса и закройте CMD.
Внести изменения через редактор реестра
- Нажмите клавишу с логотипом Windows R на клавиатуре> введите regedit и нажмите Enter, чтобы открыть редактор реестра.

- Найдите следующий путь реестра:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Cryptography MachineGuid

- Дважды нажмите MachineGuid >, если значение содержит список чисел и букв в скобках – например, {c1cbd94c-0d35-414c-89ef-dd092b984883} – удалите его

- Закройте редактор реестра> перезапустите Lync и попробуйте войти в Skype для бизнеса.
Выполните некоторые шаги по устранению неполадок для Lync 2021 и Lync 2021
Если вы все еще используете Lync, вот как вы можете решить эту проблему:
Dns records
Если запустить клиента SfB, то мы увидим, что клиент начинает запрашивать свой DNS сервер на определенные записи.
Dns записи для edge server
Как видно, во внешнюю зону понадобится добавить группу DNS записей.
Enable your ssl certificate
To enable the certificate for default and web services roles run the following command:
Set-CsCertificate -Type WebServicesExternal -Thumbprint “B142918E463981A76503828BB1278391B716280987B”
If your search command returned just one result, you can enable the certificate via the following command:
Get-CsCertificate | Where-Object {$_.Subject -eq “CN=domaine.tld”} | Set-CsCertificate -Type Default, WebServicesInternal, WebServicesExternal
That’s it. For more information, please refer to Microsoft’s official documentation here and here.
You can scan your newly installed SSL certificate for potential errors with the help of these handy SSL tools.
Generate the csr on skype for business
Before generating the CSR, it’s necessary to indicate the service or services you wish to encrypt. You have to do this with the Type argument from the CSR generation command.
Generally, you can use the Default type.
The Default, AccessEdgeExternal, and DataEdgeExternal types are for Edge servers, while the WebServicesExternal and WebServicesInternal types are for web streams.
Here is a list of the most common arguments:
- AccessEdgeExternal
- AudioVideoAuthentication
- DataEdgeExternal
- Default
- External
- Internal
- iPhoneAPNService
- iPadAPNService
- MPNService
- PICWebService (Skype for Business Online only)
- ProvisionService (Skype for Business Online only)
- WebServicesExternal
- WebServicesInternal
- WsFedTokenTransfer
To generate the CSR you can use the Request-CSCertificate command. Run it in the powershell:
Request-CsCertificate -New -Type YOUR_TYPES -Organization “Your Organization” -OU “IT” -Country US -State “Arizona” -City “Phoenix” -FriendlyName “Skype SSL” -KeySize 2048 -DomainName “yourdomain.tld” -PrivateKeyExportable $True -Output C:yourdomain.tld.csr
You’ll need to replace YOUR_TYPES with the services you want to encrypt, and the rest of the examples with your contact information. –PrivateKeyExportable $True makes your private key exportable. If you prefer a graphical interface, another way to generate the CSR code is via an external tool such as our CSR Generator. You’ll receive the certificate and private key files in your email.
Install the ssl certificate on skype for business
After your CA sends the necessary files to your inbox, download the ZIP folder and extract its contents on your device. Skype for Business requires SSL files to be in PKCS#7 (.p7b) or PKCS#12 (.p12 or .pfx) formats.
If you receive your cert in another format such as PEM for instance, you can convert it via OpenSSL or an external conversion tool. For more information, check our guide on SSL certificate formats.
You should know what particular service you want to encrypt using the -Type argument. For more information on services, check Microsoft’s documentation.
To import a PKCS#12 (.p12 or. pfx) file, enter the following command in your Skype for Business server powershell, replacing the path:
Import-CsCertificate -Path “c:your_certificate.pfx” -PrivateKeyExportable $True
Locate your ssl certificate
First, you need to identify your SSL certificate via the Get-CSCertificate cmdlet and then sort the results with the Where-Object cmdlet.
Enter the following command to list all available certificates:
Get-CsCertificate
To find your particular certificate enter the following.
Get-CsCertificate | Where-Object {$_.Subject -eq “CN=yourdomain.tld”}
Reverse proxy и порты
Reverse Proxy – принимает подключения по порту 443, и перенаправляет это подключение на Frontend на порт 4443. Также он принимает входящий порт 80 и перенаправляет это подключение на Frontend на порт 8080.
На Reverse Proxy стоит отдельный публичный сертификат, в котором имеются все необходимые имена, по которым подключаются клиенты к Reverse Proxy.Здесь нужен коммерческий сертификат.
Sfb sever и сертификаты
SfB Sever требует два сертификата.
Skype for business history
Skype for Business (formerly Microsoft Lync and Office Communicator) is an enterprise instant messaging software developed by Microsoft as part of the Microsoft Office suite. It comes with the on-premises Skype for Business Server, and software as a service version offered as part of Office 365.
Where to buy the best ssl certificate for skype for business?
SSL dragon is your one-stop place for all your SSL needs. We offer the lowest prices on the market for the entire range of our SSL products. We’ve partnered with the best SSL brands in the industry to offer you high-end SSL security and dedicated support.
To help you select the perfect SSL certificate, we created a couple of handy SSL tools. Our SSL Wizard can recommend the best SSL deal for your online project, while the Certificate Filter, can help you sort and compare different certificates.
If you find any inaccuracies, or you have details to add to these SSL installation instructions, please feel free to send us your feedback at [email protected] Your input would be greatly appreciated! Thank you.
Задачи, выполняемые reverse proxy
Reverse Proxy – обязательный компонент, поскольку без него очень многое не будет работать.Трафик сигнализации мобильных клиентов идёт через Reverse Proxy (Media идет через Edge)Также через Reverse Proxy клиенты подключаются через Internet Browser (ссылка на конференцию)
Запуск сервисов sfb server
После выпуска сертификатов и их привязки их к службам, можно будет запустить службы
Поскольку службы завязаны между собой, существует правильный метод их запуска через команду:
Получение сертификата от let’s encrypt для skype for business 2021
Цель нашей лабораторной получить сертификат от доверенного центра сертификации для Skype For Business 2021:
1. Выбор доверенного центра сертификации
. Let’s Encrypt
2. Выбрать способ проверки для получения сертификата
. Windows DNS Server / Yandex PDD
3. Определить список доменов в сертификате
. sfb.contoso.ru,lyncdiscoverinternal.contoso.ru,web.contoso.ru,contoso.ru
4. Получить сертификат
. ACMESharp
. DNSServer module
. Yandex API
5. Установить сертификат на сервер Skype For Business 2021
. Import-CsCertificate
. Set-CsCertificate
. Get-CsCertificate
* В сертификате от Let’s Encrypt отсутствует CRL , поэтому может возникнуть проблема с запуском сервиса Fabric и требуется исправление ключа — <Parameter Name=”CrlCheckingFlag” Value=”0”
https://itbasedtelco.wordpress.com/2021/06/14/s4b-front-end-servers-event-4097-flooding/
1. Выбор доверенного центра сертификации
Центры сертификации WoSign и StartCom, которые ранее выдавали сертификаты с большим сроком действия от 1 до 3 лет, перестали быть доверенными компанией Microsoft (https://blogs.technet.microsoft.com/mmpc/2021/08/08/microsoft-to-remove-wosign-and-startcom-certificates-in-windows-10/) и многими другими, хотя возможность получения и покупка сертификатов возможна.
К счастью, есть доверенный центр сертификации Let’s Encrypt. Его функционала будет достаточно, для создания федерации с другими партнерами и взаимодействия с сервисом Skype. Для взаимодействия с облачными сервисами, требуется дополнительное тестирование.
Let’s Encrypt:
Стоимость — бесплатно
Сертификат действителен — 90 дней
SAN — 100 доменов
CRL — не поддерживается
OCSP — поддерживается
IDN(Internationalized Domain Names) — поддерживается
OV,EV — не поддерживается
Способ проверки — ftp,http,dns
RSA размер ключа — по умолчанию 2048 (2048, 3072, 4096)
WildCard — https://letsencrypt.org/2021/07/06/wildcard-certificates-coming-jan-2021.html
Список ограничений — https://letsencrypt.org/docs/rate-limits/
Список совместимости:
https://community.letsencrypt.org/t/which-browsers-and-operating-systems-support-lets-encrypt/4394
https://letsencrypt.org/docs/certificate-compatibility/
Сроки реализации новых функций:
https://letsencrypt.org/upcoming-features/
# IDN (Internationalized Domain Names) [System.Globalization.IdnMapping]::new().GetAscii("президент.рф")xn--d1abbgf6aiiy.xn--p1ai [System.Globalization.IdnMapping]::new().GetUnicode("xn--d1abbgf6aiiy.xn--p1ai")президент.рф
2. Выбрать способ проверки для получения сертификата
В данной лабораторной работе, для простоты был выбран способ проверки через записи DNS.
Рассмотрим вариант создания записей в бесплатном сервисе Яндекс.Почта(предоставляет функционал DNS сервера) и Windows DNS Server(должен быть опубликован в интернет).
Кому лень использовать скрипты, может с легкостью получить сертификаты через онлайн сервис — https://www.sslforfree.com/
Windows DnsServer Module — https://technet.microsoft.com/en-us/itpro/powershell/windows/dnsserver/dnsserver
Get-DnsServerResourceRecord — https://technet.microsoft.com/en-us/itpro/powershell/windows/dnsserver/get-dnsserverresourcerecord
Add-DnsServerResourceRecord — https://technet.microsoft.com/en-us/itpro/powershell/windows/dnsserver/add-dnsserverresourcerecord
Set-DnsServerResourceRecord — https://technet.microsoft.com/en-us/itpro/powershell/windows/dnsserver/set-dnsserverresourcerecord
Yandex API Управление DNS — https://tech.yandex.ru/pdd/doc/concepts/api-dns-docpage/
GET /api2/admin/dns/list? — Получить DNS-записи домена — https://tech.yandex.ru/pdd/doc/reference/dns-list-docpage/
POST /api2/admin/dns/add — Добавить DNS-запись — https://tech.yandex.ru/pdd/doc/reference/dns-add-docpage/
POST /api2/admin/dns/edit — Редактировать DNS-запись — https://tech.yandex.ru/pdd/doc/reference/dns-edit-docpage/
Как подключить себе сервис Яндекса:
https://blog.it-kb.ru/2021/02/03/delegating-dns-domain-to-yandex-ns-servers-and-connect-to-free-services-yandex-mail-for-domain-with-1000-unlimited-mailboxes-and-yandex-disk/
Все DNS записи будут типа TXT, формата:
name class rr text
_acme-challenge.domain IN TXT “123drNmQL5vX0bu4YZlgy5wKNBlCny4yrjF1lSaUndc”
3. Определить список доменов в сертификате
Требования к сертифакату для Skype For Business 2021 — https://technet.microsoft.com/en-us/library/dn933910.aspx
Воспользуемся мастером и скопируем список из вкладки Subject Alternative Name — https://blogs.technet.microsoft.com/uclobby/2021/05/15/renewing-skype-for-business-server-2021-certificates/

4. Получить сертификат
К этому пункту у нас должна быть собрана информация:
$DomainName = “contoso.ru”
$SAN = “sfb.contoso.ru”,”lyncdiscoverinternal.contoso.ru”,”web.contoso.ru”,”contoso.ru”
$email = “pki@contoso.ru”
* Yandex API — учетные данные, зарегистрированный и настроенный домен
— Обязательные параметры
* — Необязательные параметры
! — Все действия выполняем под учетной записью с правами Администратора
Для работы с Let’s Encrypt с помощью PowerShell , есть замечательный модуль ACMESharp.
Документация по модулю — https://pkisharp.github.io/ACMESharp-docs/
User Guide: ACMESharp PowerShell Client — https://pkisharp.github.io/ACMESharp-docs/User-Guide.html
Quick Start: ACMESharp PowerShell Client — https://pkisharp.github.io/ACMESharp-docs/Quick-Start.html
ACMESharp создает Vault , которое содержит очень чувствительные данные.
* https://github.com/ebekker/ACMESharp/wiki/Vaults,-Vault-Providers-and-Vault-Profiles
:sys — the default system-wide Vault if you are running as an elevated user (admin)
%ALLUSERSPROFILE%ACMESharpsysVault
:user — the default user-specific Vault if you are running as a non-elevated user
%LOCALAPPDATA%ACMESharpuserVault
Папки:
VAULT /**/ = “00-VAULT”; // Vault Info
MTADT /**/ = “01-MTADT”; // Asset Meta Data
PRVDR /**/ = “10-PRVDR”; // Challenge Handler Provider Profile
INSTP /**/ = “18-INSTP”; // Installer Provider Profile
CSRDT /**/ = “30-CSRDT”; // CSR Generation Details
KEYGN /**/ = “40-KEYGN”; // Private Key Generation Details
KEYPM /**/ = “45-KEYPM”; // Private Key PEM Export
CSRGN /**/ = “50-CSRGN”; // CSR Export
CSRPM /**/ = “55-CSRPM”; // CSR PEM Export
CSRDR /**/ = “56-CSRDR”; // CSR DER Export
CRTPM /**/ = “65-CRTPM”; // Certificate PEM Export
CRTDR /**/ = “66-CRTDR”; // Certificate DER Export
ISUPM /**/ = “75-ISUPM”; // Issuer Certificate PEM Export
ISUDR /**/ = “76-ISUDR”; // Issuer Certificate DER Export
ASSET /**/ = “99-ASSET”; // Generic Asset
![]()
Т.к. по умолчанию используется EFS для защиты Vault ,а у тех где данный функционал отключен , надо будет явно отключить в файле конфигурации EFS — https://pkisharp.github.io/ACMESharp-docs/Local-Vault-EFS.html .
public string RootPath
{ get; set; }
public bool CreatePath
{ get; set; }
public bool BypassEFS
{ get; set; }
$param=(Get-ACMEVaultProfile).VaultParameters$param.Add("BypassEFS",$true)Set-ACMEVaultProfile-ProfileName":user"-Providerlocal-VaultParameters$param-Force
{
“$type”: “ACMESharp.Vault.Profile.VaultProfile, ACMESharp.Vault”,
“Name”: “user”,
“ProviderName”: “local”,
“ProviderParameters”: null,
“VaultParameters”: {
“$type”: “System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib”,
“BypassEFS”: true,
“CreatePath”: true,
“RootPath”: “C:\Users\Administrator\AppData\Local\ACMESharp\userVault”
}
}
Шаг 1: Установка модуля ACMESharp
Install-Module-NameACMESharp-AllowClobberДанный модуль располагается в двух репозитариях PSGallery и Nuget. Версия в PSGallery новее и на момент написания 0.9.0.321:
Install-Module-NameACMESharp-AllowClobber-RepositoryPSGallery-ForceШаг 2: Инициализация хранилища
Initialize-ACMEVault
Шаг 3: Регистрация аккаунта
* Let’s Encrypt CA поддерживает только тип email contact, URI формата mailto:<email-address>
New-ACMERegistration-Contactsmailto:$email –AcceptTos
Шаг 4: Подтверждение владением записей домена
В ACMESharp реализовано два типа ChallengeType: dns-01 , http-01 .
https-01 — описан https://pkisharp.github.io/ACMESharp-docs/Quick-Start.html
PS > Get-ACMEChallengeHandlerProfile -ListChallengeTypes
dns-01
http-01
PS > Get-ACMEChallengeHandlerProfile -ListChallengeHandlers
manual
Длинная запись:
New-ACMEIdentifier-Dnslyncdiscoverinternal.contoso.ru-Aliassfb1New-ACMEIdentifier-Dnssfb.contoso.ru-Aliassfb2New-ACMEIdentifier-Dnsweb.contoso.ru-Aliassfb3New-ACMEIdentifier-Dnscontoso.ru-Aliassfb4Complete-ACMEChallenge-IdentifierRefsfb1-ChallengeTypedns-01-HandlermanualComplete-ACMEChallenge-IdentifierRefsfb2-ChallengeTypedns-01-HandlermanualComplete-ACMEChallenge-IdentifierRefsfb3-ChallengeTypedns-01-HandlermanualComplete-ACMEChallenge-IdentifierRefsfb4-ChallengeTypedns-01-HandlermanualSubmit-ACMEChallenge-IdentifierRefsfb1-ChallengeTypedns-01Submit-ACMEChallenge-IdentifierRefsfb2-ChallengeTypedns-01Submit-ACMEChallenge-IdentifierRefsfb3-ChallengeTypedns-01Submit-ACMEChallenge-IdentifierRefsfb4-ChallengeTypedns-01## Give it a minute, just in case -- or go get more coffeesleep-s60Update-ACMEIdentifier-IdentifierRefsfb1Update-ACMEIdentifier-IdentifierRefsfb2Update-ACMEIdentifier-IdentifierRefsfb3Update-ACMEIdentifier-IdentifierRefsfb4
Короткая запись:
$SAN|Foreach-Object{$i=1}{$id="sfb$i"New-ACMEIdentifier-Dns$_-Alias$id|Out-NullComplete-ACMEChallenge-IdentifierRef$id-ChallengeTypedns-01-Handlermanual$i }
# Содержит ресурсные записи, которые потребуется создать на DNS сервере# Требуются для подтверждения владением доменом$DNS=(Get-ACMEVault).Identifiers.Where{$_.Alias-like"sfb*"}.Authorization.Challenges.Where{$_.Type-eq"dns-01"}.Challenge
# Создаем ресурсные записи # Windows DNS Server$AllRecords=(Get-DnsServerResourceRecord-ZoneName$DomainName-RRTypeTxt).Where{$_.Name-match"_acme-challenge"}$DNS.Foreach{$rdns=$_$name=$_.RecordName.TrimEnd($DomainName)$record=$AllRecords.Where{$_.HostName-eq$name}if($record){$newrecord=$record.Clone()$newrecord.RecordData.DescriptiveText=$_.RecordValueSet-DnsServerResourceRecord-ZoneName$DomainName-NewInputObject$newrecord-OldInputObject$record}else{ADD-DnsServerResourceRecord-ZoneName$DomainName-Txt-Name$name-DescriptiveText$_.RecordValue}}
# Yandex APIFunctionInput-Captcha{Param($src)Add-Type-AssemblyNameSystem.Windows.Forms,System.Drawing$bimg=[Net.WebClient]::new().DownloadData($src)$ms=[IO.MemoryStream]::new($bimg)$img=[Drawing.Image]::FromStream($ms)[Windows.Forms.Application]::EnableVisualStyles();$form=New-ObjectWindows.Forms.Form-Property@{Text="Captcha"Width=300Height=227FormBorderStyle="FixedDialog"Icon=[Drawing.Icon]::ExtractAssociatedIcon("$env:ProgramFilesInternet Exploreriexplore.exe")}$pictureBox=New-ObjectWindows.Forms.PictureBox-Property@{Width=$img.Size.WidthHeight=$img.Size.HeightLocation=New-ObjectDrawing.Size(60,30)Image=$img}$button=New-ObjectWindows.Forms.Button-Property@{Location=New-ObjectDrawing.Size(12,153)Size=New-ObjectDrawing.Size(260,23)Text="Set"}$button.Add_Click({$script:rep=$textbox.Text.Trim()$form.Close()})$textbox=New-ObjectWindows.Forms.TextBox-Property@{Location=New-ObjectDrawing.Size(12,117)Size=New-ObjectDrawing.Size(260,20)}$form.Controls.Add($pictureBox)$form.Controls.Add($button)$form.Controls.Add($textbox)$form.Add_Shown({$form.Activate()})$form.ShowDialog()|Out-Null}FunctionGet-Token{[CmdLetBinding()]Param([String]$Url="https://pddimp.yandex.ru",[String]$TUrl="https://pddimp.yandex.ru/api2/admin/get_token",[Parameter(Mandatory)][PSCredential]$Credential,[Parameter(Mandatory)][String]$DomainName)try{# Логинемся в Yandex Passport$wr=Invoke-WebRequest$TUrl-SessionVariableya# В форме заполняем login&passwd$Form=$wr.Forms[0]$Form.Fields["login"]=$Credential.UserName$Form.Fields["passwd"]=$Credential.GetNetworkCredential().Passwordif($Form){# Отправляем Post запрос$wr=Invoke-WebRequest-Uri$Form.Action-WebSession$ya-MethodPOST-Body$Form# Если успешно, то переходим к странице получения токена$wr=Invoke-WebRequest$TUrl-WebSession$yaif($wr.ParsedHtml.Title-eq"Admin's token management"){$Form=$wr.Forms[0]# Удаляем из post запроса token_del $Form.Fields.Remove("token_del")|Out-Null# Вводим капчуInput-Captcha$wr.Images.src# Заполняем форму rep - Captcha$Form.Fields["rep"]=$rep$Form.Fields["domain_name"]=$DomainName# Отправляем Post запрос с методом token_get$wr=Invoke-WebRequest-Uri"$url$($Form.Action)"-WebSession$ya-MethodPOST-Body$Form# Возвращаем полученный токен$wr.ParsedHtml.getElementsByTagName("Strong").Item(0).outerText}}}catch{$_}}$LUrl='https://pddimp.yandex.ru/api2/admin/dns/list?domain={0}'-f$DomainName$EUrl='https://pddimp.yandex.ru/api2/admin/dns/edit'$AUrl='https://pddimp.yandex.ru/api2/admin/dns/add'$PddToken=Get-Token-Credential""-DomainName$DomainNameif($PddToken){# Получим все записи для дальнейшего сравнения$AllRecords=Invoke-WebRequest$LUrl-Headers@{"accept"="application/json"PddToken=$PddToken}|ForeachContent|ConvertFrom-Json|Foreach{$_.Records}$DNS|Foreach{$rdns=$_$record=$AllRecords.Where{$_.FQDN-eq$rdns.RecordName}if($record){# Обновляем данныеInvoke-WebRequest$EUrl-Headers@{"accept"="application/json";PddToken=$PddToken}-MethodPOST-Body@{'domain'=$DomainName'record_id'=$record.record_id'content'=$rdns.RecordValue}}else{# Создаем записиInvoke-WebRequest$AUrl-Headers@{"accept"="application/json";PddToken=$PddToken}-MethodPOST-Body@{'domain'=$DomainName'type'='TXT''subdomain'=$rdns.RecordName.TrimEnd($DomainName)'content'=$rdns.RecordValue}}}}
Т.к. для подтверждения требуется вводить captcha вручную.
# Отправить запрос на проверку(Get-ACMEIdentifier).Where{$_.Alias-match"sfb"}.Foreach{Submit-ACMEChallenge-IdentifierRef$_.Alias-ChallengeTypedns-01}sleep-s60(Get-ACMEIdentifier).Where{$_.Alias-match"sfb"}.Foreach{Update-ACMEIdentifier-IdentifierRef$_.Alias}
![]()
Шаг 5. Генерация сертификата
$idref=(Get-ACMEIdentifier).Where{$_.Alias-match"sfb"}|Select-First1|Foreach{$_.Alias}$aref=(Get-ACMEIdentifier).Where{$_.Alias-match"sfb"}|Select-Skip1|Foreach{$_.Alias}New-ACMECertificate-Generate-IdentifierRef$idref-AlternativeIdentifierRefs$aref-AliasSfB2021FECert
![]()
# Отправить запросSubmit-ACMECertificate-CertificateRefSfB2021FECert
![]()
Update-ACMECertificate-CertificateRefSfB2021FECert
![]()
Шаг 6. Экспорт в PFX
Get-ACMECertificateSfB2021FECert-ExportPkcs12"SfB2021FECert.pfx"-CertificatePassword'12345678'
5. Установить сертификат на сервер Skype For Business 2021Пример можно посмотреть - https://www.tbs-certificates.co.uk/FAQ/en/install-skype-business-server.htmlImport-CsCertificate-Path"c:SfB2021FECert.pfx"-PrivateKeyExportable$True-Password'12345678'Set-CsCertificate-TypeDefault,WebServicesInternal,WebServicesExternal,OAuthTokenIssuer-Thumbprint"439637470DF2D0E9DF933EADEA1F0610B3BA841C"Get-CsCertificate|FtThumbprint,Use Thumbprint Use ---------- --- 439637470DF2D0E9DF933EADEA1F0610B3BA841C Default 439637470DF2D0E9DF933EADEA1F0610B3BA841C WebServicesInternal 439637470DF2D0E9DF933EADEA1F0610B3BA841C WebServicesExternal 439637470DF2D0E9DF933EADEA1F0610B3BA841C OAuthTokenIssuer
PS. Скрипты к статье:
le_windows_dns.txt – Пример для Windows DNS Server
le_yandex_dns.txt — Пример использования Yandex API PDD
Реализация удалённого доступа
Как уже было сказано, функции для удаленного доступа реализуются с помощью Edge Server.Edge Server является ролью SfB и его нельзя совместить с Front-End Server или со Standard SfB Server. Т.е. без Edge Server обойтись нельзя.
Edge Server не является членом домена и находится в DMZ.Для реализации удаленного доступа нам также понадобится Reverse Proxy. Reverse Proxy – это не роль SfB, и может быть реализован различными продуктами.
С точки зрения архитектуры нам понадобятся белые IP адреса.Рекомендуется 4 IP:- 1 Для Reverse Proxy- 3 для Edge server
Минимально 2 IP:- 1 Для Reverse Proxy- 1 для Edge server
Edge требует два интерфейса: внешний и внутреннийEdge также требует установки двух сертификатов: один на внешнем интерфейсе, другой на внутреннем.
Все клиенты, кто подключаются из интернета, подключаются к Edge. И Edge проксирует Media traffic, SIP traffic от клиента на внутренний Front-End.
Для шифрования коммуникаций, необходимо иметь коммерческий, публичный, доверенный сертификат на внешнем интерфейсе Edge.
На внутреннем интерфейсе Edge можно использовать внутренний сертификат.
Решения под reverse proxy
– Kemp Loadmaster 2600- TMG 2021- IIS ARR- Web Application Proxy- Sophos UTM- Другие решения
Схема портов
Понятно, что для правильной работы необходимо корректно настроить правила Firewall.На Edge мы имеем три внешних сервиса, каждый из которых использует отдельный белый IP:
Также имеем сервисе Reverce Proxy:
Шаг 1. установка sql express
1) Устанавливаются экземпляры SQL (RTCLOCAL и LYNCLOCAL)У нас уже был установлен первый экземпляр, и будет создано ещё 2шт.Первый экземпляр был установлен при подготовке Standard Edition Server. Экземпляр называется RTC. И в этом экземпляре хранится БД с Топологией.
Архитектура SfB устроена таким образом, что у нас есть оригинальная, или Master DB c топологией (XDS master). И каждый сервер, который мы устанавливаем, создаёт себе реплику этой БД. Создаётся экземпляр RTCLOCAL, и в нём БД XDS REPLICA и работает впоследствии с этой репликой.
Даже когда мы ставим лишь один SfB Standard Edition Server, всё равно на нём хранится:- экземпляр RTС, с БД XDS master, c топологией- На нем же создаётся экземпляр RTCLOCAL, где хранится БД: XDS REPLICA. И работает впоследствии с этой репликой.
2) Создаётся копия базы с топологией XDSИтак, на этом шаге SfB Server выгружает всю БД XDS master, и заполняет реплику XDS REPLICA в экземпляре RTCLOCAL.
3) После этого настраивается синхронизация между этими БД: XDS master и XDS REPLICA.
4) Кроме этого устанавливаются две службы:- Skype Server Replica Replicator Agent- Skype Server Cetralized Logging Server
Кроме реплики топологии, в экземпляре RTCLOCAL хранятся также дополнительные БД.Например информация по контакт-листам пользователей, Presence Status
Также Создаётся третий экземпляр – LYNCLOCAL.В Экземпляре LYNCLOCAL будет создана единственная БД с именем LYSSЭта БД используется в Enterprise pool, но всё равно создаётся для Standard Edition Server, поскольку некоторый функционал завязан на эту БД.
Итак, вернемся к Deployment Wizard, и выполняем первый шаг:
Второй пункт сделан для ситуаций, когда разворачиваются пограничные сервера, которые не могу забрать топологию напрямую, а только из бэкапа.


Если копия топологии создалась без проблем – можем переходить ко второму этапу.
Шаг 2. установка компонентов skype for business server
1) Мастер установки смотрит в топологии, какие компоненты должны быть установлены на данном сервере (службы, настройки)2) Мастер установки производит установку Skype For Business Server 2021 в соответствии с топологией.3) Мастер установки устанавливает необходимые службы.
При изменении в Topologu Builder, зачастую требуется повторный запуск Шага2.Т.е. Мастер зайдёт в топологию, увидит изменения, и удалит или добавит какие-то сервисы.Информация об необходимости проходить шаг N2 отображается в ToDO List, после того, как мы опубликуем топологию.
Если сейчас (до выполнения шага 2) открыть оснастку с сервисами, мы там не найдём сервисов с именем Skype for Business.
Вернемся к Deployment Wizard:



Запускать эти сервисы смысла нет никакого, т.к. часть из них не заработает, поскольку отсутствуют сертификаты.
Шаг 3. сертификаты
- SfB Server не работает без сертификатов, и его сервисы не запустятся до того как мы получим и привяжем сертификаты.
- SfB Server критически завязан на сертификаты и использует их для:
- Сертификаты должны быть выданы доверенным Центром Сертификации
- Сертификаты должны поддерживать серверную авторизацию
- Список отозванных сертификатов должен быть доступен (CRL через CDP)
- Алгоритм хеширования SHA-2
- Длина ключа 1024, 2048, 4096
- Алгоритмы цифровой подписи RSA, ECDH_P256, ECDH_P384, ECDH_P521
