Я создал несколько веб-сайтов, на которых для некоторых каталогов установлено разрешение 755, владелец установил «www-data», а группу - «www-data».
Это сделано для того, чтобы я мог предотвратить установку разрешения на 777 для этих каталогов и по-прежнему сделать их доступными для записи веб-сервером для таких вещей, как файлы кеша, загрузки пользователей и т. Д.
Теперь несколько файлов в этих каталогах были заражены вредоносным кодом javascript.
Что я думаю после некоторого исследования журнала, так это то, что хакер просканировал мой сервер и нашел файлы с этими точными разрешениями и местом, где можно редактировать эти файлы и вводить в них код.
Кажется, мой метод ОЧЕНЬ небезопасен, так как эти веб-сайты очень разные с точки зрения того, какие приложения работают на каждом веб-сайте. Это заставляет меня думать, что небезопасен не конкретный сценарий загрузки, а что-то большее, чем мои настройки разрешений.
Вы хоть представляете, как я защищаю эти каталоги, чтобы сервер мог в них писать, но предотвратить внедрение вредоносного кода javascript?
Установка владельца на www-data
сделайте каталоги и файлы доступными для записи вашему веб-серверу. Установите это право собственности только для каталогов, в которые веб-сервер должен писать. Настройте сервер так, чтобы он не запускал активный код из этих каталогов.
Инъекция, вероятно, исходит из активного кода, который вы запускаете в своей системе. Вы можете захотеть ограничить доступ к файлам javascript только для каталогов, в которые НЕ может записывать веб-сервер.
Запланируйте регулярное сканирование на наличие вредоносных программ для каталогов, в которые может записывать веб-сервер. Это должны быть только каталоги кеширования и загрузки.
Ваша проблема, скорее всего, не на уровне файловой системы.
Если вы думаете, что хакер взломал сервер, а затем отредактировал некоторые файлы, вы должны заблокировать доступ хакеров к машине, а не просто запретить ей редактировать определенные файлы.
Вероятно, виновато ваше веб-приложение. Есть много интересного, что можно почитать на BadwareBusters.org.
Без дополнительной информации я не могу сказать наверняка, но если вы хотите, чтобы ваш веб-сервер мог писать в эти каталоги, и вы изменили владельца на www-data
(Я предполагаю, что это пользователь, использующий apache), 700
будет достаточно, так как пользователь уже является владельцем, и это более безопасно.
Но все же, если вредоносная программа пришла из небезопасный сценарий загрузки running (который будет работать с этим пользователем), эта мера не поможет, и вам все равно придется исправить скрипт.
Также вы должны просмотреть свой файл конфигурации php (обычно php.ini
) и вашей конфигурации apache и настройте их для большей безопасности.
Надеюсь это поможет. Удачи.