Windows Server 2019 contains a firewall program called Windows Defender Firewall with Advanced Security. The firewall filters incoming and outgoing traffic on your Windows Server 2019 instance to safeguard it from common network attacks. By default, the firewall is configured to allow access to all pre-installed system programs.
However, several programs may use multiple different ports for operation, and these will be automatically blocked because they don’t match with the rules in your firewall configuration. In this case, you need to open the specific port on Windows Server.
Prerequisites
-
Deploy a Windows Server 2019 Instance on Vultr
-
A Remote Desktop Connection App
Establish a connection to your server by logging in through any remote desktop app or click the console on your Vultr dashboard to access your server. After you connect you can start configuring your Windows server 2019 firewall rules.
By default, Windows Defender Firewall is turned on, but in any case, you should confirm the current status and turn on firewall. To do this, click the tools node under server manager and select Windows Defender Firewall with Advanced Security from the drop down list.
From the open group policy management window, check the current status of Windows Firewall profiles if it is set to ON; otherwise, click the Windows Defender Firewall properties option and turn the service on per profile.
Firewall Rules
Windows Firewall rules allow you to either permit or block specific incoming and outgoing network packets on your server. You can choose multiple parameters for each inbound or outbound rule. A rule can consist of a TCP or UDP port, program name, service, or a protocol to filter for every server profile.
Windows server profiles are grouped into, Domain, Private and Public. Domain
represents your server’s connection to a corporate domain network, Private applies to your home or workplace network connection, and Public represents non-secure public network locations.
Open an Inbound Port (Incoming connections)
Launch windows defender firewall from the tools sub-menu under server manager. Then, select Inbound Rules on the left panel of the Firewall console.
A list of current rules will be displayed. Now, on the left Inbound Rules sub-menu under actions, click New Rule.
Select Port as the rule type in the rule wizard and click Next.
Now, choose whether the new rule applies to a TCP or UDP port on your server. Then, select specific ports
and enter your target port number, you can enter a ports range, or multiple ports separated by -
and ,
respectively, then click Next.
Define your TCP or UDP port rule.
-
Allow the connection
will allow incoming connections to the specified server port -
Allow the connection if it is secure
will authenticate with IP security and either deny or allow the connection. For example,https
connections will be allowed andhttp
blocked. -
Block the connection
will block all incoming connections to your server through the specified port
In this case, choose Allow the connection
to open the port.
Click Next to assign the new rule to one or more profiles. You can select between Domain, Private, and Public, or choose all to apply the firewall rule on multiple profiles.
Next, give your new firewall rule a custom name and description for easy identification. Then, Click finish to enable the new rule. Your new Inbound (Incoming) port rule will be enabled, and all connections to the server that match the port will be accepted.
Open an Outbound Port (Outgoing connection)
From the Windows Defender Firewall console, click Outbound Rules
on the left pane, and a list of available outgoing connection rules will be displayed.
Now, click New Rule
on the right pane under the outbound rules node.
In the new outbound rule wizard, select Port as the rule type and click Next.
Now, let’s choose whether the new rule applies to a TCP or UDP port. Then, select specific remote ports
and enter the target server port number; you can enter a range of ports, a single port, or multiple different ports you intend to open.
Next, on the Action page, select Allow the connection, then click next to select the server profile on which the rule should be enabled.
Give the new outbound rule a name and description that uniquely describes it. Then, click Finish
to enable the outbound rule for the target port to be open on all selected server profiles.
Open a Port through Windows PowerShell
From the Windows start menu, open PowerShell. Then, edit the following command and replace it with your settings.
New-NetFirewallRule -Enabled:True -LocalPort 21 -Protocol TCP -Direction Inbound -Profile Domain -Action Allow -DisplayName example opening a port rule"
-
New-NetFirewallRule
Creates a new Firewall rule. -
Enabled
This enables the new rule, by default, it will be set to True. -
LocalPort
Your target port number. -
Protocol
Specifies the protocol associated with your port number. -
Direction
Sets your target direction to either Inbound (Incoming) or Outbound (Outgoing). -
Profile
Assigns the new rule to a server profile; you can choose domain, private, or public. -
Action
defines the state for the new firewall rule, enter allow. -
DisplayName
sets a custom name for the new firewall rule
Your Output should be similar to the one below.
PS C:UsersAdministrator> New-NetFirewallRule -Enabled:True -LocalPort 21 -Protocol TCP -Direction Inbound -Profile Domain -Action Allow -DisplayName "example opening a port rule"
Name : {427a1b12-ece6-4d54-847d-de482b227c6c}
DisplayName : example opening a port rule
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Domain
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
Congratulations, you just opened a network port on your Windows Server 2019. The server will accept incoming and outgoing connections through the selected ports, but the firewall will block connections from a profile that doesn’t match the port rule.
Introduction
Firewalls have become an essential part of every network that has access to the Internet. Without firewalls, anyone would be able to access your network and servers and infect them with malicious software. Properly configured, a firewall can substantially decrease undesirable network communications in a local network.
The article will explain how to create a firewall rule using firewall MMC and Windows PowerShell. We are using Windows Server 2012, but the procedure applies to other versions of Windows, with slight variations.
What is a Firewall?
A firewall is a piece of hardware or software that controls the flow of data packets, and it is critical on modern computer systems. It protects private networks and devices from malicious actions coming from public networks in the same way a physical firewall prevents fire from spreading from one area to another. A firewall acts as a defense mechanism which controls network traffic according to the implemented firewall rules.
Computers behind a firewall cannot receive data until the data passes all filters. This enhances security by a large margin and reduces the risk of unauthorized access to private networks. A proper firewall configuration provides your system with a crucial layer of security and lowers the risk of successful hacking attacks. Firewalls can perform many tasks:
- Protect the data on your computer by creating a barrier that blocks any undesired incoming or outgoing traffic.
- Notify you if there are any connection requests from other computers.
- Log activity for later inspection and warn you if any application tries to connect to another computer.
How Windows Server Firewalls Work
As the name suggests, a firewall acts like a barrier between your local devices and the external network. When you send a connection request to your computer or server over the internet, a hacker can interrupt that connection and try to gain access to your private network. With a firewall in place, only the network traffic that matches firewall rules can get through.
The sets of firewall rules you define in the firewall settings review every packet for flagged information. To make the most out of your firewall, you should precisely define both inbound and outbound rules in order to avoid any unwanted connections.
For example, you can set an inbound rule defining that the data communicated through a specific port, such as TCP port 80, can pass the firewall. That means if the firewall sees a packet coming towards any other port, it will drop it and the data will not reach its intended destination.
Windows Firewall Server 2012 with Advanced Security
Windows Firewall with Advanced Security is the management console which stores all Windows Firewall configurations. Windows Firewall is a host-based firewall solution embedded with virtually all current Windows operating systems.
Windows Firewall with Advanced Security provides safer inbound and outbound network communications by enforcing rules that control traffic flow for its local machine. There are three available firewall profiles:
- Domain. It is used when a computer connects to the corporate network. It is a network where the device can detect its domain controller.
- Private. We use this profile for computers that connect to a private network, such as home or office. In private networks, the users are always behind a device and not directly exposed to the Internet.
- Public. This profile is used when a computer connects to a public network, such as libraries, airports and other public hotspots. The firewall configurations should be the most restrictive for this profile since these networks are the least secure.
The benefits of using Windows Server Firewall with Advanced Security are numerous:
- It is ready out-of-the-box. It comes preinstalled with personal Microsoft Windows operating systems as well as Server editions. It is also active by default, protecting your operating system from the very first startup.
- It does not need a special license or additional hardware. Once you obtain your copy of a Windows operating system, there are no additional costs.
- It is highly flexible. It offers many advanced functionalities and different levels of controls for the firewall services.
What is the Difference between Windows Firewall and Windows Firewall with Advanced Security?
The difference between the two is the level of functionality available to the end-user, that is, the interface itself. Both of them are the same firewall service. The Windows Firewall is easier to use and more consumer-friendly. It is located in the Control Panel and allows you to perform basic firewall configurations.
The Windows Firewall with Advanced Security offers granular control over the inbound and outbound rules, as well as the default firewall profiles. You can modify all advanced firewall configurations using the Microsoft Management Console (MMC) or Windows PowerShell.
How to Launch Windows Firewall with Advanced Security Console?
You can access the Windows Firewall with Advanced Security console in a few different ways. Whichever method you choose, it will open Windows Firewall MMC where you can make further firewall configurations for all profiles.
- Use the Server Manager to access the firewall MMC. Once the window opens, go to Tools on the top right side, and locate the Windows Firewall with Advanced Security option toward the bottom of the list.
- Open the Start menu (use the Windows key on your keyboard) and type “firewall”. You should see the Windows Firewall with Advanced Security icon appear as one of the search results.
- Use the Run box to launch Windows Firewall with Advanced Security. Press Win + R keys, type in msc and hit Enter to load the console. You can also use Command Prompt or Windows PowerShell to run this command.
Now that you have the Windows Firewall with Advanced Security console open, in the middle you can see the summary of the three firewall profiles. Their default configuration is to permit the outgoing traffic and to limit incoming traffic.
When you select an option from the menu on the left side of the window, you will see its details in the middle section. On the right side, the menu will show the available actions for the option you previously selected.
The Windows Firewall with Advanced Security console allows you to configure inbound and outbound rules, as well as the Internet Protocol security (IPSec) connections. The Monitoring tab allows you to view the active firewall rules and connection security rules for that server.
Firewall Rules
Windows firewall rules allow you to state whether to permit or block specific incoming or outgoing network connections. You can choose between multiple parameters and settings for each individual inbound or outbound rule. This includes selecting a program, a TCP or UDP port, protocol, service, or profile that a rule will apply to.
The procedure is the same when creating inbound rules and outbound rules with Windows Firewall with Advanced Security. I will list the steps for creating an inbound rule and you can follow them in the same order when you want to create an outbound rule.
How to Create Inbound Rules
Launch the Windows Firewall with Advanced Security MMC using the method you prefer. You may want to pin the shortcut to the start menu if you use the console on a regular basis.
- On the home screen, select the Inbound Rules The console will show all inbound rules in the middle section and available actions in the right pane. You can filter the list by using the available choices.
- Click on New Rule… to start the New Inbound Rule Wizard.The wizard will let you choose the type of rule you want to create. You can choose one out of four types.
- This rule allows or blocks connections for a user-defined program. It allows you to select a path to an executable (*.exe) file. It does not require to insert any program-specific settings.
- A rule based on port settings allows you to permit or block a connection depending on the TCP or UDP port number it uses. You can state multiple ports to apply to this firewall rule.
- This rule contains a list of the most common Windows programs and services. You can select one to allow or block connections for it.
- Custom. This is the most flexible rule in the Wizard. It allows you to create a tailor-made rule with configurations that previous options do not provide. I will proceed with listing the steps for this rule since it covers the most settings.
- Click on Custom and click Next to proceed.
- Choose if the rule will apply to connections for All programs or a specific program on the local machine and click Next. You can click Customize… to select additional settings for the processes of the program you selected.
- The following step will allow you to specify the protocol and port for the traffic that this firewall rule will filter. Click Next after you select a protocol type and configure the settings.
- Protocol type. Click on the bar and select the protocol from the dropdown list. You can always select Custom to manually configure the port number. If you select TCP or UDP, you will need to specify local and remote port.
- Protocol number. This field populates automatically after you select a protocol type, and you cannot change it. In order to insert your own port, select Custom in the ‘Protocol type’ dropdown menu.
- Local port. This represents the port on the local machine where you are creating this rule. This section becomes editable if you select TCP or UDP in the ‘Protocol type’ dropdown. Select one of the options from the dropdown box. Note that RPC Endpoint Mapper and RPC Dynamic Ports are available only for TCP inbound rules, and IPHTTPS is available for TCP only. Edge Traversal is available for UDP inbound rules.
- Remote port. This is the port on a remote machine that is trying to establish a connection with the local machine. This section becomes editable if you select TCP or UDP in the ‘Protocol type’ dropdown. Select one of the options from the dropdown box. Note that RPC Endpoint Mapper and RPC Dynamic Ports are available only for TCP inbound rules, and IPHTTPS is available for TCP only. Edge Traversal is available for UDP inbound rules.
- Internet Control Message Protocol (ICMP) settings. You can customize the ICMP settings if you select ICMPv4 or ICMPv6 in the ‘Protocol type’ dropdown list.
- The Scope step of the wizard allows you to input local and remote IP addresses whose network traffic applies to the current rule.
- Local. If you select ‘Any IP address’ in the local IP addresses section, then the rule applies to the traffic going through the network device that uses a local IP address. This is always the case with the machine where you are creating the rule. Select ‘These IP addresses’ to state that the rule applies to the packets with an address specified in the list. Click Add to insert the IP address to match. You can later edit or remove any of the IP addresses in the list. You can also apply this rule to a specific interface. Click Customize… and select to apply the rule to connections on all interfaces or chose one of the available interfaces listed in the box.
- Remote. If you select ‘Any IP address’ in the remote IP addresses section, then the rule applies to the traffic coming from any IP address included in the list. Select ‘These IP addresses’ to insert the remote IP addresses to which the rule applies. Click Add to specify the IP address to match. You can later edit or remove any of the IP addresses in the list.
- The next step lets you chose the action the firewall takes when a connection matches the inbound rule configuration. You can select one of the three available options and then click Next to continue.
- Allow the connection. If the connection matches the inbound or the outbound rule configuration, the packets can go through the firewall.
- Allow the connection if it is secure. Select this option to allow only IPSec connections. If you chose this option, two more steps will appear in the wizard: Users and Computers. The additional steps let you chose users and computers you want to block or grant them access. Click on ‘Customize…’ to configure the authentication and integrity requirements.
- Block the connection. This option blocks all network traffic that matches the firewall rule configuration. If a similar rule with ‘allow’ action is in place, then the block action has the priority unless otherwise is stated in the other rule.
- The Profile step lets you choose the firewall profile the rule will apply to. You can leave everything selected or uncheck a profile that you do not want to include. Click Next to proceed to the final step.
- In the final step, enter the desired name and optional description for this firewall rule, and click Finish.
When you close the wizard, the rule will take effect immediately. You can find the rule in the firewall console when you click on the Inbound rules option. Enabled rules have green checkmark icon while disabled are with grey icons.
How to Edit a Firewall Rule
To edit any existing rule and make additional configuration, open the Windows Firewall with Advanced Security console and select Inbound Rules or Outbound Rules option. Locate and click a rule to see the actions specific to it in the right pane. Select Properties and another window will load where you can edit the rule settings.
You can also disable, cut, copy, or delete the rule you selected. Make sure you highlight the correct rule to avoid changing firewall configurations for wrong rules.
Tip: you can double click a rule to directly open the Properties window.
How to Create a Firewall Rule with Windows PowerShell
1. Launch the PowerShell command line. You can do so by searching for “powershell” in the start menu, or press Win + R keys on your keyboard and type in “powershell” in the Run box.
2. Insert the following command and hit enter:
New-NetFirewallRule -DisplayName "TCP custom inbound rule" -Enabled:True -Profile Private -Direction Inbound -Action Allow -Protocol TCP -LocalPort 1234
New-NetFirewallRule
. This command creates a rule. It is followed by a string of parameters and their values.-DisplayName
. Specifies the display name of the rule.-Enabled
. Enables the rule if set to true. If you omit this parameter, it defaults to true.-Profile
. Assigns the rule to the specified profile: Domain, Private, orPublic.-Direction
. States if the rule applies to inbound or outbound connections. If you leave it out, it defaults to Inbound.-Action.
Specify if the firewall rule will block or allow the connection. If you do not state the action, it defaults to Allow.-Protocol
. Specify the protocol for the rule. In this case, we used TCP. Omitting the protocol defaults the setting to Any.-LocalPort
. Insert the port where the traffic can go through on the local server. Omitting the port number defaults the setting to Any.
This is only one example of how to add a firewall rule using the Windows PowerShell command line. You can find more examples in the Microsoft PowerShell Documentation.
Conclusion
This article explains the basic functions and different types of firewall and details the steps for managing the Windows Server Firewall within the Windows Firewall with Advanced Security interface. The Windows Firewall Management Console is a powerful tool that allows for creating detailed configurations. If you carefully followed the instructions in the article, you are now able to manage the firewall on your Windows Server.
В данной статье я расскажу как добавить разрешающее правило в Брандмауэр Windows Server 2012 R2 (в Windows Server 2008 R2 действия аналогичны). Правило будем добавлять на примере работы сервера 1С:Предприятие 8.х (необходимо открыть порт 1541 для менеджера кластера, порты 1560-1591 для рабочих процессов и порт 1540 для агента сервера).
Некоторые программы и службы при работе через сетевые протоколы используют определенные порты для обмена данными. По умолчанию включенный брандмауэр Windows блокирует подобную сетевую активность. В частности, если попытаться подключиться с клиентской машины к серверу 1С:Предприятие 8.х можно натолкнуться на ошибку:
«Ошибка при выполнении операции с информационной базой (…). Ошибка сетевого доступа к серверу (…). Попытка установить соединение была безуспешной, т. к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера (…) »
Данная ошибка означает, что по указанному адресу не найден сервер «1С:Предприятия», ну или на сервере закрыт порт (в данном случае порт 1541).
Для открытия порта, заходим на компьютер, где установлен сервер «1С:Предприятия» (в моем примере это компьютер с адресом 10.192.128.15 и установленной на нем операционной системой Windows Server 2012 R2).
Запускаем брандмауэр Windows. Сделать это можно кликнув правой кнопкой мыши по «Пуск» (Start), затем «Панель управления» (Control Panel) — «Система и безопасность» (System and Security) — «Брандмауэр Windows» (Windows Firewall). Или же выполнив команду firewall.cpl (для этого необходимо нажать комбинацию клавиш Win + R, в окне «Отрыть» (Open) ввести имя команды и нажать «ОК» ) .
Далее нажимаем на «Дополнительные параметры» (Advanced Settings) в меню слева.
В открывшемся окне, в дереве слева откроем вкладку «Правила для входящих подключений» (Inbound Rules), а затем в меню «Действия» (Actions) выберем пункт «Создать правило…» (New Rule…).
Запустится «Мастер создания правила для нового входящего подключения» (New Inbound Rule Wizard). На первой странице выберем тип правила (Rule Type) «Для порта» (Port) и нажмем «Далее» (Next).
Затем необходимо указать протокол (в нашем примере это TCP) и, непосредственно, номер порта (Specific local ports), который открываем. После чего жмем «Далее» (Next).
Теперь укажем действие связанное с добавляемым правилом. Выберем «Разрешить подключение» (Allow the connection) и нажмем «Далее» (Next).
На следующей странице нужно указать, для каких профилей брандмауэра будет действовать правило. Отмечаем нужные профили галочками и жмем «Далее» (Next).
Ну и наконец, вводим имя и описание для нового правила и нажимаем «Готово» (Finish) для завершения работы мастера.
Пробуем снова подключиться к серверу «1С:Предприятия» и видим что ошибка сохранилось, но в сообщении уже другой, 1560-ый порт.
Вышеописанным способом добавим еще одно разрешающее правило, с названием «1С: Рабочие процессы» для всего диапазона портов с 1560 по 1591 (для рабочих процессов 1С), указав их через дефис на шаге «Протокол и порты» (Protocol and Ports).
Теперь, в оснастке «Брандмауэр Windows в режиме повышенной безопасности» (Windows Firewall with Advanced Security) в таблице «Правила для входящих подключений» (Inbound Rules) мы должны увидеть 2 только что созданных правила.
Ну а клиент «1С:Предприятия» должен без ошибок подключиться к серверу. Если же потребуется подключаться к этом серверу через консоль администрирования серверов «1С:Предприятия», то необходимо также открыть порт 1540.
Аналогичным образом добавляются правила для для исходящих подключений (Outbound Rules), запрещающие правила, правила для определенных программ и протоколов. Также любое правило можно изменить, открыв его свойства из данной оснастки.
Открытие порта в брандмауэре Windows
- В этой статье я расскажу о такой вещи, как открытие портов в Windows Server 2012 R2. Эта инструкция актуальна только для штатного брандмауэра Windows. Чаще всего его возможностей достаточно для повседневной работы сервера.
- Данные действия актуально делать только в том случае, если заказана услуга «Виртуальный сервер». Следует настроить на нём необходимые Вам порты. Для услуги ВДЦ лучше использовать функцию Firewall, доступную в vCloud Director, а также NAT.
- Для настройки брандмауэра в Linux воспользуйтесь ISP Manager Lite.
- Эти действия имеют смысл, если Вы планируете после этого включить брандмауэр и использовать его в качестве системы защиты сервера.
- Если Вы ошибётесь в настройках и потеряете доступ к серверу по RDP, то обратитесь к нему через виртуальную консоль.
Процесс открытия портов
Чтобы это сделать, выполните следующую последовательность шагов:
1. Откройте меню пуск и нажмите на квадрат Панель управления;
2. Выберите опцию просмотра «Крупные значки», чтобы проще было добраться до нужного меню;
3. Откройте «Брандмауэр Windows, а затем «Дополнительные параметры»;
4. Должно открыться окно «Брандмауэр Windows в режиме повышенной безопасности. В этом окне выберите в списке слева «Правила для входящих подключений».
5. Затем, в списке справа щёлкните на пункт «Создать правило», чтобы открыть «Мастер создания правила для нового входящего подключения».
6. На первом шаге этот мастер спросит Вас, правило какого типа Вы хотите создать. Выберите «Для порта» и нажмите кнопку «Далее».
7. На шаге «Протокол и порты» мастер спросит номер порта, который Вы хотите открыть, или диапазон этих портов. Необходимо ввести номер порта в поле «Определённые локальные порты». В случае, если Вам необходимо открыть более одного порта, то укажите их диапазон, используя знак дефиса, например, «27015-27019». Если нужен не диапазон портов, а несколько разных, то вместо дефиса поставьте запятую, например: «80,443». После этого нажмите кнопку «Далее».
8. На следующем шаге Вас спросят о действии, которое должно выполнятся для данного порта. Поскольку Вы открываете порт, то убедитесь, что выбран пункт «Разрешить подключение», после чего нажмите «Далее».
9. Далее, у Вас будет возможность выбрать профиль. Если Вы не вполне понимаете, что это такое, то оставьте все 3 пункта отмеченными флажками.
10. Затем введите имя создаваемого правило, такое, чтобы оно давало понять, для чего создано. Нажмите кнопку «Готово», после чего Вы увидите только что созданное правило должно в самом верху списка.
11. Чтобы отредактировать какое-либо правило, выделите его в списке, а затем нажмите справа пункт «Свойства».
Примечание
- Если у Вас установлена другая программа, выполняющая функции брандмауэра, то настраивайте открытие портов в ней, согласно прилагающейся к ней инструкции. Некоторые антивирусы также могут выполнять функции брандмауэра.
- Если брандмауэр установлен отдельно, то настройки открытия портов нужно делать в нём.
- Проверить результат можно на этом сайте, а также, обратившись со своего компьютера по порту, который открыли (если это TCP порт, то можно через Telnet). Лучше всего для этого воспользоваться программой Nmap.
Брандмауэр Microsoft Defender Firewall встроен во все современные версии Windows и Windows Server и позволяет настраивать правила фильтрации входящего и/или исходящего сетевого трафика на компьютере. Правила Windows Firewall можно настраивать локально на компьютере пользователя (с помощью консоли
wf.msc
, команды
netsh
или встроенного PowerShell модуля NetSecurity). На компьютерах Windows, которые добавлены в домен Active Directory вы можете централизованно управлять правилами и настройками Microsoft Defender Firewall с помощью групповых политик.
В крупных организациях правила фильтрации портов обычно выносятся на уровень маршрутизаторов, L3 коммутаторов или выделенных межсетевых экранах. Однако ничего не мешает вам распространить ваши правила ограничения сетевого доступа Windows Firewall к рабочим станциям или серверам Windows.
Содержание:
- Включить Windows Defender с помощью GPO
- Создать правила файервола Windows с помощью групповой политики
- Применить политики брандмауэра Microsoft Defender к компьютерам Windows
- Импорт и экспорт правил брандмауэра Windows в GPO
- Доменные и локальные правила Microsoft Defender
Включить Windows Defender с помощью GPO
Запустите консоль управления доменными групповыми политиками (Group Policy Management Console,
gpmc.msc
), создайте новую GPO с именем gpoFirewallDefault и перейдите в режим редактирования (Edit).
Чтобы пользователи (даже с правами локального админа) не могли выключить службу брандмауэра, желательно настроить автоматический запуск службы Windows Firewall через GPO. Для этого перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> System Services. Найдите в списке служб Windows Firewall и измените тип запуск службы на автоматический (Define this policy setting -> Service startup mode Automatic). Убедитесь, что у пользователей нет прав на остановку служб.
Затем перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Network -> Network Connections -> Windows Defender -> Firewall -> Domain Profile и включите политику Windows Defender Firewall: Protect all network connections.
Откройте свойства Windows Firewall with Advanced Security в разделе GPO Computer Configuration -> Windows Settings -> Security Settings.
На всех трех вкладках Domain Profile, Private Profile и Public Profile (что такое профиль сети в Windows) измените состояние Firewall state на On (recommended). В зависимости от политик безопасности в вашей организации вы можете указать, что все входящие подключения по умолчанию запрещены (Inbound connections -> Block), а исходящие разрешены (Outbound connections -> Allow). Сохраните изменения.
В целях отладки правил файервола вы можете включить запись логов Windows Defender в текстовый файл %systemroot%system32logfilesfirewallpfirewall.log (по умолчанию). Можно включить логирование отклоненных пакетов (Log dropped packets) или пакетов, который были разрешены правилами файервола (Log successfully connections). По-умолчанию логирование сетевых соединений в Windows отключено.
Создать правила файервола Windows с помощью групповой политики
Теперь рассмотрим, как создать правила файервола Microsoft Defender с помощью GPO. Для настройки правил, перейдите в раздел Computer Configuration -> Windows Settings -> Security Settings -> Windows Firewall with Advanced Security.
Интерфейс этого раздела напоминает локальную консоль управления брандмауэром Windows и состоит из трех секций:
- Inbound rules
- Outbound rules
- Connection security rules
Попробуем создать разрешающее входящее правило файервола. Например, мы хотим разрешить подключение к компьютерам по RDP (порт по умолчанию TCP 3389). Щелкните ПКМ по разделу Inbound Rules и выберите пункт меню New Rule. Запустится мастер создания нового правила брандмауэра.
Выберите тип правила. Можно разрешить доступ для:
- Программы (Program) – можно выбрать исполняемый exe программы;
- Порта (Port) – выбрать TCP/UDP порт или диапазон портов;
- Преднастроенное правило (Predefined) – выбрать одно из стандартных правил Windows, в которых уже имеются правила доступа (описаны как исполняемые файлы, так и порты) к типовым службам (например, AD, Http, DFS, BranchCache, удаленная перезагрузка, SNMP, KMS, WinRM и т.д.);
- Собственное правило (Custom) – здесь можно указать программу, протокол (другие протоколы помимо TCP и UDP, например, ICMP, GRE, L2TP, IGMP и т.д.), IP адреса клиентов или целые IP подсети.
В нашем случае мы выберем правило Port. В качестве протокола укажем TCP, в качестве порта – Specific local ports -> 3389.
Далее нужно выбрать что нужно сделать с таким сетевым подключением: разрешить (Allow the connection), разрешить если оно безопасное или заблокировать (Block the connection).
Осталось выбрать профили сети, для которых нужно применить это правило. Можно оставить все профили (Domain, Private и Public).
На последнем шаге нужно указать имя правило и его описание. Нажмите кнопку Finish и оно появится в списке правил брандмауэра.
В современных версиях Windows для трафика удаленного рабочего стола RDP также используется порт UDP 3389. Поэтому создайте второе правила Microsoft Defender и для этого порта.
Аналогичным образом вы можете настроить другие правила для входящего трафика, которые должны применятся к вашим клиентам Windows.
Вы можете создать правила как для входящего и исходящего трафика.
Выше мы рассмотрели, как использовать графический мастер для создания правил Windows Defender Firewall. Также вы можете сформировать список правил в простом текстовой форме и быстро создать правила для групповой политики Defender.
Перейдите в раздел Computer Configuration -> Policies -> Administrative Templates -> Network -> Network Connections -> Windows Defender Profile -> Domain Profile и откройте параметр Windows Defender Firewall: Define inbound port exceptions. Здесь вы можете создать список правил с помощью простых текстовых строчек.
Ниже представлен список правил, который я хочу добавить в групповую политику
3389:UDP:localsubnet:enabled:RDP_in_UDP_3389_GPO 445:TCP:localsubnet:enabled:SMB_445_TCP 443:TCP:192.168.100.10:enabled:HTTP_in_445_TCP
Нажмите кнопку Show и построчно скопируйте ваши правила в окно Define port exceptions.
Этот способ позволяет вам быстро создать большое количество входящих правил для файервола Windows.
Применить политики брандмауэра Microsoft Defender к компьютерам Windows
Теперь осталось назначить политику Firewall-Policy на OU (Organizational Unit) с компьютерами пользователей. Найдите в консоли Group Policy Management нужный OU, щелкните по нему правой кнопкой и выберите Link an Existing GPO. Выберите в списке вашу политику.
Важно. Прежде, чем применять политику файервола к OU с продуктивными компьютерами, настоятельно рекомендуется проверить ее на тестовых компьютерах. Из-за некорректной настройки брандмауэра вы можете полностью заблокировать сетевой доступ компьютерам. Для диагностики применения групповых политик используйте утилиту gpresult.exe.
Обновите настройки групповых политик на клиентах (
gpupdate /force
). Проверьте, что указанные вами порты открыты на компьютерах пользователей (можно использовать командлет Test-NetConnection или утилиту Portqry).
На компьютере пользователя откройте Панель управленияСистема и безопасностьБрандмауэр Защитника Windows и убедитесь, что появилась надпись: Для обеспечения безопасности, некоторые параметры управляются групповой политикой (For your security, some settings are controlled by Group Policy), и используются заданные вами настройки брандмаэера.
Пользователь теперь не может изменить настройки брандмауэра, а в списке Inbound Rules должны быть указаны все созданные вами правила. Обратите внимание, что по умолчанию новые правила из GPO добавляются к уже существующим локальным правилам файервола.
Также вы можете вывести текущие настройки Windows Defender с помощью команды:
netsh firewall show state
Или можно представить список правил в табличной форме с помощью скрипта PowerShell:
Get-NetFirewallRule -Action Allow -Enabled True -Direction Inbound |
Format-Table -Property Name,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled,Profile,Direction,Action
Импорт и экспорт правил брандмауэра Windows в GPO
Консоль Windows Defender Firewall позволяет экспортировать и импортировать текущие настройки файервола в текстовый файл. Вы можете настроить правила брандмауэра на эталонном компьютере и экспортировать их в консоль групповых политики.
Настройте нужные правила, замет встаньте на корень оснастки брандмауэра (Монитор Брандмауэра Защитника Windows в режиме повышенной безопасности) и выберите пункт Действие -> Экспорт политики
Политика выгружается в WFW файл, который можно импортировать в редакторе Group Policy Management Editor, выбрав пункт Import Policy и указав путь к файлу wfw (текущие настройки будут перезаписаны).
Доменные и локальные правила Microsoft Defender
В GPO вы можете настроить, хотите ли вы разрешить локальным администраторам создавать на своих компьютерах собственные правила брандмауэра и как эти правила должны объединяться с правилами, назначенными через GPO.
Откройте в GPO свойства политики (Windows Firewall Properties), выберите вкладку с профилем (Domain) и нажмите кнопку Customize.
Обратите внимание на настройки в разделе Rule merging. По умолчанию режим объединения правил включен. Вы можете принудительно указать, что локальный администратор может создавать собственные правила брандмауэра: в параметре Apply local firewall rules выберите Yes (default).
Совет. Блокирующие правила файервола имеют приоритет над разрешающими. Т.е. пользователь не сможет создать собственное разрешающее правило доступа, противоречащее запрещающему правилу, настроенному администратором через GPO. Однако пользователь может создать локальное запрещающее правило, даже если этот доступ разрешен администратором в политике.
Несколько советов об управлении брандмауэром Windows через GPO
- Создавайте отдельные политики с правилами брандмауэра для серверов и рабочих станций (для каждой группы одинаковых серверов возможно придется создать собственные политики в зависимости от их роли). Т.е. правила файервола для контроллера домена, почтового Exchange сервера, сервера с ролью Remote Desktop Services Host (RDSH) или Microsoft SQL Server будут отличаться;
- Для более точного нацеливания политики на клиентов можно использовать WMI фильтры GPO (например, вы можете привязать политику к хостам определенной IP подсети)
- Какие порты нужно открыть для той или иной службы нужно искать в документации на сайте разработчика. Процесс довольно кропотливый и на первый взгляд сложный. Но постепенно вполне реальной прийти к работоспособной конфигурации Windows файервола, который разрешает только одобренные подключения и блокирует все остальное. По опыту хочу отметить, что на ПО Microsoft можно довольно быстро найти список используемых TCP/UDP портов.
Насколько я могу судить по собственному опыту, системы Windows Server 2008 R2 и Windows Server 2008 — это первые версии Windows Server, обеспечивающие успешную работу сервера в корпоративной среде при включенном межсетевом экране. Ключевую роль в этом процессе играет оснастка Firewall with Advanced Security консоли Microsoft Management Console (MMC)
В наши дни модель безопасности целиком строится на концепции уровней безопасности. Если средства защиты вашей сети окажутся скомпрометированными, уровни безопасности могут, по меньшей мере, ограничить фронт атаки злоумышленников или ослабить удар. .
Профили брандмауэров
Пользователи системы Server 2008 R2 могут применять три различных профиля Windows Firewall. В каждый момент активным может быть только один из них.
- Профиль домена (Domain profile). Этот профиль активен в ситуации, когда сервер подключен к домену Active Directory (AD) по внутренней сети. Как правило, в активном состоянии бывает именно этот профиль, поскольку серверы по большей части являются членами домена AD.
- Частный профиль (Private profile). Этот профиль активен, когда сервер является членом рабочей группы. Для данного профиля специалисты Microsoft рекомендуют использовать настройки с более строгими ограничениями, чем для профиля домена.
- Общий профиль (Public profile). Этот профиль активен, когда сервер подключен к домену AD через общедоступную сеть. Microsoft рекомендует применять для него настройки с самыми строгими ограничениями.
Открыв оснастку Firewall with Advanced Security, вы можете увидеть, какой профиль брандмауэра активен в данный момент. Хотя специалисты Microsoft указывают на возможность применения различных настроек безопасности в зависимости от параметров профиля сетевого экрана, я обычно настраиваю брандмауэр так, как если бы внешнего сетевого экрана не было вовсе. При таких настройках, если какие-либо порты на внешних брандмауэрах случайно останутся открытыми, трафик будет заблокирован экраном Windows Firewall в Server 2008. Как и в предыдущих версиях продукта Windows Firewall, в версии Server 2008 R2 все входящие соединения блокируются, а все исходящие от сервера по умолчанию беспрепятственно функционируют (если только в данный момент не действует правило Deny).
В организации, где я работаю, используются описанные выше параметры, так что конфигурация наших брандмауэров напоминает среду общих профилей. Создавая некое правило, мы активируем его для всех трех профилей. Используя единообразную для всех трех доменных профилей конфигурацию сетевых экранов, мы устраняем угрозу возможного и нежелательного открытия портов в случае изменения профиля брандмауэра Windows Firewall.
IPsec и изоляция доменов
С помощью реализованного в Windows Firewall компонента IPsec администраторы могут осуществлять изоляцию доменов. Изоляция домена препятствует установлению соединения между не входящим в домен компьютером и системой, которая является членом домена. Администратор может настроить брандмауэр таким образом, чтобы при установлении связи между двумя членами домена весь трафик между двумя компьютерами шифровался средствами IPsec. Такая конфигурация может быть полезной в сети, где наряду со «своими» пользователями работают и гости, которым не следует предоставлять доступ к компьютерам, являющимся частью домена. Эту конфигурацию можно использовать в качестве альтернативы виртуальным локальным сетям Virtual LAN (VLAN) или как дополнение к ним. Более подробные сведения об изоляции доменов с помощью туннелей IPsec можно найти в подготовленной специалистами сайта Microsoft TechNet статье «Domain Isolation with Microsoft Windows Explained», опубликованной по адресу technet.microsoft.com/enus/library/cc770610(WS.10).aspx.
Не отключайте брандмауэр
Я рекомендую при первоначальной установке системы Server 2008 R2 не отключать брандмауэр. В наши дни почти все приложения достаточно «интеллектуальны», чтобы автоматически открывать нужный порт в сетевом экране в процессе установки (что снимает необходимость вручную открывать на сервере порты для приема запросов интернет-клиентов). Одно из оснований не отключать брандмауэр в ходе установки состоит в том, чтобы обеспечить защиту операционной системы до того, как вы получите возможность применить новейшие обновления.
Брандмауэр интегрирован с ролями и средствами диспетчера Server Manager. Когда на сервере добавляется роль или функция, брандмауэр автоматически открывает соответствующие порты для приема интернет-запросов. Система управления базами данных SQL Server по умолчанию использует порт TCP 1433. Поэтому администратор должен вручную создать правило для приема запросов, санкционирующее трафик для SQL Server через порт TCP 1433. Альтернативное решение — изменить настройки по умолчанию.
Создание правил для обработки входящего трафика
Если вы не будете отключать брандмауэр, вам, скорее всего, придется в тот или иной момент вручную создавать правило для приема запросов. Существует немало правил, созданных (но отключенных по умолчанию) для большого числа популярных приложений Windows.
Перед тем как приступать к созданию правила, удостоверьтесь, что правило, санкционирующее обработку интересующего вас трафика, пока не составлено. Если такое правило уже существует, вы можете просто активировать его и, возможно, изменить заданную по умолчанию область применения. Если же найти подходящее правило не удается, вы всегда можете создать его, что называется, с чистого листа.
В меню Start выберите пункт Administrative Tools, а затем щелкните на элементе Windows Firewall with Advanced Security. На экране появится окно оснастки Firewall with Advanced Security. Я покажу на примере, как создать правило, санкционирующее входящий трафик SQL Server через порт TCP 1433 с интерфейсного сервера Microsoft Office SharePoint Server.
Правой кнопкой мыши щелкните на пункте Inbound Rules и выберите элемент New Rule. Как показано на экране 1, в качестве типа правила (rule type) можно указать Program, Port, Predefined или Custom. Я обычно выбираю тип Custom, поскольку в этом случае система предлагает ввести область применения правила. Для продолжения нажмите кнопку Next.
|
Экран 1. Выбор типа для нового правила обработки входящего трафика |
В открывшемся диалоговом окне, показанном на экране 2, можно указать программы или службы, к которым будет применяться правило. В нашем примере я выбрал пункт All programs, так что трафик будет управляться в зависимости от номера порта.
|
Экран 2. Указание программы, к которой будет применяться новое правило обработки входящего трафика |
Затем, как видно на экране 3, я в качестве протокола указал TCP, а в раскрывающемся меню Local port выбрал пункт Specific Ports и указал порт 1433, по умолчанию применяющийся при работе с SQL Server. Поскольку удаленные порты относятся к категории динамических, я выбрал пункт All Ports.
|
Экран 3. Указание протокола и портов для нового правила обработки входящего трафика |
В диалоговом окне Scope, показанном на экране 4, я в качестве локального IP-адреса указал 192.168.1.11, а в качестве удаленного IP-адреса — 192.168.1.10 (это IP-адрес интерфейсного сервера SharePoint нашей организации). Я настоятельно рекомендую указывать диапазон для каждого правила — на тот случай, если данный сервер вдруг окажется открытым для доступа из нежелательных подсетей.
|
Экран 4. Определение локального и удаленного IP-адресов в области применения нового правила обработки входящего трафика |
В диалоговом окне Action на экране 5 я выбрал пункт Allow the connection, так как хотел разрешить входящий трафик для системы SQL Server. Можно использовать и другие настройки: разрешить трафик только в том случае, если данные зашифрованы и защищены средствами Ipsec, или вообще заблокировать соединение. Далее требуется указать профиль (профили), для которого будет применяться данное правило. Как показано на экране 6, я выбрал все профили (оптимальный метод). Затем я подобрал для правила описательное имя, указал разрешенную службу, область и порты, как показано на экране 7. И завершаем процесс создания нового правила для обработки входящего трафика нажатием кнопки Finish.
|
Экран 5. Указание действий, которые необходимо предпринять, если при соединении выполняется условие, заданное в новом правиле обработки входящего трафика |
|
Экран 6. Назначение профилей, к которым будет применяться новое правило обработки входящего трафика |
|
Экран 7. Именование нового правила обработки входящего трафика |
Создание правил для обработки исходящего трафика
Во всех трех профилях брандмауэра (то есть в доменном, открытом и частном) входящий трафик по умолчанию блокируется, а исходящий пропускается. Если воспользоваться настройками по умолчанию, вам не придется открывать порты для исходящего трафика. Можете прибегнуть к другому способу: заблокировать исходящий трафик (но тогда вам придется открыть порты, необходимые для пропускания исходящих данных).
Создание правил для обработки исходящего трафика аналогично созданию правил для входящего; разница лишь в том, что трафик идет в противоположном направлении. Если на сервер попал вирус, который пытается атаковать другие компьютеры через те или иные порты, вы можете заблокировать исходящий трафик через эти порты с помощью оснастки Firewall with Advanced Security.
Управление параметрами брандмауэра
Правила для брандмауэров создаются не только с помощью оснастки Firewall with Advanced Security. Для этой цели можно воспользоваться командами Netsh. Более подробную информацию об использовании этих команд для настройки Windows Firewall можно найти в статье «How to use the ‘netsh advfirewall firewall’ context instead of the ‘netsh firewall’ context to control Windows Firewall behavior in Windows Server 2008 and in Windows Vista» по адресу support.microsoft.com/kb/947709.
Кроме того, управлять параметрами брандмауэра можно с помощью групповой политики. Один из самых простых способов формирования правил для брандмауэров с помощью групповой политики состоит в следующем. Сначала нужно создать правило, используя оснастку Firewall with Advanced Security, затем экспортировать его и, наконец, импортировать правило в редактор Group Policy Management Editor. После этого вы можете передать его на соответствующие компьютеры. Более подробная информация о том, как управлять брандмауэром Windows Firewall с помощью групповых политик, приведена в статье «Best Practice: How to manage Windows Firewall settings using Group Policy», опубликованной по адресу http://bit.ly/aZ4 HaR.
Диагностика
Если при попытке подключиться к серверу у вас возникают трудности, попробуйте активировать процедуру регистрации; это позволит получить информацию о том, блокируются ли нужные вам порты. По умолчанию функция входа в систему через брандмауэр отключена. Для ее включения следует правой кнопкой мыши щелкнуть на оснастке Windows Firewall with Advanced Security и в открывшемся меню выбрать пункт Properties. Теперь в разделе Logging перейдите на вкладку Active Profile (Domain, Private, or Public) и выберите пункт Customize.
По умолчанию журнал регистрации брандмауэра располагается по адресу C:Windowssystem32Log FilesFirewallpfirewall.log. Выясняя причины неполадок в функционировании средств подключения, я, как правило, регистрирую только потерянные пакеты, как показано на экране 8; иначе журналы могут заполниться массой ненужных сведений об успешных соединениях. Откройте журнал в редакторе Notepad и выясните, происходит ли потеря пакетов при прохождении брандмауэра.
|
Экран 8. Активация журнала брандмауэра для доменного профиля |
Еще один совет из области диагностики: отключите брандмауэр; вероятно, после этого возможности соединения будут восстановлены. Если вам удалось восстановить соединение с отключенным сетевым экраном, откройте окно командной строки и введите команду Netstat -AN; таким образом вы сможете просмотреть детали соединения. Если приложение подключается по протоколу TCP, вы сможете определить порты приложения, просмотрев локальные и «чужие» IP-адреса с состоянием Established. Это особенно удобно в ситуациях, когда вы не знаете наверняка, какой порт (или порты) то или иное приложение использует для установления соединения.
Доступное по адресу technet.microsoft.com/en-us/sysinternals/bb897437 инструментальное средство TCPView из набора утилит Windows Sysinternals можно уподобить «усиленному» варианту Netstat. Это средство отображает детальную информацию о соединениях по протоколу TCP и может быть полезным при диагностике неполадок в средствах сетевого соединения.
Ваш помощник — сетевой экран
Системы Server 2008 R2 и Server 2008 — это первые версии Windows Server, допускающие возможность функционирования корпоративной среды без отключения сетевого экрана. Важно только не отключать брандмауэр при установке на сервере какой-либо программы. Таким образом вы сможете испытывать средства подключения сервера до их развертывания в производственной сети. Чтобы узнать, имеет ли место потеря пакетов при прохождении через сетевой экран, установите настройку Log dropped packets. Тем, кто решит активировать брандмауэр на сервере после того, как этот сервер в течение некоторого времени проработал в производственной сети, я рекомендую для начала поместить его в лабораторную среду и определить, какие порты необходимы для открытия брандмауэра.
Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET, SQL Server и сетевых технологиях
Тема безопасности сервера Windows не раз поднималась, в том числе и в этом блоге. Тем не менее мне хотелось бы еще раз освежить в памяти старые методы защиты и рассказать о малоизвестных новых. Разумеется, будем использовать по максимуму встроенные средства.
Итак, предположим, что у нас есть небольшая компания, которая арендует терминальный сервер в удаленном дата-центре.
При проектировании любой защиты следует начинать с модели угроз — от кого или чего, собственно, будем защищаться. В нашей типовой конфигурации я буду строить оборону от внешних злобных хакеров, от некомпетентных (а может, и немного злонамеренных) пользователей. Начнем с внешнего периметра обороны — фаервола.
За тобой как за огненной стеной
Во времена Windows 2003 встроенный фаервол представлял собой жалкое зрелище, и в случае невозможности применения сторонних средств приходилось использовать IPSec. Пример такой настройки разобран, например, в материале Secure Windows Servers using IPSec Firewall.
Сейчас, с появлением WFP (Windows Filtering Platform) дела стали получше. В принципе, с этим фаерволом так или иначе сталкивался, наверное, каждый системный администратор Windows, поэтому настройка удаленного доступа к серверу только с определенных IP не должна вызывать затруднений. Я обращу внимание на некоторые «фишки», которые используются редко.
По умолчанию фаервол блокирует все входящие соединения, кроме явно разрешенных, но исходящие разрешает все, кроме явно запрещенных. Политику эту можно изменить, открыв управление фаерволом через wf.msc и выбрав «Свойства».
Настройка фаервола.
Теперь, если мы захотим запретить пользователям терминального сервера выходить с этого сервера в интернет — у нас это получится.
Стоит отметить, что при настройке правил доступа к серверу (входящие подключения) явно создавать правила для исходящего трафика не нужно. В терминах iptables — established и related всегда разрешены.
Для ценителей командной строки настройку фаервола можно производить в контексте netsh advfirewall. Почитать про команды можно в материале «Брандмауэр Windows 7 в режиме повышенной безопасности», я же добавлю, что блокировка входящих и исходящих подключений включается командой:
netsh advfirewall set currentprofile firewallpolicy blockinbound,blockoutbound
Еще одной особенностью фаервола windows является то, что любая программа или настройка меняет его правила без уведомлений. Например, отключили вы все правила на нашем дедике, рядом появился второй, вы сделали между ними локальную сеть, настроили общий доступ и… внезапно у вас включается smb для всех и вся со всеми вытекающими последствиями.
Выхода, по сути, два с половиной (напомню, мы пока говорим только про встроенные средства): регулярно проверять, не изменились ли правила, и использовать старый добрый IPSec или — как по мне, самый разумный вариант — настраивать фаервол групповой политикой. Настройка производится в Конфигурация компьютера — Конфигурация Windows — Параметры Безопасности — Монитор брандмауэра Защитника Windows в режиме повышенной безопасности.
Настройка фаервола групповой политикой.
Также при помощи фаервола windows можно реализовать простой fail2ban. Достаточно включить аудит неудачных попыток входа и при нескольких неудачах подряд блокировать IP источника. Можно использовать самописные скрипты, а можно уже готовые средства, о которых я писал в статье «Как дать шифровальщикам потопить компанию».
Если же встроенного фаервола не хватает и хочется использовать что-то более серьезное, то можно установить стороннее ПО. Жаль, что большинство известных решений для Windows Server — платные. Другим вариантом будет поставить перед сервером роутер. Понятно, что такая установка подойдет, если мы используем colocation, а не аренду сервера где-то далеко-далеко за рубежом. Если же зарубежный дата-центр — это наш выбор, то можно использовать виртуализацию — например, встроенный Hyper-V — и установить в виртуалку привычный GNULinux или FreeBSD.
Возникает вопрос: как сделать так, чтоб виртуалка имела прямой выход в интернет, а сервер — нет? Да еще чтобы MAC-адрес сервера не светился хостеру и не требовал тем самым покупки еще одного IP-адреса.
Осторожно! Дальнейшие действия лучше проводить через IP-KVM!
Для этого виртуальную машину нужно снабдить двумя сетевыми адаптерами. Один — для непосредственного подключения к интернету, для него мы сделаем виртуальный коммутатор типа «внешний» и снимем галочку, разрешающую операционной системе взаимодействие с этим коммутатором. Этой самой галочкой мы лишим сервер прямого доступа в интернет (настройку виртуальной машины-фаервола лучше произвести заранее), и его MAC не будет светиться хостеру.
Настройка внешнего виртуального коммутатора.
Другой виртуальный коммутатор следует сделать типа «внутренний» для взаимодействия виртуальной машины и сервера. На нем уже нужно настроить локальную адресацию. Так получится создать виртуальный роутер, стоящий перед сервером и защищающий его.
Заодно на этой виртуальной машине можно настроить любимый VPN до офиса или удаленных сотрудников, не заморачиваясь с ролью «Маршрутизация и удаленный доступ» или со встроенным IPSec, как я рассказывал в статье «Как я базы 1С в Германии прятал». Главное, не забыть проверить автозапуск этой виртуальной машины при старте системы.
Подключаться к такому серверу можно при помощи обычного RDP или использовать HTML5 клиенты с двухфакторной аутентификацией. Стоит на случай брутфорса озаботиться и решениями fail2ban, и блокировкой учетной записи на некоторое время при нескольких неудачных попытках авторизации подряд.
Снаружи сервер мы более-менее защитили, перейдем к защите внутренней.
Защита внутренняя: остановить и не пущать
Конечно, для защиты сервера изнутри очень хочется поставить какой-нибудь антивирус — мало ли что пользователи сервера накопируют или накачают из интернета. Но на практике антивирус на сервере может принести больше вреда, чем пользы. Поэтому я обычно использую механизмы блокировки запуска ПО не из белого списка — в частности, механизм SRP (software restriction policies), о котором я тоже упоминал в статье «Как дать шифровальщикам потопить компанию».
Остановлюсь чуть подробнее на одном подводном камне, о котором часто забываем при включении SRP со стандартными настройками, когда блокируется все, кроме папок Windows и Program Files. Действительно, это отфильтровывает почти всех зловредов. Но не очень работает со злонамеренностью сотрудников, ведь в системных папках есть подпапки с правом на создание объектов пользователями. Например, можно посмотреть на папку C:WindowsTemp.
Разрешения на папку, которая попадет в белый список.
И такая папка не одна. Можно, конечно, проводить аудит системных папок самостоятельно, а можно довериться людям, которые это уже сделали. Например, специалист Stefan Kanthak в своем блоге (по ссылке есть тестовый вирус EICAR, антивирус может сработать) в довольно агрессивной манере проходится по антивирусам и методам защиты Windows и заодно предлагает уже собранный пакет настроек SRP, который будет блокировать и такие подозрительные папки. По запросу автор предоставляет и программу для конвертирования этих настроек реестра в файлы локальных политик.
Если вы предпочитаете использовать механизм AppLocker c более гибкими настройками, то вам может помочь решение AaronLocker.
Редакция не рекомендует использовать и устанавливать скрипты и прочие программы из интернета без предварительного их изучения.
Если AppLocker появился уже довольно давно, а возраст SRP перевалил за 15 лет, то относительно свежей альтернативой является WDAC (Windows Defender Application Control). Действительно, со времен Security Essentials встроенный «антивирус» обзавелся многими интересными возможностями. Например, WDAC — модуль, который отвечает за политики доступа к приложениям и библиотекам. Ранее он являлся частью Device Guard (защита компьютера, в том числе с применением технологий виртуализации), и немного про его настройку рассказывалось в материале «Принцип работы S Mode в Windows 10 и настройка Device Guard своими руками». Подробнее со всеми тонкостями можно ознакомиться в официальной документации, мне же остается добавить несколько минусов, отличающих его от классических решений вроде SRP и AppLocker:
- Графической настройки нет, все через командлеты PowerShell.
- Нет настроек в срезе пользователя, только для компьютера.
- Настройка делается довольно непривычно — подготавливается файл в формате xml, который затем приводится к бинарному, и распространяется по компьютерам.
Зато возможна настройка в срезе приложения: например, если вы хотите дать доступ к cmd.exe вашему скрипту, а не стороннему вирусу — это можно реализовать. Да еще и политику можно применить до загрузки системы, при помощи UEFI.
Блокировка хрома через WDAC.
В целом из-за тягостной настройки сложилось впечатление, что WDAC больше позиционируется не сам по себе для управления компьютерами, а как средство, позволяющее интегрироваться с централизованными MDM-системами вроде Microsoft Intune. Но при этом разработка старых добрых SRP прекращена в Windows 10 1803.
Если говорить про Защитник Windows, нельзя не упомянуть про Credential Guard и Remote Credential Guard.
Первое средство использует опять же виртуализацию, запуская компонент LSA (Local Security Authority) в изолированном от операционной системы процессе, что сильно усложняет процесс кражи хешей паролей и билетов Kerberos. Подробнее про технологию можно почитать в официальной документации. Для работы процессор должен поддерживать виртуализацию, а также в системе должна быть включена безопасная загрузка (Secure Boot) и модуль TPM для привязки учетных данных к оборудованию. Включить Credential Guard можно через групповую политику Конфигурация компьютера — Административные шаблоны — Система — Device Guard — Включить средство обеспечения безопасности на основе виртуализации.
Включение Credential Guard.
Второе средство служит для защиты передаваемых учетных данных (особенно админских!) для удаленного подключения, например, по тому же RDP. Ранее для этих целей предлагался механизм Restricted Admin Mode, но он ограничивал подключение только одним сервером. Подключившись к серверу, нельзя было просто так использовать ресурсы сети, права администратора применялись только к одному серверу а-ля системный аккаунт Local System.
Remote Credential Guard позволяет передавать учетные данные с локальной машины удаленному серверу без явного ввода пароля, что, помимо расширенной безопасности, даст и удобство подключения к серверам (SSO). Почитать подробнее можно в документации, ну а я добавлю, что для работы механизма достаточно включить его поддержку на сервере — например, через реестр командой:
reg add HKLMSYSTEMCurrentControlSetControlLsa /v DisableRestrictedAdmin /d 0
А потом подключаться к серверу командой:
mstsc.exe /remoteGuard
Теперь учетные данные в безопасности, а сервер достаточно защищен. Правда, в материале я осознанно не касался вопросов защиты от злонамеренного хостера, но тут все сводится в общем-то к одному — к шифрованию дисков.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Расскажите, а как вы защищаете свои удаленные серверы?
46.51%
Использую VPN и сплю спокойно.
40
27.91%
RDP на нестандартном порту, сложные пароли и блокировка учеток при брутфорсе
24
1.16%
Все перечисленное в статье мне знакомо и используется.
1
12.79%
Нет у меня никаких удаленных серверов: сбои интернета — помеха работе!
11
6.98%
Работаем на сбрученном дедике, зачем защита?
6
4.65%
Другое (расскажу в комментариях).
4
Проголосовали 86 пользователей.
Воздержался 21 пользователь.
Брандмауэр Windows в режиме повышенной безопасности – это брандмауэр, который работает на Windows Server 2012 и включен по умолчанию. Настройки брандмауэра в Windows Server 2012 управляются из консоли управления Microsoft брандмауэра Windows . Чтобы настроить параметры брандмауэра, выполните следующие действия:
Шаг 1. Нажмите «Диспетчер серверов» на панели задач → Откройте меню «Инструменты» и выберите «Брандмауэр Windows в режиме повышенной безопасности».
Шаг 2. Чтобы просмотреть текущие параметры конфигурации, выберите « Свойства брандмауэра Windows» в консоли MMC. Это позволяет получить доступ к изменению настроек для каждого из трех профилей брандмауэра, а именно: настройки домена, частного и общего доступа, а также настроек IPsec.
Шаг 3 – Применение пользовательских правил, который будет включать следующие два шага –
-
Выберите « Входящие правила» или « Исходящие правила» в разделе « Брандмауэр Windows в режиме повышенной безопасности» в левой части консоли управления. (Как вы знаете, исходящий трафик – это трафик, генерируемый сервером в Интернет, а входящий трафик – наоборот). Правила, которые в настоящее время включены, обозначены зеленым значком флажка, в то время как отключенные правила отображают серый значок флажка.
-
Правое нажатие на правило позволит вам включить / отключить.
Выберите « Входящие правила» или « Исходящие правила» в разделе « Брандмауэр Windows в режиме повышенной безопасности» в левой части консоли управления. (Как вы знаете, исходящий трафик – это трафик, генерируемый сервером в Интернет, а входящий трафик – наоборот). Правила, которые в настоящее время включены, обозначены зеленым значком флажка, в то время как отключенные правила отображают серый значок флажка.
Правое нажатие на правило позволит вам включить / отключить.
Как создать новое правило брандмауэра?
Чтобы создать новое правило брандмауэра, вы должны придерживаться следующих шагов –
Шаг 1 – С правой стороны либо Правил входящих, либо Правил исходящих – нажмите «Новое правило».
Шаг 2 – Пользовательский из радиальной кнопки Тип правила → нажмите Далее .
Шаг 3. Выберите ассоциацию программы для правила настраиваемого брандмауэра в качестве Все программы или путь к программе → нажмите Далее.
Шаг 4 – Поле типа протокола выберите тип протокола → нажмите Далее .
Шаг 5 – Выберите сопоставление IP-адресов для локальных и удаленных адресов → нажмите Далее .
Шаг 6 – Выберите действие, которое нужно выполнить для соответствующего трафика → нажмите Далее.
Шаг 7 – Выберите профили, связанные с пользовательским правилом → нажмите Далее .
Шаг 8. Введите имя для правила брандмауэра и необязательное описание → Готово .
Шаг 9 – Правило брандмауэра можно найти на соответствующей вкладке «Правило», входящее или исходящее в зависимости от созданного типа. Чтобы отключить или удалить правило, найдите правило в MMC, щелкните его правой кнопкой мыши и выберите « Отключить правило» или « Удалить» .