Мне было интересно, потому что мне нужно, чтобы мой порт 21 был открыт на моем маршрутизаторе и мой брандмауэр, чтобы он работал, но тогда кажется, что он широко открыт для атаки. Есть ли способ сохранить его в безопасности? К счастью, на моем маршрутизаторе у меня открыт порт 21 только для компьютера, на котором установлен ftp-сервер, поэтому он не ставит под угрозу всю мою сеть, а только ftp-сервер. У меня Windows XP, так что меня это беспокоит еще больше, потому что я уверен, что для XP больше атак.
3 ответа
FTP представляет собой угрозу безопасности, поскольку он передает информацию о входе в систему (включая пароли) в виде обычного текста / текста, поэтому вам нужно обернуть его в шифровании. Если вам нужно использовать FTP специально, тогда OpenVPN может очень хорошо обернуть его в полностью зашифрованный поток:
OpenVPN (бесплатный и открытый исходный код)
http://www.openvpn.net/index.php/open-source.html
Ваш сервер и все клиенты, которым нужно использовать ваш FTP-сервер, должны будут иметь установленный OpenVPN.
Конечно, вам может быть проще использовать одну из более безопасных версий FTP, известную как SFTP или FTPS, поскольку многие FTP-клиенты имеют встроенную поддержку для этого. Одним из действительно хороших является FileZilla, который поставляет полные и независимые клиентские и серверные приложения и соответствует соответствующим RFC:
FileZilla (бесплатный и открытый исходный код)
http://www.filezilla-project.org/
Есть множество решений этой проблемы, с различными уровнями сложности и удобства.
- Безопасные пароли на доступных аккаунтах. Если вы используете надежные пароли, есть вероятность, что люди не смогут войти, если не будет какой-то другой уязвимости.
- Разрешить доступ по FTP только с определенных IP-адресов. Если вы знаете, что будете получать доступ к своей машине только из определенных мест, просто разрешите этим подключаться и блокировать все остальные.
- В системах Linux есть что-то под названием DenyHosts, которое блокирует IP-адреса, которые, по-видимому, злонамеренно действуют на вашу машину.
- Knocking позволяет получить доступ к порту только после серии попыток подключения к заранее определенному набору портов. Например, попробуйте подключиться к портам 20, 35, 16 и 1, тогда порт 21 будет открыт. Я не уверен, если есть реализация этого для Windows, хотя ...
Удачи!
FTP фактически требует двух портов, 21 - основной порт управления, а 20 - для передачи данных.
FTP - это странный протокол, он был создан очень рано в дни Интернета, до того, как задумывались о брандмауэрах и безопасности. Как таковой, как задумано, это отстой для брандмауэра.
Ftp-сервер прослушивает порт 21 для соединений от клиента. Но данные идут через другой порт. В «классическом» ftp сервер открывает соединение от порта 20 на сервере к некоторому эфемерному порту на клиенте. В настоящее время вы не можете этого сделать, соединение сервера с сервером будет заблокировано брандмауэром или недоступно из-за клиентского NAT.
В пассивном FTP сервер создает новый прослушивающий сокет на каком-либо порту для подключения клиента. Теперь вы пытаетесь настроить брандмауэр на некоторые динамически меняющиеся порты.
Это, и, как другие упоминали, что пароль в открытом тексте, я настоятельно рекомендую http/https. Это намного чище, если вам не нужен ftp. В этом случае я бы положил только то, что мне было бы удобно с анонимным ftp.