Restrict * .exe или любой другой исполняемый файл, который будет загружен на ftp-учетную запись на сервере vsftpd

У меня была эта проблема. Решение состоит в том, чтобы перейти в синаптический и удалить пакет xserver-xorg-video-nouveau. Сделайте свое обновление как обычно, тогда, если вам нужно xserver-xorg-video-nouveau, переустановите его. Кажется, что это требуется для графических карт nvidia, хотя я не знаю, почему это было в моей системе, поскольку у меня есть карта Radeon? Я оставил его, и моя система работает нормально. Эта проблема - 718321 в Launchpad.

1
задан 7 July 2017 в 01:16

2 ответа

Возможно, вы захотите просмотреть раздел man vsftpd.conf, в частности раздел файла запрета параметров строки, который указывает.

deny_file

Эта опция может использоваться для установки шаблона для имен файлов (и имен каталогов и т. д.), которые не должны быть доступны каким-либо образом. Поврежденные элементы не скрыты, но любая попытка сделать им что-либо (загрузка, изменение в каталог, влияние на что-то внутри каталога и т. Д.) Будет отклоняться. Этот параметр очень прост и не должен использоваться для серьезного контроля доступа - предпочтения файловой системы должны использоваться в предпочтении. Однако этот параметр может быть полезен в некоторых настройках виртуальных пользователей. В частности, известно, что если имя файла доступно множеством имен (возможно, из-за символических ссылок или жестких ссылок), необходимо позаботиться о том, чтобы запретить доступ ко всем именам. Доступ будет отклонен элементам, если их имя содержит строку, заданную с помощью файла hide_file, или если они соответствуют регулярному выражению, указанному hide_file. Обратите внимание, что код соответствия регулярного выражения vsftpd является простой реализацией, которая является подмножеством полной функциональности регулярных выражений. Из-за этого вам необходимо тщательно и исчерпывающе проверить любое применение этой опции. И вам рекомендуется использовать разрешения файловой системы для любых важных политик безопасности из-за их большей надежности. Поддерживаемый синтаксис regex - любое число *,? и неназванные {,} операторы. Согласование регулярных выражений поддерживается только на последнем компоненте пути, например. а / б /? поддерживается, но a /? / c не является. Example: deny_file={*.exe,*.sh,.private}

Я не тестировал, что это явно запретит загрузку файлов .exe, однако предполагается, что люди загружают их, чтобы другие могли их загрузить. Когда это перестанет работать, возможно, активность их загрузки также прекратится. Как было предложено в этом комментарии, вы также можете написать сценарий для восстановления места в каталоге загрузки через rm /youruploaddir/*.exe, где / youruploaddir / - это каталог, в который ваши пользователи загружают и использует cron, чтобы запланировать его запуск в определенное время или частоту .

Поскольку расширение файла никоим образом не гарантирует содержимое, указанное в @CharlesGreen в в этом комментарии , вы можете рассмотреть вариант этого сценария, который я разработал, чтобы найти практически все видеофайлы на моя система. Вы можете легко изменить его, чтобы включить контейнеры .mxf (Material Exchange Format). Или в качестве альтернативы просто определите фактические .exe-файлы, используя grep, чтобы соответствовать «исполняемому» в выводе из file

Исполнение исполняемого файла Пример:

file *.* | grep "executable"| cut -d':' -f1

Будет распечатывать имена файлов в текущем каталоге, которые фактически исполняемы (например, файлы Windows .exe)

Примечание. Файлы могут исполняться только в вашей системе, если у вас есть разрешений, разрешенных для этого. Подробнее см. [D11] этот скрипт .

1
ответ дан 18 July 2018 в 10:37

Возможно, вы захотите просмотреть раздел man vsftpd.conf, в частности раздел файла запрета параметров строки, который указывает.

deny_file

Эта опция может использоваться для установки шаблона для имен файлов (и имен каталогов и т. д.), которые не должны быть доступны каким-либо образом. Поврежденные элементы не скрыты, но любая попытка сделать им что-либо (загрузка, изменение в каталог, влияние на что-то внутри каталога и т. Д.) Будет отклоняться. Этот параметр очень прост и не должен использоваться для серьезного контроля доступа - предпочтения файловой системы должны использоваться в предпочтении. Однако этот параметр может быть полезен в некоторых настройках виртуальных пользователей. В частности, известно, что если имя файла доступно множеством имен (возможно, из-за символических ссылок или жестких ссылок), необходимо позаботиться о том, чтобы запретить доступ ко всем именам. Доступ будет отклонен элементам, если их имя содержит строку, заданную с помощью файла hide_file, или если они соответствуют регулярному выражению, указанному hide_file. Обратите внимание, что код соответствия регулярного выражения vsftpd является простой реализацией, которая является подмножеством полной функциональности регулярных выражений. Из-за этого вам необходимо тщательно и исчерпывающе проверить любое применение этой опции. И вам рекомендуется использовать разрешения файловой системы для любых важных политик безопасности из-за их большей надежности. Поддерживаемый синтаксис regex - любое число *,? и неназванные {,} операторы. Согласование регулярных выражений поддерживается только на последнем компоненте пути, например. а / б /? поддерживается, но a /? / c не является. Example: deny_file={*.exe,*.sh,.private}

Я не тестировал, что это явно запретит загрузку файлов .exe, однако предполагается, что люди загружают их, чтобы другие могли их загрузить. Когда это перестанет работать, возможно, активность их загрузки также прекратится. Как было предложено в этом комментарии, вы также можете написать сценарий для восстановления места в каталоге загрузки через rm /youruploaddir/*.exe, где / youruploaddir / - это каталог, в который ваши пользователи загружают и использует cron, чтобы запланировать его запуск в определенное время или частоту .

Поскольку расширение файла никоим образом не гарантирует содержимое, указанное в @CharlesGreen в в этом комментарии , вы можете рассмотреть вариант этого сценария, который я разработал, чтобы найти практически все видеофайлы на моя система. Вы можете легко изменить его, чтобы включить контейнеры .mxf (Material Exchange Format). Или в качестве альтернативы просто определите фактические .exe-файлы, используя grep, чтобы соответствовать «исполняемому» в выводе из file

Исполнение исполняемого файла Пример:

file *.* | grep "executable"| cut -d':' -f1

Будет распечатывать имена файлов в текущем каталоге, которые фактически исполняемы (например, файлы Windows .exe)

Примечание. Файлы могут исполняться только в вашей системе, если у вас есть разрешений, разрешенных для этого. Подробнее см. [D11] этот скрипт .

1
ответ дан 24 July 2018 в 19:37
  • 1
    Я рассмотрю этот файл conf и попытаюсь управлять им, а также изучить вариант скрипта. благодаря – kunal 7 July 2017 в 10:37

Другие вопросы по тегам:

Похожие вопросы: