Я хочу создать службу типа Dropbox для удаленного доступа к моим файлам.
Скажем, я устанавливаю Linux-бокс, подключаю внешний жесткий диск, делюсь им через защищенный паролем ftp и использую службу dyndns, чтобы иметь возможность подключиться к моей сети.
Могу ли я поставить под угрозу безопасность других устройств в той же локальной сети (других компьютеров, подключенных к моему маршрутизатору)?
Я имею в виду, что гипотетически кто-то, кто взломал бы Linux-бокс, мог бы затем установить снифферы, а затем из Linux-бокса разбить другие мои ящики. Верный?
Стоит ли учитывать такой риск? Предвижу ли я другие последствия для безопасности?
Установка чего-либо создает потенциал для уязвимостей - например, если есть уязвимость в демоне dropbox (или любом другом протоколе, который вы используете для обмена файлами) или в любом другом программном обеспечении на вашем компьютере с Linux, ее можно будет использовать (как только она станет известна). Вам нужно будет оценить, насколько это риск для каждого компонента, который вы хотите использовать (например, установка актуального ванильного SSH-сервера в некоторой степени безопасна для такого использования домашнего сервера, о котором вы говорите, - учитывая другие меры предосторожности)
Из соображений безопасности: я бы не стал использовать FTP, это протокол с открытым текстом (который сам по себе может быть уязвимостью: ваш пароль и ваши файлы передаются по сети в открытом виде); Я бы пошел на SSH-сервер - дает вам доступ к оболочке и SFTP (безопасная передача файлов), оба зашифрованы; однако можно ограничить доступ только к SFTP без оболочки.
Кроме того, существуют различные вспомогательные службы, которые могут помочь против автоматизированных атак, например fail2ban
(блокирует подключение IP-адреса после нескольких неудачных попыток).
Применяются обычные другие соображения: не разрешайте удаленный доступ суперпользователя (root), не используйте слабые пароли (и, если возможно, не разрешайте аутентификацию по паролю вообще вместо этого используйте аутентификацию с открытым ключом и шифруйте закрытые ключи), регулярно обновляйте (или настраивайте автоматическое обновление) и т. д.
Кроме того, заблокируйте любой доступ к ящику, кроме того, что фактически используется (например, используя iptables
, запретить все, а затем разрешить только то, что необходимо) - это меньшая проблема для большинства установок Linux, поскольку по умолчанию открыто не так много служб, но все же стоит упомянуть.