Безопасности много не бывает, или как выстроить оборону сайта

Пошаговая инструкция от веб-разработчика Александра Гусева Изображение: unsplash.com

Что и как нужно сделать, чтобы обезопасить сайт? Сложный пароль на вход – это лишь один из пунктов. Помимо этого, есть еще куча дверей, через которые можно попасть на сайт или подпортить его работу. Посмотрим на примере одного из плагинов, какие настройки можно сделать, чтобы крепостные стены сайта были крепкие и надежные.

Насколько безопасен сам WordPress?

Хороший вопрос. С одной стороны, c 2003 г. система развивается, внедряются новые функции. В том числе по безопасности. С другой – у популярности WordPress есть и обратная сторона. Огромное количество сайтов в Интернете на этой платформе – лакомый кусочек для злоумышленников.

Можно изначально заказать разработку самописного сайта. То есть без использования готовых CMS (систем управления контентом). В теории такой сайт, написанный специально под ваши запросы, будет работать чуть лучше, стабильнее, быстрее.

Это в теории. На практике разительной разницы в скорости работы можно и не заметить. При этом удобнейшая админка WordPress, за которую его и любят, останется за бортом. Как будет реализована схема управления материалами в самописном сайте – отдельный вопрос. К тому же в этом случае вы будете привязаны к разработчикам сайта, когда будет нужно сделать те или иные изменения.

Ну, и вопросы безопасности на таком сайте тоже не на последнем месте. Будет нужно заранее проговаривать все моменты, которые следует учесть при разработке. Так что, как ни крути, с точки зрения безопасности WordPress на сегодня очень стабильная и безопасная система. Нужно лишь соблюдать элементарные правила цифровой безопасности, ну, и сделать еще пару пунктов сверху для большего спокойствия.

Базовые правила безопасности

Зачастую сайты оказываются взломанными вовсе не из-за дыр в безопасности самой системы, а из-за устаревшей версии одного из плагинов. Чтобы уберечь себя от таких напастей, рекомендую прочитать подборку идей по безопасности сайта.

Во многих случаях даже этих советов вполне хватит для укрепления обороны сайта. Но безопасности много не бывает, поэтому все же будет лучше взяться за это дело более основательно. Ничего лучше плагина безопасности на сегодня нет. В каталоге WordPress есть разные плагины, глаза разбегаются от предложений. Выбрать свой – проблема.

На примере одного из таких плагинов и посмотрим, что можно сделать для еще большей безопасности сайта. Плагин называется All In One WP Security & Firewall и обладает хорошими показателями по загрузкам, совместимости, языкам поддержки и активным установкам.

Скриншот страницы плагина в каталоге WordPress
Скриншот страницы плагина в каталоге WordPress.

На мой взгляд, настроек у него даже больше, чем нужно. Но это и хорошо, кому-то важна такая детализация. Сейчас пошагово разберем основные настройки, которые точно стоит сделать.

Какие настройки сделать в плагине?

Плагин вычисляет балльную оценку общей безопасности сайта

Первым делом стоит сказать, что у плагина есть хороший визуальный измеритель безопасности. Чем больше галочек в настройках вы поставите, тем больше баллов будет начислено. Но нужно понимать, что, «закручивая гайки», можно невзначай навредить работе сайта. Будет нельзя то, это, а еще вот эта и эта функция могут работать не по плану. Все хорошо в меру.

После установки в админке появляется пункт WP Security, внутри которого и находятся разделы с настройками.

Администраторы

Скриншот раздела по управлению именами администраторов сайта
Скриншот раздела по управлению именами администраторов сайта.

Этот раздел проверяет, чтобы на сайте не было учетной записи с именем admin. Просто потому что при создании сайта это имя ставится по умолчанию. А подбирать пароль, зная логин, считайте, полдела сделано. Поэтому меняем его, если все же admin есть. После этого начисляется 15 баллов, которые будут учтены в том самом индексе безопасности.

На вкладке «Отображаемое имя» тоже нужно проверить, что все в норме и еще 5 очков прилетят в копилку. А на вкладке «Пароль» можно проверить, насколько он у вас безопасен и защищен от взлома путем простого перебора.

Авторизация

Скриншот раздела по управлению авторизациями на сайте
Скриншот раздела по управлению авторизациями на сайте.

Здесь общий смысл такой: если на сайт пытается зайти человек и вводит логин, которого у вас в принципе нет, то плагин может сразу забанить такого пользователя. Сработает настройка «Сразу заблокировать неверные пользовательские имена». А пункт «Период блокировки» укажет плагину время, на которое нужно такого гостя заблокировать. Вернее, его IP-адрес.

Есть еще пункт «Максимальное количество попыток входа». Если там поставить, например, 1, то права на ошибку вообще не будет. Ни у кого. Даже вы как админ сайта можете попасть под блокировку, если ошибетесь хоть в одном символе при вводе своего логина. И тогда смотрим на схему выше. Ваш IP-адрес будет заблокирован на то самое количество минут.

