Митап «Безопасность сайта на платформе WordPress: проблемы и решения»: материалы встречи

Лев Звягинцев Фото: Мария Борисёнок
16 мар­та в Impact Hub Moscow состо­ял­ся митап «Без­опас­ность сай­та на плат­фор­ме WordPress: про­бле­мы и реше­ния» со Львом Звя­гин­це­вым, раз­ра­бот­чи­ком Теп­ли­цы соци­аль­ных тех­но­ло­гий.

Мы пого­во­ри­ли о при­чи­нах взло­ма сай­тов и о том, как мож­но защи­тить уяз­ви­мые места сай­та от хаке­ров.

Видео: Фёдор Кор­ниен­ко

Что­бы понять, от чего защи­щать сайт, нуж­но отве­тить на вопрос «кто и зачем взла­мы­ва­ет сай­ты?».

Хакер­ство – это полу­че­ние несанк­ци­о­ни­ро­ван­но­го досту­па к закры­той инфор­ма­ции: адми­ни­стра­тив­ным раз­де­лам сай­та, бан­ков­ским кар­точ­кам, поч­то­вой пере­пис­ке и так далее. Об исто­рии хакер­ства мож­но про­чи­тать в ста­тье.

Взла­мы­вать сай­ты могут как кон­крет­ные люди, так и робо­ты, обра­зу­ю­щие сеть «бот­нет».

Бот­нет (от англ. botnet, про­изо­шло от слов robot и network) — это ком­пью­тер­ная сеть, состо­я­щая из неко­то­ро­го коли­че­ства хостов, с запу­щен­ны­ми бота­ми — авто­ном­ным про­грамм­ным обес­пе­че­ни­ем.

Как работает ботнет?

При взло­ме в сайт встра­и­ва­ют вре­до­нос­ный код, кото­рый поз­во­ля­ет исполь­зо­вать ресур­сы сай­та и нано­сить вред сер­ве­ру по внеш­ней коман­де.

Чуже­род­ный кон­тент на сай­те может появить­ся и через реклам­ные объ­яв­ле­ния, кото­рые встра­и­ва­ют­ся в тему сай­та спе­ци­аль­ным кодом.

Не сто­ит недо­оце­ни­вать детей, кото­рые учат­ся ломать сай­ты. Они ещё не уме­ют созда­вать и ради раз­вле­че­ния могут при­чи­нить вред ваше­му сай­ту, если вы его не защи­ти­те.

Григорий Мартишин Фото: Мария Борисёнок
Гри­го­рий Мар­ти­шин. Фото: Мария Бори­сё­нок

Способы защиты сайта

Если вы не раз­би­ра­е­тесь в коде и вам нуж­но быст­ро пред­при­нять меры по защи­те сай­та, то пред­ла­га­ем вам выбрать один из 5 пла­ги­нов без­опас­но­сти.

  • All in one WP Security and Firewall. Самый попу­ляр­ный и вос­тре­бо­ван­ный пла­гин по защи­те сай­та (на рус­ском язы­ке). Пла­гин име­ет мно­же­ство воз­мож­но­стей для защи­ты, настра­и­ва­е­мых вруч­ную.
  • Bulletproof Security. Пла­гин ана­ло­ги­чен преды­ду­ще­му. Бес­плат­ная вер­сия обла­да­ет набо­ром базо­вых средств защи­ты, в плат­ной вер­сии добав­ле­но мно­же­ство про­дви­ну­тых спо­со­бов обез­опа­сить сайт.
  • Google Authenticator. Пла­гин поз­во­ля­ет уста­но­вить на сай­те так назы­ва­е­мую двух­фак­тор­ную аутен­ти­фи­ка­цию. Это озна­ча­ет, что для досту­па в адми­ни­стра­тив­ный раз­дел сай­та поль­зо­ва­тель дол­жен вве­сти допол­ни­тель­ную пару из логи­на и паро­ля.
  • Sucuri Security. Пла­гин будет поле­зен, если ваш сайт уже под­верг­ся зара­же­нию. Он поз­во­ля­ет про­ска­ни­ро­вать фай­лы сай­ты на пред­мет нали­чия вре­до­нос­но­го кода.
  • VaultPress (сто­и­мость от 5 у.е.). Пла­гин ана­ло­ги­чен преды­ду­ще­му, кро­ме того он поз­во­ля­ет созда­вать еже­днев­ные резерв­ные копии ваше­го сай­та.
