Скорее всего Яндекс диск использует установщик Squirrel. Я точно не уверен, но, при установке/обновлении этой программы, создаётся папка вида 1.2.34.5678, которая расположена примерно тут:
C:\Users\<USER>\AppData\Roaming\Yandex\YandexDisk2\3.2.27.4886\YandexDisk2.exe
Правилам Sorfware Restriction Policies (SRP) это не проблема, т.к. они понимают маски (wildcards), поэтому следующее правило пути сработает:
C:\Users\*\AppData\Roaming\Yandex\YandexDisk2\?.?.??.????\YandexDisk2.exe
Для Брандмауэра Windows (Windows Defender Firewall with Advanced Security) маски не работают, поэтому в принципе невозможно создать правило, которое бы разрешало выход в интернет для данного приложения (Яндекс-диска), т.к. после каждого обновления путь к файлу меняется (меняется название папки).
Если нет возможности разрешать доступ по имени файла (пути), то придётся разрешать по другим «уникальным» параметрам. В данном случае это будет адрес. Сложность в том, что это облачное хранилище, а не какой-то отдельный сервер. В данном случае политика фаервола была настроена на блокировку всех входящих и исходящих соединений. Естественно были созданы правила белого списка с разрешениями по пути. Поскольку правила для Яндекс-диска не было, в логи попал такой адрес:
213.180.204.127
Если изучить его например на этом сайте, то мы увидем такой результат:
route: 213.180.192.0/19
Здесь мы получим подобный результат, но нам нужна строчка Owner CIDR.
В общем, чтобы не прописывать для правила все 8190 адресов из пула, можно указать эту запись в качестве правила:
New-NetFirewallRule -DisplayName "Yandex Disk (IP)" -Direction Outbound -Protocol "TCP" -RemoteAddress "213.180.192.0/19" -RemotePort "443" | Out-Null
Test-NetConnection -Port 443 -ComputerName 213.180.204.127
ComputerName : 213.180.204.127
RemoteAddress : 213.180.204.127
RemotePort : 443
InterfaceAlias : Ethernet 1
SourceAddress : 192.168.1.6
TcpTestSucceeded : True
Если правило не сработало и соединение заблокировано было бы такое сообщение:
WARNING: TCP connect to (213.180.204.127 : 443) failed
ComputerName : 213.180.204.127
RemoteAddress : 213.180.204.127
RemotePort : 443
InterfaceAlias : Ethernet 1
SourceAddress : 192.168.1.6
PingSucceeded : True
PingReplyDetails (RTT) : 5 ms
TcpTestSucceeded : False
Итоговое правило
В процессе отловил ещё один адрес, который не входил в первое правило, так что пришлось дополнить его ещё одним диапазоном. На текущий момент таких уже два (пока два):
New-NetFirewallRule -DisplayName "Yandex Disk" -Description "Yandex Disk (IP range)" -Direction Outbound -Protocol "TCP" -RemoteAddress @("213.180.192.0/19","87.250.224.0/19") -RemotePort "443" | Out-Null
Если так пойдёт и дальше, наверное придётся добавить весь список диапазонов:
5.45.192.0/18
5.255.192.0/18
37.9.64.0/18
37.140.128.0/18
45.87.132.0/22
77.88.0.0/18
84.252.160.0/19
87.250.224.0/19
90.156.176.0/22
93.158.128.0/18
95.108.128.0/17
100.43.64.0/19
141.8.128.0/18
178.154.128.0/18
185.32.187.0/24
199.21.96.0/22
199.36.240.0/22
213.180.192.0/19
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024