Однажды я так сам себя заблокировал. Три раза ввел неверный логин и все – сайт закрылся для меня. Это я так его проверял, помнится. Если у вас случится такой конфуз, то на сайт можно будет зайти только с другого IP-адреса. Например, при помощи VPN. Нужно будет зайти на эту страницу настроек и удалить ваш адрес из списка заблокированных. И больше не ошибаться.

Регистрация пользователя

Скриншот раздела по управлению регистрациями на сайте
Скриншот раздела по управлению регистрациями на сайте.

Если на вашем сайте могут регистрироваться новые пользователи, то стоит поставить галочку для включения капчи на странице регистрации. Но опять же по желанию. На первой вкладке «Подтверждение вручную» можно задать настройку, что все новые учетки будут создаваться неактивными. За этим просто нужно смотреть.

Защита базы данных

Скриншот раздела по управлению базой данных
Скриншот раздела по управлению базой данных.

Здесь можно изменить стандартный префикс (часть имени) базы данных со стандартного для WordPress wp_ на любой другой. А вторая вкладка поможет с резервным копированием базы. Даже себе на почту можно будет ее отправлять, по расписанию. Плагин так умеет.

Защита файловой системы

Скриншот раздела по защите файловой системы
Скриншот раздела по защите файловой системы.

На вкладке «Редактирование файлов PHP» можно поставить эту галочку, и тогда в админке пропадет возможность редактировать файлы темы во «Внешнем виде» и файлы плагинов, соответственно, в «Плагинах». Во избежание разных казусов эту настройку лучше включить.

Файрволл

Скриншот раздела по настройкам правил файрволла
Скриншот раздела по настройкам правил файрволла.

На этой странице можно включить основные функции файрволла, которые сразу добавят новые способы защиты сайта. На вкладке «Предотвратить хотлинки» можно активировать настройку, которая запретит показывать картинку с вашего сайта на другом сайте.

Пример: изображение на страницу можно добавить либо из библиотеки медиафайлов, либо по прямой ссылке с другого сайта. А теперь представьте, что на вашем сайте есть очень качественная, в большом разрешении картинка. И когда несколько сайтов добавят ее себе на сайт по прямой ссылке, то все эти запросы пойдут на ваш сервер. Тем самым нагружая его.

В случае с одной картинкой это, может, не так заметно. Но если таких сайтов будет много, а изображение с большим разрешением, то нагрузка на сервер будет ощутимо больше. Для таких случаев и нужна эта настройка.

Защита от брутфорс-атак

Скриншот раздела по защите от брутфорс-атак
Скриншот раздела по защите от брутфорс-атак.

Что такое брутфорс? Это взлом чего-либо (в нашем случае сайта) путем перебора паролей. Методичного, последовательного перебора всех возможных комбинаций. Делается это автоматически, само собой. Именно здесь свою силу (или слабость) покажет ваш пароль. Чем больше в нем символов, тем он надежнее и устойчивей ко взлому.

Это одна из самых важных настроек, которую нужно сделать. По умолчанию страница входа на сайт в WordPress – это адрес /wp-login.php или /wp-admin. Попав сюда, можно методично перебирать логин и пароль. И может статься, что у кого-то это и получится.

Чтобы запретить такую самодеятельность, лучше поменять адрес входа на сайт на свой собственный. Задаете здесь новый адрес, и он сразу меняется. Теперь стандартные адреса больше не работают. Большой плюс к безопасности. Буквально парой кликов.

Режим обслуживания

Скриншот раздела по управлению режимом обслуживания
Скриншот раздела по управлению режимом обслуживания.

А этот пункт может собой заменить целый отдельный плагин. Когда нужно на некоторое время закрыть сайт для проведения каких-то работ, включается заглушка. Что так и так, сайт временно закрыт, скоро все вновь заработает. Можно установить отдельный плагин, а можно воспользоваться уже установленным. Ставим галочку, и сайт на время оказывается закрыт всем посетителям. Кроме администратора, конечно.

Итоги настройки

Возможностей у плагина много. Можно заблокировать одно, другое, а потом еще с десяток. Но все хорошо в меру, поэтому и здесь не стоит ставить все галочки. Начать лучше с этих пунктов, что описаны здесь. Остальные – по желанию и необходимости.

Но, опять же, все познается в сравнении. Если на вашем сайте будут выставлены даже эти настройки, что я описал, все плагины и сам WordPress будут обновлены до актуальных версий, то сайт будет уже более защищенным. Ведь многие атаки на сайты проводятся в автоматическом режиме. Сайт сканируется на известные уязвимости, и каждая из них проверяется – можно ли ею воспользоваться. В плагинах это решается регулярным обновлением.

А сама система защищается отдельно. Как именно – теперь вы знаете. Если на вашем сайте еще нет этого или любого другого плагина, то самое время установить.