Защита phpMyAdmin и SquirrelMail от брутфорса используя htaccess
Каждый, кто начал использовать свой собственный или арендованный, подключенный напрямую к сети интернет сервер на Linux, сталкивался с проблемами брутфорса(грубого перебора) паролей как по SSH так и по FTP. Решить эти проблемы можно используя некоторые скрипты и трюки.
Не меньшую опасность для владельца такого сервера представляют открытые к публичному доступу папки и панели авторизации phpMyAdmin(менеджер MySQL баз данных) и SquirrelMail (веб-интерфейс для почтовой системы).
Содержание:
Предисловие
Описан простой способ защиты папок и панелей авторизации веб-приложений phpMyAdmin и SquirrelMail. Настраиваем веб-авторизацию по логину и паролю используя файлы ".htaccess" и ".htpasswd".
Предполагается что сервер работает под операционной системой (ОС) GNUU/Linux: Debian, Ubuntu. В других версиях ОС пути к директориям могут быть иными.
Защита для phpMyAdmin
Создаем на сервере файл ".htaccess" с настройками доступа к директории "/usr/share/phpmyadmin":
cd /usr/share/phpmyadmin
nano .htaccess
Вставляем в редаток код, что приведен ниже:
<Files .htpasswd>
deny from all
</Files>
AuthType Basic
AuthName "Private zone, please authorize..."
AuthUserFile /usr/share/phpmyadmin/.htpasswd
require valid-user
Примечание: для выхода из редактора "nano" нужно нажать сочетание клавиш "CTRL+X" и подтвердить сохранение файла введя "Y" и нажав клавишу "ENTER".
Теперь настроим доступ для пользователя "admin007":
htpasswd -cm /usr/share/phpmyadmin/.htpasswd admin
После ввода команды будет запрошен пароль, получаем пару: пользователь "admin007" и пароль, что вы ввели. Теперь при заходе на страницу с phpMyAdmin должен появится запрос авторизации для входа в защищенную зону, после ввода логина и пароля - все как обычно, авторизация в phpMyAdmin и выполнение нужных вам действий.
Данные авторизации будут сохранены в файле "/usr/share/phpmyadmin/.htpasswd". Имя пользователя желательно выбрать посложнее, а длина пароля должна быть не меньше 20 символов (в разных регистрах + цифры и символы по желанию).
Защита директории SquirrelMail
Делаем все по аналогии как с phpMyAdmin. Создадим файл с настройками доступа:
cd /usr/share/squirrelmail/
nano .htaccess
Вставляем в редактор следующий код:
<Files .htpasswd>
deny from all
</Files>
AuthType Basic
AuthName "Private zone, please authorize..."
AuthUserFile /usr/share/squirrelmail/.htpasswd
require valid-user
Создаем пользователя и пароль для него:
htpasswd -cm /usr/share/squirrelmail/.htpasswd admin
Таким же способом можно защитить от посторонних глаз любую доступную через веб-сервер директорию. В данном случае мы также снизили нагрузку на сервер, поскольку будучи открытыми, веб-панели к phpMyAdmin и SquirrelMail подвержены перебору паролей, а это выполнение скриптов на стороне сервера с убыточным использованием ресурсов.
В завершение
В принципе, нечего нового я не открыл, но все же есть еще не мало тех, кто не знает что таким вот простым способом можно сделать дополнительную защиту различных административных веб-разделов и директорий.
Защиты никогда не бывает много!