Это мой первый пост на Medium. Я хотел рассказать эту историю, потому что подумал, что ей стоит поделиться. Эта история о том, как я «потерял» свой домен из-за плохого кода и недостаточного обслуживания приложения.

Все началось около 4 лет назад. Я купил домен у Namecheap.com с окончанием .xyz. Давайте теперь назовем мой домен как secretdomain.xyz, так как я не уверен, что хочу сказать, что это за домен на самом деле. Я могу обновить историю позже, если сочту нужным сообщить настоящее доменное имя.

Я купил домен xyz, так как он был в продаже в течение первого года. Всего один доллар. В то время это был довольно новый домен. Я установил записи A, указывающие на мой виртуальный сервер, который работал на VPS www.hetzner.com. Здесь нет проблем. Затем я загрузил свой хобби-проект, который был копией или моей версией тинюрла. Я только что назвал свой хобби-проект ShortUrl. Просто как тот. Проект состоял только из файла index.php, одной таблицы базы данных и файла перенаправления Apache. Всего три разных файла. Это был очень простой проект, и я был счастлив, потому что он действительно работал.

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

Однако через три года все изменилось. Однажды я проснулся от сообщения от моих систем мониторинга о том, что мои сайты не работают. Я подумал, что эта проблема должна быть от провайдера VPS, и я открыл консоль. Я заметил, что появилось новое сообщение, в котором говорилось что-то вроде: «Ваш VPS не соответствует нашим правилам и поэтому отключен». Hetzner отключил мой сервер, потому что он нарушал правила. Затем я проследил за проблемой и обнаружил, что кто-то поместил вредоносные URL-адреса в мое приложение. Я открыл инструмент базы данных и обнаружил, что несколько порно- и других мошеннических сайтов были загружены в мое хобби-приложение для сокращения URL-адресов. Я совершенно не знал, что роботы нашли мой сайт. Отлично. Я просто выбрал все записи и начал их удалять. Это мой хобби-проект, и меня не волнует, используются ли какие-либо настоящие ссылки. Поэтому я просто все уничтожил. После удаления записей я обновил свое приложение через три года и добавил в него проверку робота Google. Теперь невозможно вставить URL-адреса, не сообщая, что вы человек. Я думал, что этого измерения безопасности будет достаточно. Я снова ошибся.

Я отправил объяснение Hetzner, что я сделал с моим сервером, и через час они ответили, что мой сервер снова в сети. Все хорошо! Я был доволен сервисом и на самом деле рад, что они заметили, что у меня в приложении плохие ссылки. Вот как все должно работать. Я позволил приложению снова жить около года, пока дерьмо не попало в вентилятор.

Пару недель назад, в начале 2020 года, мои системы мониторинга снова сообщили, что мой сайт недоступен. Затем я приступил к обычным проверкам, что происходит. Однако другие мои домены, указывающие на тот же сервер, работали. Я обнаружил, что не работает только мой домен xyz. Затем я подумал, что это должно быть проблемой с Namecheap, поскольку сообщение об ошибке моего браузера было следующим:

«Этот сайт недоступен. IP-адрес сервера не найден. DNS_PROBE_FINISHED_NXDOMAIN» говорит сам за себя. Домен не может быть найден. Я отправил сообщение в службу поддержки Namecheap, и через несколько минут они сказали мне, что проблема не на их стороне. Это держатель регистра xyz, который отключил мой домен. Я был очень удивлен. Но не беспокойтесь, как говорят австралийцы. Затем я зашел на сайт регистратора доменов и проверил статус своего сайта. Это была та же самая причина, что и год назад. Кто-то снова разместил вредоносную ссылку в моем приложении. Я, хотя это не имеет большого значения. Я просто удалю все записи из базы данных и продолжу дополнительные меры безопасности. И я сделал это.

