Назад | Перейти на главную страницу

Ubuntu - Кто-то может писать на сервере ubuntu / apache

Кто-то пытается взломать мой сайт, у меня есть сайт, построенный на PHP (7) / MySQL в рамках Laravel. Владелец / var / www - www-data, а разрешение папки установлено на 700 для всех папок, а права доступа к файлам установлены на 600. Тем не менее, хакер может изменять содержимое index.php, а также он может удалить несколько файлов PHP. Сервер - Ubuntu 17.04, а веб-сервер - Apache.

Мне нужны немедленные инструкции о том, как он может записывать файлы в папку с разрешением 700. Я был бы очень признателен за вашу помощь и руководство. Пожалуйста, дайте мне знать, если вам нужны более подробные сведения, чтобы разобраться в проблеме.

Если ваш сервер apache работает как пользователь, отличный от www-data заменить www-data с этим пользователем ниже.

Владелец должен быть любым пользователем, кроме www-data. Я использую непривилегированного пользователя, который используется для обновления сайта. Группа должна быть www-data Разрешения должны быть 750 для каталогов и 640 для файлов. Это предотвратит запись apache в каталоги и файлы. Если вы используете разрешения 755 и 644, то любой пользователь на вашем сервере может читать данные. Это можно использовать, чтобы позволить третьей учетной записи проверять контент, возможно, сравнивая его с эталонной копией контента.

Если у вас есть каталог для загрузки, он должен принадлежать www-data или иметь разрешения 770. Внимательно следите за этим, так как он может быть использован для удаления почтовых программ. Настройте apache, чтобы предотвратить выполнение чего-либо в этом каталоге. Используйте для этого файл конфигурации, так как можно будет перезаписать такие файлы, как .htaccess в этом каталоге.

Вышеупомянутые правила применяются ко всем каталогам и файлам, на которые ссылается ваша конфигурация. Количество рекурсий, поэтому применяйте правила с использованием рекурсивной конфигурации.

Следующие команды заблокируют /var/www. Вы можете заменить демона любым пользователем, кроме www-data. Измените каталог загрузок на каталог загрузок.

find /var/www -type d -exec chmod 750 {} +
find /var/www ! -type d -exec chmod 640 () +
find /var/www -exec chown daemon:www-data {} +
chmod 770 /var/www/uploads

Добавьте такую ​​запись. Увидеть Документация по опциям для получения подробной информации, если вы хотите включить некоторые параметры.

<Directory "/var/www/uploads">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

Обратите внимание, что в /tmp и любое другое место, которое может быть записано www-data.

  1. Я бы проверил журналы Apache и журналы ОС. (var / log / httpd / и /var/log/auth.log) Вам нужно выяснить, как они обращаются к вашему серверу, и заткнуть дыру.
  2. Убедитесь, что ваш брандмауэр работает правильно (сканирование портов вашего сервера).
  3. Убедитесь, что на вашем сервере установлены исправления для ОС и приложения, чтобы убедиться, что они не используют уязвимости с каким-либо старым кодом.

Какие разрешения должны иметь файлы / папки моего веб-сайта на веб-сервере Linux?