none
Блоировка доступа к серверу RRS feed

  • Вопрос

  • Други ,есть необходимость блокировать доступ к файловому серверу с 20.00 до 8.00. Не подскажите, как это можно релизовать.

    Система Windows 2012

    26 июня 2013 г. 10:30

Ответы

  • сначала создаем правило командой 
    New-NetFirewallRule -DisplayName "Block Inbound SMB traffic" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
    Ну или проще - используйте готовое правило:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled False
    и включение обратно:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled True

    • Помечено в качестве ответа chellout 24 июля 2013 г. 5:30
    26 июня 2013 г. 11:15
    Модератор

Все ответы

  • Как вариант шелдулером запускать павершелл-скрипт в котором будет блокироватся/разблокироваться правило по запрещению SMB-порта (445/tcp).
    26 июня 2013 г. 10:43
  • Как вариант шелдулером запускать павершелл-скрипт в котором будет блокироватся/разблокироваться правило по запрещению SMB-порта (445/tcp).
    Вариант кстати весьма изящный - единственное, лучше протестировать - будут ли после отключения правила рубиться уже установленные соединения.
    26 июня 2013 г. 10:47
    Модератор
  • Как вариант шелдулером запускать павершелл-скрипт в котором будет блокироватся/разблокироваться правило по запрещению SMB-порта (445/tcp).

    Спасибо....не силен в шеле, не подскажите синтаксис?(
    26 июня 2013 г. 11:03
  • Как вариант шелдулером запускать павершелл-скрипт в котором будет блокироватся/разблокироваться правило по запрещению SMB-порта (445/tcp).
    Вариант кстати весьма изящный - единственное, лучше протестировать - будут ли после отключения правила рубиться уже установленные соединения.

    Не могли бы вы првести такую команду для шела?)
    26 июня 2013 г. 11:04
  • Как вариант шелдулером запускать павершелл-скрипт в котором будет блокироватся/разблокироваться правило по запрещению SMB-порта (445/tcp).

    Вариант кстати весьма изящный - единственное, лучше протестировать - будут ли после отключения правила рубиться уже установленные соединения.

    Скорее всего будут. Сессия просто отвалится по таймауту.

    Пример скрипта такой:

    сначала создаем правило командой 

    New-NetFirewallRule -DisplayName "Block Inbound SMB traffic" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block

    А сам скрипт будет выглядеть так:

    Param ([bool]$EnableRule = $false,[string]$RuleName = "Block Inbound SMB traffic") #управляющий параметр -EnableRule, по-умолчанию false; параметр -RuleName с именем правила которое создали ранее
    
    if (Get-NetFirewallRule -DisplayName $RuleName -ErrorAction Ignore) 
    {#если правило существует
        if($EnableRule)
        {#включаем
            Enable-NetFirewallRule -DisplayName $RuleName
        }
        else
        {#или выключаем
            Disable-NetFirewallRule -DisplayName $RuleName
        }
    }
    else
    {#выводим сообщение об ошибке
        Write-Host "Правило не существует"
    }

    Ну и создаем 2 правила в шелдулере вида ScriptName.ps1 -Enable $false и ScriptName.ps1 -Enable $true

    P.S. Скрипт накидал на глазок, по необходимости поправить, отладить (нужное подчеркнуть). ;-)

    26 июня 2013 г. 11:11
  • сначала создаем правило командой 
    New-NetFirewallRule -DisplayName "Block Inbound SMB traffic" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
    Ну или проще - используйте готовое правило:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled False
    и включение обратно:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled True

    • Помечено в качестве ответа chellout 24 июля 2013 г. 5:30
    26 июня 2013 г. 11:15
    Модератор
  • сначала создаем правило командой 
    New-NetFirewallRule -DisplayName "Block Inbound SMB traffic" -Direction Inbound -LocalPort 445 -Protocol TCP -Action Block
    Ну или проще - используйте готовое правило:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled False
    и включение обратно:
    Get-NetFirewallRule -DisplayName "File and Printer Sharing (SMB-In)" | Set-NetFirewallRule -Enabled True


    Я так понял это будет два скрипта с разширением ps1, которые будут по шедулеру запускаться в разное время?
    26 июня 2013 г. 11:31
  • Я так понял это будет два скрипта с разширением ps1, которые будут по шедулеру запускаться в разное время?
    Да, командная строка для запуска:
    powershell.exe -file "<путь к скрипту>"
    26 июня 2013 г. 11:34
    Модератор
  • Я так понял это будет два скрипта с разширением ps1, которые будут по шедулеру запускаться в разное время?
    Да, командная строка для запуска:
    powershell.exe -file "<путь к скрипту>"

    т.е. в шедулере в пункте Программа или сценарий указываю первый скрипт для первого задания: powershell.exe -file "C:\Sripts\True 445"

    и вотрой для второго: powershell.exe -file "C:\Sripts\False 445" ?

    26 июня 2013 г. 11:49
  • т.е. в шедулере в пункте Программа или сценарий указываю первый скрипт для первого задания: powershell.exe -file "C:\Sripts\True 445"

    и вотрой для второго: powershell.exe -file "C:\Sripts\False 445" ?

    ну .ps1 то уж добавьте хотя бы к именам файлов :) в целом так - планировщик предложит параметры перенести в отдельное поле, соглашайтесь
    26 июня 2013 г. 11:51
    Модератор
  • т.е. в шедулере в пункте Программа или сценарий указываю первый скрипт для первого задания: powershell.exe -file "C:\Sripts\True 445"

    и вотрой для второго: powershell.exe -file "C:\Sripts\False 445" ?

    ну .ps1 то уж добавьте хотя бы к именам файлов :) в целом так - планировщик предложит параметры перенести в отдельное поле, соглашайтесь

    нет, конечно же ps1  в конце)))
    26 июня 2013 г. 11:53
  • Правило включаются и выключаются, НО доступ почему то не пропадает, по прежнему можно зайти в папке на сервере(((
    27 июня 2013 г. 3:20
  • Проще и эффективнее в скрипте CMD делать stop/start службе SERVER.

    Сергей Панченко

    27 июня 2013 г. 3:23
    Отвечающий
  • Проще и эффективнее в скрипте CMD делать stop/start службе SERVER.

    Сергей Панченко


    Да, спасибо.Ваш вариант проще, НО сегодня, как оказалось необходимо, что бы доступ был закрыт только для определенных филиалов и не был закрыт полность для всех((((
    27 июня 2013 г. 8:20
  • Проще и эффективнее в скрипте CMD делать stop/start службе SERVER.

    Сергей Панченко


    Да, спасибо.Ваш вариант проще, НО сегодня, как оказалось необходимо, что бы доступ был закрыт только для определенных филиалов и не был закрыт полность для всех((((

    Решил попробовать так: Создал правило на брэндмауэре, запрещающее подключение по 445, 137-139 порту. В области действия, указал список филиальных сетей.

    Указал в скрипте это правило и в шедулер его поместил. Вроди бы даже рабоатет, пока на тесте...


    27 июня 2013 г. 9:44
  • Отрезать доступ к файловому сервису с помощью БрандМауэра - это не совсем хорошее решение. Главная проблема в том, что если у пользователя был открыт файл и пользователь в него что-то писАл, то отрубив его посредством БрандМауэра Вы можете испортить ему файл. Напрочь испортить. Так, что он его больше в своём приложении не откроет никогда. А если этим файлом пользуется не только этот пользователь?...

    Сергей Панченко

    27 июня 2013 г. 10:08
    Отвечающий
  • Отрезать доступ к файловому сервису с помощью БрандМауэра - это не совсем хорошее решение. Главная проблема в том, что если у пользователя был открыт файл и пользователь в него что-то писАл, то отрубив его посредством БрандМауэра Вы можете испортить ему файл. Напрочь испортить. Так, что он его больше в своём приложении не откроет никогда. А если этим файлом пользуется не только этот пользователь?...

    Сергей Панченко


    Так какие тогда варианты? Я не знаю как можно отрубить доступ с фильтрацией сетей(((
    27 июня 2013 г. 10:40
  • Так какие тогда варианты? Я не знаю как можно отрубить доступ с фильтрацией сетей(((
    Например, пользователей в филиалах разделить на группы: Branch01, Branch02 и т.д. А потом, в нужный момент, скриптом отбирать или давать этой группе право на запись/чтение шары (?) или папки (iacls).

    Сергей Панченко

    27 июня 2013 г. 10:45
    Отвечающий
  • Так какие тогда варианты? Я не знаю как можно отрубить доступ с фильтрацией сетей(((
    Например, пользователей в филиалах разделить на группы: Branch01, Branch02 и т.д. А потом, в нужный момент, скриптом отбирать или давать этой группе право на запись/чтение шары (?) или папки (iacls).

    Сергей Панченко

    Незадача...Их больше 2000(((

    А не подскажите, какой скрипт может давать и заберать такие прова?)

    27 июня 2013 г. 10:52
  • А не подскажите, какой скрипт может давать и заберать такие прова?)
    Права на шару удалять/добавлять можно через net share.

    Права на папку/файл можно удалять/добавлять через icacls.

    Сергей Панченко

    27 июня 2013 г. 11:36
    Отвечающий