Участники митапа Фото: Мария Борисёнок
Участ­ни­ки мита­па. Фото: Фёдор Кор­ниен­ко

Даль­ней­шие реко­мен­да­ции под­хо­дят для защи­ты сай­тов, создан­ных на плат­фор­ме WordPress. Часть из них ана­ло­гич­но рабо­та­ют с плат­фор­ма­ми Bitrix и uСoz.

Итак, три основных уязвимых места сайта: код, доступ к данным и доступ к файлам.

Для защи­ты кода сле­ду­ет пред­при­ни­мать несколь­ко про­стых мер:

  1. Ска­чи­вать тему сай­та и пла­ги­ны толь­ко из офи­ци­аль­ных репо­зи­то­ри­ев WordPress.
  2. Посто­ян­но сле­дить за обнов­ле­ни­я­ми темы ваше­го сай­та и пла­ги­нов.

Гиб­кость и откры­тость плат­фор­мы WordPress при­ве­ла к тому, что коли­че­ство пла­ги­нов достиг­ло 25 тысяч. Как след­ствие, лег­ко най­ти про­дукт, кото­рый содер­жит ошиб­ку и потен­ци­аль­но уяз­вим. Поэто­му выби­рай­те толь­ко пла­ги­ны, напи­сан­ные про­ве­рен­ны­ми раз­ра­бот­чи­ка­ми и име­ю­щие высо­кую оцен­ку дру­ги­ми поль­зо­ва­те­ля­ми.

Совет от Льва Звя­гин­це­ва: Те пла­ги­ны, кото­ры­ми вы не поль­зу­е­тесь, сто­ит уда­лить, так как даже неак­ти­ви­ро­ван­ный пла­гин может исполь­зо­вать­ся для взло­ма сай­та. Если у вас уста­нов­ле­но несколь­ко ана­ло­гич­ных по функ­ци­ям пла­ги­нов, то выбе­ри­те один, а осталь­ные уда­ли­те.

Влад Лавриченко, event-организатор  "Теплицы" Фото: Мария Борисёнок
Влад Лаври­чен­ко, event-орга­ни­за­тор «Теп­ли­цы». Фото: Мария Бори­сё­нок

Рекомендации по защите доступа к данным

  • Есть мно­же­ство про­грамм, кото­рые авто­ма­ти­че­ски под­би­ра­ют паро­ли и взла­мы­ва­ют сайт, ком­би­ни­руя циф­ры и сло­ва. Поэто­му для состав­ле­ния надёж­но­го паро­ля в него долж­ны вхо­дить заглав­ные и строч­ные бук­вы, циф­ры и спе­ци­аль­ные сим­во­лы.
  • Состав­ле­ние надёж­но­го логи­на так же важ­но, как и созда­ние паро­ля.

В WordPress запи­си авто­ма­ти­че­ски появ­ля­ют­ся от име­ни «поль­зо­ва­те­ля по умол­ча­нию» — адми­ни­стра­то­ра. Часто этот поль­зо­ва­тель име­ет имя admin или administrator, и это имя явля­ет­ся наи­бо­лее попу­ляр­ным логи­ном при вхо­де в адми­ни­стра­тив­ную панель. В резуль­та­те логин адми­ни­стра­то­ра лег­ко уга­дать, и это дела­ет сайт уяз­ви­мым ко взло­му. Что­бы устра­нить эту уяз­ви­мость, вы може­те изме­нить логин или вовсе уда­лить авто­ра запи­сей на сво­ём сай­те.

  • Вы може­те уста­но­вить на сай­те HTTP-аутен­ти­фи­ка­цию. Для выпол­не­ния этой реко­мен­да­ции обра­ти­тесь за помо­щью к про­грам­ми­сту.
  • Вы може­те поста­вить «кап­чу» на фор­мы логи­на и реги­стра­ции.
Гости митапа Фото: Мария Борисёнок
Гости мита­па. Фото: Мария Бори­сё­нок

