seventh
@seventh
сисадмин

Как запретить доступ по http к определённому адресу сайта?

Свой сервер FreeBSD, Apache, php.

Сайт открывается как по http, так и по https. Прикручен phpMyAdmin, вот отрывок из httpd.conf

Alias /myadmin &quot;/usr/local/www/sites/phpMyAdmin/&quot;<br/>
<br/>
&lt;Directory &quot;/usr/local/www/sites/phpMyAdmin/&quot;&gt;<br/>
 Options none<br/>
 AllowOverride Limit<br/>
<br/>
Order Deny,Allow<br/>
 Deny from all<br/>
 Allow from all<br/>



Заметил, что кто-то перебирает все популярные адреса, в надежде наткнуться на phpMyAdmin
error.log:<br/>
<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/phpmyadmin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/phpMyAdmin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/db<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/web<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/PMA<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/admin<br/>
[error] [client 72.95.223.67] File does not exist: /usr/local/www/sites/data/mysql<br/>



И в результате он всё-таки натыкается на нужный адрес. Как наиболее просто (я пока новичёк в этих делах) обезопасить себя от таких переборов или хотя бы сделать их безуспешными?

Есть идея закрыть доступ по http к адресу mysite.ru/myadmin, что бы открывался только по https (без перенаправлений), но как это сделать тоже пока не знаю.

Как поступить посоветуете?

Заранее благодарю.
  • Вопрос задан
  • 7682 просмотра
Пригласить эксперта
Ответы на вопрос 7
digreen
@digreen
вот тут подробнее если что
Ответ написан
Комментировать
netme
@netme
Если нужно вынести myadmin только на https, я бы предпочел разделить http и https на разные виртуальные хосты.
Будет выглядеть примерно так:

<VirtualHost *:80>



<VirtualHost *:443>
Alias /myadmin "/usr/local/www/sites/phpMyAdmin/"
SSLEngine on
SSLCertificateFile /path/to/certificate

<Directory "/usr/local/www/sites/phpMyAdmin/">




Файл конфигурации лежит в /usr/local/etc/apache22/extra и называется как-то типа httpd-vhosts.conf, но предварительно его нужно раскоментировать в основном config файле apache.
Ответ написан
Комментировать
@lehha
Переборы останутся всегда, как и паролей к SSH.

Как самый простой вариант — поменять имя папки где находится phpmyadmin, или положить всё важное в подпапку, например:
site/xxsecret/phpmyadmin/

Как второй вариант — .htaccess — с указанием своих IP:
Order Allow,Deny
Deny From All
Allow From 127.0.0.1 127.0.0.2
Ответ написан
Комментировать
digreen
@digreen
в deny from этот адрес и вписать. не?
Ответ написан
dAverk
@dAverk
fail2ban
Ответ написан
Комментировать
Zazza
@Zazza
Переборы чаще всего ведут боты с довольно ограниченной базой логинов-паролей. Чаще всего можно обойтись хорошей связкой логин-пароль.
Насчёт переноса phpmyadmin, проще сделать второй хост (конфиг апача) для https соединений. И соответсвенно для http: deby from all для папки с phpmyadmin, для второго конфига: allow from all
Ответ написан
Комментировать
@artemlight
Можно сделать папку phpmyadmin и повесить на неё htaccess с длииинным паролем.
а сам пхпмуадмин положить куда-нибудь поглубже
А потом читать логи и радоваться жизни.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы