Тонкая настройка брандмауэра Windows через командную строку
Многие используют ОС Windows в качестве настольной системы, но понятия не имеют насколько мощным и удобным является встроеный в нее сетевой экран. При грамотной настройке даже если какой-нибудь зловред и попадет на твой ПК, он не сможет ничего отправить в сеть не изменяя настроек firewall, ведь сетевой экран заблокирует все, что не прописано в правилах.
Несколько примеров как можно использовать его во-благо своей безопасности (не безопасности ОС, а именно своей личной).
Первое что нужно сделать – перевести брандмауэр в режим блокировки. В этом режиме сетевой экран будет останавливать весь трафик, который не прописан в правилах как разрешенный.
Выполняем эту (и далее) команду в консоли, запущеной с привилегиями Администратора (Run As Administrator).
netsh advfirewall set allprofiles firewallpolicy blockinbound,blockoutbound
Далее разрешим ОС авторизацию в сервисах MS, правило разрешающее исходящие коннекты для AuthHost.exe
netsh advfirewall firewall add rule name="AuthHost" dir=out action=allow Program="%SystemRoot%\System32\AuthHost.exe"
Если нужно разрешим работу с сетью сервисам самой ОС, таким как обновление системы например, исходящий трафик для svchost.exe
netsh advfirewall firewall add rule name="Services (svchost)" dir=out action=allow Program="%SystemRoot%\System32\svchost.exe"
Давайте разрешим Net Bios, исходящий ICMP (ping), NSLookup
netsh advfirewall firewall add rule name="NetBios Discovery allow TCP" protocol="TCP" dir=in action=allow localport="139,445,3702,49179,5357,5358" netsh advfirewall firewall add rule name="NetBios Discovery allow UDP" protocol="UDP" dir=in action=allow localport="139,445,1124,3702,5355" netsh advfirewall firewall add rule name="NetBios Discovery allow TCP" protocol="TCP" dir=out action=allow localport="139,445,3702,49179,5357,5358" netsh advfirewall firewall add rule name="NetBios Discovery allow UDP" protocol="UDP" dir=out action=allow localport="139,445,1124,3702,5355" netsh advfirewall firewall add rule name="Windows ICMP" dir=out action=allow protocol=ICMPv4 netsh advfirewall firewall add rule name="Windows NSlookup" dir=out action=allow Program="%SystemRoot%\System32\nslookup.exe"
Вот это правило разрешит ОС проверку работает ли интернет, да, в конце 21 года Window все еще проверяет наличие интренета путем скачивания txt файла с этого хоста. Разрешаем…
netsh advfirewall firewall add rule name="Network Identifier (svchost)" dir=out action=allow Program="%SystemRoot%\System32\svchost.exe" remoteip=13.107.4.52
Так же разрешим работу тайм служб и протокола для синхронизации времени:
netsh advfirewall firewall add rule name="Windows Time Sync" dir=out action=allow protocol=UDP localport=123 Service="W32Time"
Разрешим исходящий SSH и VPN
netsh advfirewall firewall add rule name="Windows SSH" dir=out action=allow protocol=TCP remoteport=22 Program="%SystemRoot%\System32\OpenSSH\ssh.exe" netsh advfirewall firewall add rule name="VPN Outbound Connect GRE47" dir=out action=allow protocol=47 netsh advfirewall firewall add rule name="VPN Outbound Connect TCP 1723" protocol="TCP" dir=out action=allow remoteport=1723
Глядя на эти команды внимательный человек уже понял примерный синтаксис, где протокол, где порт, где направление. И уже вполне может составлять подобные команды сам.
Осталось прописать весь личный софт с сетевой активностью в разрешающие правила и жить относительно спокойно.
Ну и самое интересное:
Правило, которое блокирует весь трафик идущий не по ВПН.
Если вы используйте ВПН – оно вам очень пригодится, ведь в случае дисконнета ВПН ОС моментально переделывает роуты и трафик начинает ломиться напрямую, что моментально компрометирует юзера.
netsh advfirewall firewall add rule name="Block Direct Connections" dir=out action=block protocol=TCP remoteport=1-1722,1724-65535 localip=10.11.12.1
где 10.11.12.1 это ваш локальный ip во внутренней сети.
Правило блокирует весь трафик, в котором исходящий IP ваш сетевой и порт отличный от 1723, при этом ВПН соединение подключается и работает, и трафик через него тоже.
В случае дисконнекта связи не будет, но трафик не пойдет напрямую.
Все эти правила можно создать и через интерфейс, так же их можно активировать и дизактивировать кнопочками.
Но командной строкой ведь лучше, правда? Можно один раз составить .bat файл и применять его в полтора клика.
Полезным будет изучить и отключить лишние правила самой ОС, которые созданы в конфигурации экрана по умолчанию.
че то собрал я батник из этих команд, запустил, интернет пропал…