Настройка безопасности для 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
В правой части (Actions
) нажимаю «Add Deny Entry...
»
«Add Allow Entry» → кому разрешено подключаться, либо конкретным IP адресам, либо подсети
«Add Deny Entry» → кому запрещено подключаться, либо конкретным IP адресам, либо подсети.
Вот к пример настройка запрета на подключение для IP
адреса 172.33.33.16
Пробую подключиться:
1234567891011 | ekzorchik@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:~$ |
Как видно сервис принудительно оборвал со мной связь и закрыл подключение. А просканировав сетевым сканером я вижу, что порт открыт и ожидает подключение к сервису:
123456789101112131415 | ekzorchik@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)
12345 | C:\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
сервис на отличный от дефолтного)
и после нажимаю кнопку 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
(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.
Проверяю:
12345678910111213141516171819202122232425 | ekzorchik@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.