Кто-то пытается взломать мой сайт, у меня есть сайт, построенный на 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
.
Какие разрешения должны иметь файлы / папки моего веб-сайта на веб-сервере Linux?