По умолчанию phpMyAdmin доступен через стандартный порт веб-сервера (обычно 80 для HTTP или 443 для HTTPS). Однако в некоторых случаях возникает необходимость изменить порт, на котором доступен phpMyAdmin, чтобы повысить безопасность и снизить риск автоматизированных атак. В этой статье мы подробно рассмотрим, как изменить стандартный порт phpMyAdmin на сервере с WordPress, а также рассмотрим примеры конфигураций и практические советы.
Зачем менять порт phpMyAdmin? Безопасность и удобство
phpMyAdmin — это мощный инструмент для управления базой данных MySQL или MariaDB, который часто становится целью злоумышленников. Изменение порта доступа — простой способ уменьшить количество автоматических попыток взлома, поскольку сканеры обычно ищут phpMyAdmin на стандартных портах.
Кроме того, если на сервере работают несколько приложений, переназначение портов помогает избежать конфликтов и упорядочить доступ к сервисам.
Важно понимать, что изменение порта — дополнительная мера безопасности, которая не заменяет другие методы защиты, такие как ограничение доступа по IP, использование сложных паролей и двухфакторной аутентификации.
Как изменить порт phpMyAdmin на Apache
Если ваш сервер работает на Apache, настройка порта осуществляется через конфигурацию виртуальных хостов.
Шаг 1. Выберите новый порт
Например, 8081 или любой другой свободный порт. Убедитесь, что порт открыт в вашем файрволе.
Шаг 2. Измените конфигурацию Apache
Откройте файл конфигурации виртуального хоста phpMyAdmin, например /etc/apache2/sites-available/phpmyadmin.conf или создайте новый:
<VirtualHost *:8081>
ServerAdmin admin@example.com
DocumentRoot /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin_error.log
CustomLog ${APACHE_LOG_DIR}/phpmyadmin_access.log combined
</VirtualHost>
Здесь замените порт 8081 на выбранный вами.
Шаг 3. Добавьте прослушивание порта
В файле /etc/apache2/ports.conf добавьте строку:
Listen 8081
Если там уже есть директива Listen, просто добавьте новую с вашим портом.
Шаг 4. Перезапустите Apache
После изменения конфигурации выполните команду:
sudo systemctl restart apache2
Теперь phpMyAdmin будет доступен по адресу http://yourdomain.ru:8081.
Изменение порта phpMyAdmin на сервере с Nginx
Для Nginx изменение порта тоже сводится к настройке server block.
Шаг 1. Выберите порт
Как и в случае с Apache, выбираем свободный порт, например 8082.
Шаг 2. Настройте server block
Создайте или отредактируйте конфигурацию phpMyAdmin, например /etc/nginx/sites-available/phpmyadmin:
server {
listen 8082;
server_name yourdomain.ru;
root /usr/share/phpmyadmin;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # измените под вашу версию PHP
}
location ~ /\.ht {
deny all;
}
}
Шаг 3. Перезапустите Nginx
Выполните команду:
sudo systemctl restart nginx
Теперь phpMyAdmin будет доступен по адресу http://yourdomain.ru:8082.
Программный пример проверки порта с помощью PHP
Если вы хотите программно проверять доступность phpMyAdmin на новом порту, можно использовать следующий код, который попробует подключиться к порту и вывести результат:
<?php
function wpconfig_checkPort($host, $port, $timeout = 2) {
$connection = @fsockopen($host, $port, $errno, $errstr, $timeout);
if (is_resource($connection)) {
fclose($connection);
return true;
} else {
return false;
}
}
$host = 'localhost';
$port = 8081; // Ваш порт phpMyAdmin
if (wpconfig_checkPort($host, $port)) {
echo "Порт $port доступен";
} else {
echo "Порт $port недоступен";
}
?>
Этот скрипт поможет убедиться, что порт открыт и сервис доступен.
Настройка безопасности после смены порта phpMyAdmin
Изменение порта — не панацея. Рекомендуется дополнительно:
- Ограничить доступ к порту по IP в настройках веб-сервера.
- Использовать HTTPS для шифрования трафика.
- Настроить двухфакторную аутентификацию (2FA) для доступа к phpMyAdmin.
- Регулярно обновлять phpMyAdmin и серверное ПО.
Например, в Apache можно добавить ограничение IP так:
<Directory /usr/share/phpmyadmin>
Require ip 192.168.1.100
Require ip 127.0.0.1
</Directory>
Для Nginx:
location / {
allow 192.168.1.100;
allow 127.0.0.1;
deny all;
}
Использование плагинов WordPress для безопасности базы данных
Для дополнительной защиты базы данных в WordPress можно использовать плагины, например:
- Clearfy Pro — оптимизация и безопасность WordPress, в том числе ограничение доступа к административным ресурсам.
- WPConfig Logger — расширенное логирование, полезное для мониторинга попыток доступа.
Итог
Изменение стандартного порта phpMyAdmin — простой и эффективный шаг к повышению безопасности WordPress-сайта. Следуя приведенным инструкциям, вы сможете быстро настроить сервер и ограничить нежелательный доступ. Не забудьте совмещать эту меру с другими методами защиты для максимальной безопасности.