Настройка безопасности для FTP сервиса на Server 2016

Продолжении заметки tips_server_2016_ftp_v1.odt

Здесь и сейчас я рассмотрю шаги по настройке защиты в пределах локальной сети к сервису FTP на Windows Server 2016 Std которые применяю лично Я. А использовать это уже решать ВАм, либо если у Вас есть свое видение, то просьба написать мне в Telegram@aka_ekzorchik или на почту: support@ekzorchik.ru

Шаг №1: Настроим ограничение с каких систем разрешено подключаться к данному FTP сервиса в пределах локальной сети:

Win + R → control.exe — Administrative Tools — через оснастку Internet Information Service (IIS) Manager — SRV-BACKUP (SRV-BACKUP\Administrator) — (FTP) FTP IP Address and Domain Restrictions

ограничение с каких систем разрешено подключаться к данному FTP сервиса

В правой части (Actions) нажимаю «Add Deny Entry...»

  • «Add Allow Entry» → кому разрешено подключаться, либо конкретным IP адресам, либо подсети
  • «Add Deny Entry» → кому запрещено подключаться, либо конкретным IP адресам, либо подсети.

Вот к пример настройка запрета на подключение для IP адреса 172.33.33.16

Пример запрета для указанного адреса

Пробую подключиться:

1234567891011ekzorchik@navy:~$ ftp ftp> open 172.33.33.30 Connected to 172.33.33.30. 421 Service not available, remote server has closed connection ftp> quit ekzorchik@navy:~$

Как видно сервис принудительно оборвал со мной связь и закрыл подключение. А просканировав сетевым сканером я вижу, что порт открыт и ожидает подключение к сервису:

123456789101112131415ekzorchik@navy:~$ sudo nmap 172.33.33.30 -p 21 Starting Nmap 7.60 ( https://nmap.org ) at 2019-04-05 22:16 MSK Nmap scan report for 172.33.33.30 Host is up (0.00074s latency). PORT STATE SERVICE 21/tcp open ftp MAC Address: 52:54:00:AD:49:D3 (QEMU virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.63 seconds

Отлично.

Шаг №2: Ограничим количество попыток между неправильными/ошибочными подключениями к FTP сервису:

Win + R → control.exe — Administrative Tools — через оснастку Internet Information Service (IIS) Manager — SRV-BACKUP (SRV-BACKUP\Administrator) — (FTP) FTP Logon Attempt Restrictions

Ограничим количество попыток подключения
  • Enable FTP Logon Attempt Restrictions: отмечаю галочкой
  • Maximum number of failed login attempts: выставляю значение, к примеру 3, т. е. Если три раза неправильно указали связку логин и пароль
  • Time period (in seconds): 900 (60 * 15 = 900 секунд, 15 минут)
  • Deny IP Addresses based on the number of failed login attemps: отмечаю

IP адрес нарушителя в случае неправильной авторизации будет заблокирован на 15 минут

Применяем настройку нажатием в правой части (Actions) Apply.

Шаг №3: Если вспомнить момент когда я разворачивал FTP сервис то при просмотре через консоль командной строки что порт открыт:

Win + X — Command Prompt (Admin)

12345C:\Windows\system32>netstat -a | findstr :21 TCP 0.0.0.0:21 srv-backup:0 LISTENING TCP [::]:21 srv-backup:0 LISTENING

видно, что сервис ожидает подключение на всех сетевых интерфейсах, а это не правильно — нужно чтобы он ожидал подключение только на своем единственном, а не вида 0.0.0.0:

Win + R → control.exe — Administrative Tools — через оснастку Internet Information Service (IIS) Manager — SRV-BACKUP (SRV-BACKUP\Administrator) — Sites — и через правый клик мышью на «FTP storage» выбираю «Edit Binding...», выделяю строку и нажимаю «Edit...» и привожу к виду:

  • Type: ftp
  • IP Address: 172.33.33.30 (IP адрес текущей системы)
  • Port: 21 (для безопасности можно также изменить порт на котором работает FTP сервис на отличный от дефолтного)
Указываем что сервис FTP работает на определенном сетевом адресе

и после нажимаю кнопку OK окна Edit Site Binding, после кнопку Close окна Site Binding

Шаг №4: Не лишним будет ограничить количество создаваемых соединений и другие параметры:

Win + R → control.exe — Administrative Tools — через оснастку Internet Information Service (IIS) Manager — SRV-BACKUP (SRV-BACKUP\Administrator) — Sites — и через правый клик мышью на «FTP storage» выбираю Manage FTP Site — Advanced Settings, развернуть настройки «Connections» & «File Handing»

  • Max Connections: 10000
  • Allow Replace on Rename: True

и после нажимаю кнопку OK окна Advanced Settings

Шаг №5: Не лишним будет уведомлять тех кто подключился к FTP сервису, что он соглашается что все его действия логируются и в случае чего данные его сессии могут быть переданы в правоохранительные органы.

Win + R → control.exe — Administrative Tools — через оснастку Internet Information Service (IIS) Manager — SRV-BACKUP (SRV-BACKUP\Administrator) — Sites — FTP storage — FTP Messages

Не лишним будет уведомлять тех кто подключился к FTP сервису

(Message Behavior)

  • Show detailed messages for local requests: отмечаю галочкой
  • Banner: Добро пожаловать. Учтите если вы задумали зло или хотите навредить сервису, то все Ваши действия логируются и в случае могут быть переданы в правоохранительные органы для расследования.

И после нажимаю (Actions) Apply

На заметку: Дабы у Всех сообщение отрабатывалось лучше писать на English языке иначе к примеру на Ubuntu системе будут отображаться символы вопроса.

Banner: Welcome. Take into account if you have conceived the evil or want to harm the service, then all your actions are logged and in the case can be transferred to law enforcement agencies for investigation.

Пример текста при подключении к FTP-сервису

Проверяю:

12345678910111213141516171819202122232425ekzorchik@navy:~$ ftp ftp> open 172.33.33.30 Connected to 172.33.33.30. 220-Microsoft FTP Service 220 Welcome. Take into account if you have conceived the evil or want to harm the service, then all your actions are logged and in the case can be transferred to law enforcement agencies for investigation. Name (172.33.33.30:ekzorchik): ftpuser1 331 Password required Password: 230 User logged in. Remote system type is Windows_NT. ftp> quit 221 Goodbye. ekzorchik@navy:~$

Шаг №6: По возможности не использовать голый FTP сервис, а использовать связку FTP + HTTPS

Шаг №7: Т.к. у оснастки IIS нет возможности ограничить размер FTP-ресурса, то следует установить на Windows Server 2016 роль File Service, а ней компонент FSRM

Win + R → control.exe — Administrative Tools — Server Manager — Add roles and features:

Server Roles: File and Storage Services и отметить галочкой компонент с именованием, как «File Server Resource Manager» и внутри него для каталога который является корнем для FTP сервиса настроить квоту.

Пока на этом у меня всё, выполнив все эти шаги Вы тем самым затрудните проникновение в Вашу систему кого бы то ни было. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.