Рекомендации по защите доступа к файлам

  • Не все вла­дель­цы сай­тов зна­ют, что при выбо­ре хостин­га нуж­но узна­вать не толь­ко цену на тариф, но так­же и какие услу­ги по защи­те сай­та предо­став­ля­ют­ся поль­зо­ва­те­лю. Узнай­те, дела­ет ли ваш хостинг резерв­ное копи­ро­ва­ние сай­та, и если да, с какой пери­о­дич­но­стью. Так­же важ­ный вопрос — изме­не­ние прав досту­па к фай­лам сай­та на сер­ве­ре.
  • В каче­стве допол­ни­тель­ной меры по защи­те сай­та вы може­те уда­лить инфор­ма­цию о вер­сии WordPress и его темы оформ­ле­ния. Эта инфор­ма­ция часто отоб­ра­жа­ет­ся в виде ссы­лок вни­зу глав­ной стра­ни­цы сай­та и облег­ча­ет хаке­рам взлом сай­та.
  • Кон­крет­ные инструк­ции по изме­не­нию php-кода мож­но про­чи­тать в этой ста­тье. Так­же будет полез­но пра­виль­но настро­ить файл .htaccess.
Гости митапа Фото: Мария Борисёнок
Гости мита­па. Фото: Фёдор Кор­ниен­ко

О резервном копировании

Если в ваш сайт встро­и­ли вре­до­нос­ный код, то вам при­дёт­ся про­смат­ри­вать каж­дый скрипт и уда­лять ненуж­ные фраг­мен­ты кода (или целые фай­лы). Эта кро­пот­ли­вая рабо­та зани­ма­ет мно­го вре­ме­ни, и зада­ча зна­чи­тель­но упро­ща­ет­ся, если у вас есть резерв­ная копия кода без вре­до­нос­ных ссы­лок.

Резерв­ное копи­ро­ва­ние пред­по­ла­га­ет пери­о­ди­че­ское созда­ние пол­ной копии базы дан­ных и фай­лов с кодом сай­та. Для копи­ро­ва­ния вы може­те вос­поль­зо­вать­ся сле­ду­ю­щи­ми вари­ан­та­ми:

  • Дого­во­рить­ся с хостин­гом о настрой­ке копи­ро­ва­ния сай­та и его базы дан­ных.
  • Уста­но­вить пла­ги­ны, кото­рые копи­ру­ют содер­жи­мое сай­та в отдель­ный файл.
  • Копи­ро­вать код вруч­ную на свой пер­со­наль­ный ком­пью­тер.

Одна­ко в пер­вых двух слу­ча­ях есть опас­ность: если ваш сайт закрыт по при­чине взло­ма сер­ве­ра, то доступ к копи­ям вы полу­чить не смо­же­те. В этом слу­чае на помощь при­хо­дит облач­ное копи­ро­ва­ние сай­та через плат­ные сер­ви­сы: Acronis, Селек­тел, Amazon и дру­гие.

Кста­ти, 31 мар­та – меж­ду­на­род­ный день резерв­но­го копи­ро­ва­ния. Самое вре­мя поза­бо­тить­ся о сво­ём сай­те.

Ещё один плат­ный спо­соб защи­ты сай­та – это покуп­ка SSL-сер­ти­фи­ка­та и исполь­зо­ва­ние про­то­ко­ла HTTPS. О том, поче­му для НКО важ­но исполь­зо­вать про­то­кол HTTPSчитай­те в мате­ри­а­ле Алек­сея Ницы.

Так­же сего­дня на рын­ке суще­ству­ет мно­же­ство ком­па­ний, пред­ла­га­ю­щих услу­ги по ауди­ту без­опас­но­сти сай­та. Каж­дый из опи­сан­ных спо­со­бов помо­жет улуч­шить вашу систе­му без­опас­но­сти.

В корот­ком интер­вью Лев Звя­гин­цев напо­ми­на­ет о трёх про­стых вещах, кото­рые сто­ит делать регу­ляр­но для про­фи­лак­ти­ки сай­та:

Видео: Фёдор Кор­ниен­ко

Презентация Льва Звягинцева