Я снова почистил всю базу данных своего сервера и добавил новые контрольные вопросы в дополнение к проверке Google. Теперь это должно исключить всех роботов из моего приложения. Для ввода URL-адресов потребуется человек. И поскольку я знал о проблеме, я подумал, что лучше либо полностью удалить приложение, либо начать следить за URL-адресами, вставленными в мое приложение. Или, может быть, даже удалить URL-адреса через определенное время, но было уже слишком поздно.

Я отправил объяснение регистратору домена, объясняя ситуацию и то, что я сделал для мер безопасности. Я думал, что все будет хорошо, как это было в прошлый раз, но нет. Я снова так ошибся. Вот что они ответили на мой запрос на отмену приостановки:

Этот домен был помечен как нарушающий наши правила защиты от злоупотреблений. Доказательства и инструкции по исключению этого домена из списка можно найти ниже:

https://www.virustotal.com/

Вы должны связаться с черным списком (списками), помеченными в предоставленном списке (списках), чтобы проверить/переоценить домен.

После того как вы удалили этот домен из черных списков, ответьте на этот запрос в службу поддержки по адресу www.gen.xyz/abuse с подтверждением исключения из списка, и мы можем разблокировать домен.

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

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

Я даже сделал это. Я создал новую учетную запись и отправил это сообщение, чтобы объяснить свою ситуацию.

Привет. Мои домены secretdomain.xyz и secretdomain.xyz/bkeo были занесены в черный список, потому что у меня есть хобби-проект «urlshortener», похожий на tinyurl, и кто-то поместил вредоносные ссылки в мой сокращатель, который затем перенаправляет на вредоносный сайт через мой домен. Теперь я удалил все вредоносные записи из базы данных сервера и добавил дополнительный уровень безопасности, чтобы предотвратить вставку вредоносных URL-адресов в систему. Я предпринял меры по защите своего сайта, используя проверку робота Google и настраиваемый секретный вопрос, чтобы предотвратить вредоносные ссылки. Не могли бы вы еще раз отметить мой домен как безопасный, чтобы VirusTotal показывал домен зеленым цветом. Тем временем мой сайт не работает, и домен нельзя использовать. Отчет можно найти здесь: «ссылка на вирустотал»

На самом деле мне удалось удалить запись из черного списка нескольких компаний, но через неделю я очень расстроился. Вот что ответил мне QuickHeal.

Привет от Quick Heal!

Просим вас предоставить свой контактный номер и удобное время для дальнейшего общения по поводу сообщения о проблеме.

Жду вашего ценного ответа.

В случае каких-либо трудностей, пожалуйста, свяжитесь с нами. С уважением, команда поддержки Quick Heal.

Есть ли что-то, чтобы дальше общаться по этому поводу? Я думаю нет. Должно быть совершенно ясно, что с моей стороны я ничего не могу сделать. Я получил аналогичный ответ от нескольких других компаний, говорящих, что они все еще находят доказательства вредоносного ПО на моем сайте. КАК? Я очистил базу данных, и мой домен не работает. Он никому не доступен. Как вы все еще можете найти записи? Ты отсталый или что? Должен ли я винить их? Возможно нет. Это был мой плохой код и сайт в конце концов, но все же. Ты понимаешь, что я чувствую.

После двух недель отправки нескольких электронных писем и заполнения форм я просто решил сдаться. Я один разработчик, и это был просто хобби-проект. У меня уже нет сил пытаться развязать его. Я потерял всякую надежду. Мне понравился мой домен. Это было очень хорошо, но теперь я чувствую, что проще просто отпустить его и купить новый.

Что я выучил

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

Так что в основном я просто потерял свой домен, потому что кто-то другой решил это сделать. Конечно, это было также из-за плохого кода, но, в конце концов, как я мог знать, что вернуть домен будет так сложно? Это был всего лишь хобби-проект. Действия по возвращению моего домена слишком сложны для меня. Я отменил свой домен и скоро куплю новый. По крайней мере, я получу скидку на новый домен, так как цены на домен xyz подскочат с одного доллара до более чем десяти долларов после первого года.

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

Спасибо за чтение. Чтобы связаться со мной, пожалуйста, проверьте мой сайт https://nikiahlskog.com/