Если netstat -tapnl | grep 25
не возвращает что-то как 0:0:0:0:25 (или конкретный IP, который Вы запрашиваете), это означает, что ничто не слушает на том порте, и IPTables не является проблемой - или по крайней мере не единственной проблемой.
Применяется принцип наименьших привилегий. Предоставляйте пользователям только те права, которые им нужны, и не более того.
В этом случае, если apache обслуживает только страницы, не дайте пользователю acct прав на редактирование. Возможные риски включают: изменение содержимого файла или загрузку нового; добавление исполняемого кода в файлы и т. д. Эти риски существуют независимо от того, является ли это одним или несколькими сайтами. Если приложению необходимо отредактировать определенный файл, ограничьте изменения разрешений для этого файла.
Даже если у вас только один веб-сайт, скомпрометированный пользователь apache позволит хакеру изменить файлы в / var / www
, если папка доступна для записи пользователю apache.
Не понимаю, почему бы и нет. Если есть один сайт, это должно быть нормально. Но учтите, что вы можете разрешить только чтение некоторым файлам. (внесите в белый список, если им нужен доступ для записи :))
Я написал простой скрипт для своего сайта WordPress. Этот скрипт предоставляет Apache доступ на запись только к тому, что ему нужно для записи. Все остальное в корневом каталоге доступно только для чтения. Я думаю, что это хороший шаг к более безопасному сайту, и его следует практиковать.
#!/bin/bash
PATH=/bin:/usr/bin
WEBROOT="/var/www/www.example.com"
UPLOADS="${WEBROOT}/wp-content/uploads"
chown -R nobody:nogroup ${WEBROOT}
find ${WEBROOT} -type d -exec chmod 0555 {} \;
find ${WEBROOT} -type f -exec chmod 0444 {} \;
chown nobody:www-data ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz
chmod 0464 ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz
chown -R nobody:www-data ${UPLOADS}
find ${UPLOADS} -type d -exec chmod 2575 {} \;
find ${UPLOADS} -type f -exec chmod 0464 {} \;