хуйу нас не матерятся
Сегодня я хочу поговорить о безопасности интернет- магазина. В opencart встроен механизм блокировки подбора пароля. К сожалению, он основан на использовании cookie. Этот подход помогает отсеять только живых людей, пытающихся вручную подобрать пароль. В дикой природе, наиболее опасны автоматизированные системы подбора пароля.
Боты автоматически обходят все сайты в интернете. Чтобы получить доступ, им нужно угадать всего 3 параметра: url авторизации, логин администратора и пароль. Самые распространённые url авторизации заранее известны:
www.site.ru/admin - для большинства сайтов, включая opencart www.site.ru/wp-admin.php - для wordpress www.site.ru/administrator - для joomla и многих других
Для подбора логина используется словарь. Ставлю на кон бутылку текилы, что на Вашем сайте логин администратора- это admin, либо administrator, ну может быть то же самое, но в русской раскладке. Также думают и боты.
Итого, на 90% сайтов во всём интернете мы заранее знаем 2 из 3 параметра авторизации. Остаётся последний- пароль. Он также берётся из словаря. Для начала подбираются самые распространённые пароли: admin, administrator, 12345, 111111 итд. Дальше идут в ход более длинные словари, и простой перебор всех символов.
Чтобы злоумышленник не мог бесконечно подбирать пароль, опенкарт ведёт счётчик авторизаций, значение которого хранятся у клиента в cookie. Проблема этого метода в том, что сбросить куки- это простейшая задача и каждый бот её выполняет автоматически. В итоге этот механизм может защитить только от реального, живого человека.
Обычно если сайт не представляет большой ценности, в среднем, он подвергается 10-15 атакам в день. К примеру, ежедневно, я фиксирую как минимум 20 попыток подобрать пароль к этому блогу. Если же сайт посещаемый, то попытки взлома растут в геометрической прогрессии. Боты начинают подбирать пароль не по короткому словарю, а по длинному. В клинических случаях идёт брутфорс простым перебором символов сразу с сотен ботов, часто это ещё и маскируется ДДОС атакой.
Естественно применяются и другие методы взлома: sql-иньекции, xss и другие. Но сегодня нас интересует только 1 вид атак.
Давайте сведём риски к минимуму. В первую очередь: в админке, открываем: меню -> настройки -> пользователи -> пользователь.
Меняем имя администратора с admin на что-нибудь неожиданное, например на: ilovecats. Задаём ему сильный пароль.
Следующий шаг: давайте переименуем стандартный путь админки из /admin в, например, /odminko.
Открываем каталог с сайтом, и переименовываем папку admin в odminko. Заходим в папку и открываем конфиг. Во всех константах где упоминается папка admin, меняем ещё на наше новое имя- odminko.
Всё! Всего 2 простейших действия и 2 минуты затраченного времени, и мы в разы усилили безопасность сайта!