Конфигурация безопасности
Конфигурация безопасности XOOPS
Заголовок раздела «Конфигурация безопасности XOOPS»Полное руководство по защите вашей установки XOOPS от угроз безопасности.
Основные параметры безопасности
Заголовок раздела «Основные параметры безопасности»Основные области безопасности:
- Пароли и аутентификация (сильные пароли, 2FA)
- Разрешения файлов (ограничение доступа)
- HTTPS и шифрование (SSL/TLS)
- Защита от инъекций (SQL, XSS, CSRF)
- Резервные копии и восстановление
- Мониторинг и логирование
Пароли и аутентификация
Заголовок раздела «Пароли и аутентификация»Установка политики пароля
Заголовок раздела «Установка политики пароля»Панель администратора > Система > Параметры > Параметры пользователя
Минимальная длина пароля: 12 символовТребовать прописные буквы: ДаТребовать числа: ДаТребовать специальные символы: ДаСрок действия пароля: 90 днейИстория паролей: 5 предыдущихСильные пароли для администратора
Заголовок раздела «Сильные пароли для администратора»Используйте очень сильные пароли для учётных записей администратора:
✓ XOOPS@Admin#2025!Secure✓ MyS1te#Adm!n$ecure2025✗ admin123 (слишком простой)✗ password (очень слабый)Двухфакторная аутентификация
Заголовок раздела «Двухфакторная аутентификация»Если доступно, включите 2FA:
Панель администратора > Система > Параметры > Безопасность
Двухфакторная аутентификация: ВключеноМетоды 2FA:☑ Электронная почта☑ SMS (если настроено)☑ Приложение аутентификатораРазрешения файлов
Заголовок раздела «Разрешения файлов»Установка разрешений
Заголовок раздела «Установка разрешений»Правильные разрешения защищают от несанкционированного доступа:
# Директории: 755 (владелец может читать/писать, другие только читают)find /var/www/html/xoops -type d -exec chmod 755 {} \;
# Файлы: 644 (владелец может читать/писать, другие только читают)find /var/www/html/xoops -type f -exec chmod 644 {} \;
# Специальные директории (требуют записи)chmod 777 /var/www/html/xoops/cachechmod 777 /var/www/html/xoops/templates_cchmod 777 /var/www/html/xoops/uploadschmod 777 /var/www/html/xoops/var
# Защитить mainfile.phpchmod 644 /var/www/html/xoops/mainfile.phpУдалить папку установки
Заголовок раздела «Удалить папку установки»КРИТИЧЕСКИ: Папка install должна быть удалена после установки!
# Опция 1: Удалить полностьюrm -rf /var/www/html/xoops/install/
# Опция 2: Переименовать и сохранитьmv /var/www/html/xoops/install/ /var/www/html/xoops/install.bak/
# Проверить удалениеls -la /var/www/html/xoops/ | grep installЗащитить чувствительные директории
Заголовок раздела «Защитить чувствительные директории»Создайте файлы .htaccess, чтобы заблокировать веб-доступ:
Файл: /var/www/html/xoops/var/.htaccess
<FilesMatch "\.(php|phtml|php3|php4|php5|php6|php7|phps)$"> Deny from all</FilesMatch>
<IfModule mod_autoindex.c> Options -Indexes</IfModule>HTTPS и шифрование
Заголовок раздела «HTTPS и шифрование»Получить SSL сертификат
Заголовок раздела «Получить SSL сертификат»Используйте Let’s Encrypt для бесплатных SSL сертификатов:
# Установить Certbotapt-get install certbot python3-certbot-apache
# Получить сертификатcertbot certonly --apache -d your-domain.com
# Автоматическое обновлениеsystemctl enable certbot.timersystemctl start certbot.timerНастроить HTTP Redirect
Заголовок раздела «Настроить HTTP Redirect»Перенаправьте все HTTP на HTTPS:
Apache: /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80> ServerName your-domain.com Redirect permanent / https://your-domain.com/</VirtualHost>
<VirtualHost *:443> ServerName your-domain.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/your-domain.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/your-domain.com/privkey.pem
DocumentRoot /var/www/html/xoops</VirtualHost>Обновить URL в XOOPS
Заголовок раздела «Обновить URL в XOOPS»Панель администратора > Система > Параметры > Общие параметры
URL сайта: https://your-domain.com/Защита от уязвимостей
Заголовок раздела «Защита от уязвимостей»Защита от SQL-инъекций
Заголовок раздела «Защита от SQL-инъекций»XOOPS использует подготовленные выражения. Убедитесь, что модули следуют этому:
// ✗ НЕБЕЗОПАСНО$uid = $_GET['uid'];$sql = "SELECT * FROM xoops_users WHERE uid = $uid";
// ✓ БЕЗОПАСНО$uid = $_GET['uid'];$sql = "SELECT * FROM xoops_users WHERE uid = ?";$result = $connection->query($sql, [$uid]);Защита от XSS (кросс-сайтовые скрипты)
Заголовок раздела «Защита от XSS (кросс-сайтовые скрипты)»Всегда проверяйте пользовательский вввод:
// Очищение выводаecho htmlspecialchars($_GET['query'], ENT_QUOTES, 'UTF-8');
// Использование функций XOOPSecho $xoops->htmlspecialchars($user_input);Защита от CSRF (подделка межсайтовых запросов)
Заголовок раздела «Защита от CSRF (подделка межсайтовых запросов)»Используйте токены CSRF в формах:
<!-- В форме XOOPS --><form method="POST" action=""> <input type="hidden" name="xoops_token_request" value="{$xoops_token}"> <!-- Остальные поля формы --></form>Резервные копии и восстановление
Заголовок раздела «Резервные копии и восстановление»Автоматические резервные копии
Заголовок раздела «Автоматические резервные копии»Создайте скрипт резервного копирования:
#!/bin/bash# Ежедневная резервная копия
BACKUP_DIR="/backups/xoops"SITE_DIR="/var/www/html/xoops"DB_NAME="xoops_db"DB_USER="xoops_user"
# Создать директорию резервной копииmkdir -p $BACKUP_DIR/$(date +%Y-%m-%d)
# Резервная копия файловtar -czf $BACKUP_DIR/$(date +%Y-%m-%d)/files.tar.gz $SITE_DIR
# Резервная копия БДmysqldump -u $DB_USER -p $DB_NAME | gzip > $BACKUP_DIR/$(date +%Y-%m-%d)/database.sql.gz
# Удалить старые резервные копии (старше 30 дней)find $BACKUP_DIR -maxdepth 1 -type d -mtime +30 -exec rm -rf {} \;
echo "Резервная копия завершена!"Запланируйте с cron:
crontab -e# Добавьте: 0 3 * * * /usr/local/bin/xoops-backup.shМониторинг безопасности
Заголовок раздела «Мониторинг безопасности»Проверить логи безопасности
Заголовок раздела «Проверить логи безопасности»Панель администратора > Система > Логи
Проверьте наличие подозрительной активности:
- Неудачные попытки входа
- Несанкционированные попытки доступа
- Ошибки и исключения
Сканирование на вредоносные ПО
Заголовок раздела «Сканирование на вредоносные ПО»Используйте инструменты сканирования:
# ClamAV сканированиеapt-get install clamav clamav-daemon
# Обновить сигнатурыfreshclam
# Сканировать сайтclamscan -r /var/www/html/xoops
# Результатыclamscan -r /var/www/html/xoops | grep "Infected"Контрольный список безопасности
Заголовок раздела «Контрольный список безопасности»После установки убедитесь в:
- Пароль администратора сильный (16+ символов)
- HTTPS настроен и включён
- Папка install удалена
- Разрешения файлов установлены правильно
- mainfile.php защищён
- Регулярные резервные копии автоматизированы
- Логирование и мониторинг включены
- Модули из доверенных источников
- Системы регулярно обновляются
- Тестируется процесс восстановления БД
Теги: #security #protection #encryption #passwords #backups
Связанные статьи:
- Index
- System-Settings
- Performance-Optimization