Снова я о вопросах безопасности, и опять на личном примере.
Итак, с момента основания сайта umputun.com год назад, сердцем его был (и есть) совершенно замечательны форум UBB. Я писал, о том, как из форума, небогатых знаний HTML и некоторого знакомства с Perl, склепать за день-другой, сайт. Я сам свой так и сделал. О вопросах безопасности особенно не задумывался, но старался явных глупостей не делать. Ну, не давать пользователю, под которым бежит web server доступа, куда не следует, закрыть все, что можно через файрвол и т.п. В общем, стандартные меры безопасности, принятые на не очень секретных серверах. В комплексе с регулярным резервным копированием, мне казалось, что можно спать спокойно, враг не пройдет.
Но не тут-то было. Беда пришла, откуда не ждали. От приложений, написанных не мною, но совершенно необходимых в повседневной жизни. Ну, историю с ICQ я уже здесь рассказывал, вреда это принесло немного, только нервы попортил. Мне казалось, что все необходимые уроки из этого происшествия я вынес, вам рассказал, ICQ защитил со всех сторон и безопасность аппликаций теперь-то на уровне.
А проблема все это время дремала и мирно ждала своей очереди. Началось это с сообщения в форуме, где некий товарищ, звал моих посетителей к себе на сайт (я это не очень приветствую, но такие постинги не удаляю), просил помощи по поводу программирования на php и между делом сообщил, что UBB, который я использую дыряв. В качестве доказательства, товарищ установил себе уровень доступа в форуме Administrator.
Это, однако, крайне опасно. Поясню. Во первых, с этими правами, можно писать обзоры и статьи, в любые раздела сайта (от моего имени), а во вторых изменять любые постинги в форуме. А в третьих, нет об этом чуть позже, слишком жутко.
Прочитав этот постинг, я, первый раз за весь год существования сайта и форума, воспользовался своим правом модератора. Т.е. я удалил это сообщение из форума и уничтожил пользователя (ну понятно, не физически ) пославшего это сообщение. Может, кто и успел прочитать этот текст, но жил он на сайте не более 5-10 минут. Следующим шагом, было найти и залатать дыру, а на время поиска и починки, было принято довольно резкое решение, временно закрыть форум.
Тут я отойду от повествовательной части, и хочу коснуться аспекта допустимости публикации в открытых форумах информации об уязвимости компьютерных систем. Я считаю, что это абсолютно безответственно и провокационно, и даже если это делается из добрых намерений (что, в общем, и имело место в моем случае) публикующему такие вещи, стоит подумать, какие разрушительные последствия это может вызвать. Конечно, мне могут возразить, что оставлять дыры в системах, это еще хуже, но тут мы погружаемся в пучины спора, кто виноват – тот, кто оставил открытой дверь, или тот, кто залез в квартиру. В реальном мире, этот вопрос регулируется уголовным кодексом, но в виртуальном, споры не утихают. Для меня, этот вопрос не стоит. Если что-то плохо лежит, и я на это натыкаюсь, то мысль поломать (даже для демонстрации уязвимости) мне в голову не приходит. Иногда я сообщаю об этом администратору системы, иногда просто тихо ухожу.
Итак, продолжим. Мои попытки найти быстрое решение, успехом не увенчались. Описание дыры моей версии форума, я нигде найти не мог, а установка новой версии UBB, требовала просто массы изменений всего сайта. Ни сил, ни времени, ни желания устраивать революцию, у меня не было. Была мысль, заблокировать адрес пользователя, проникшего куда не надо, но понятно, что это не решение вопроса.
Короче говоря, через час я запустил форум, и продолжил искать дальше. И тут пользователь, хакнувший меня, появился уже под новым именем, и опять с лишними правами, правда, на этот раз не администратора, а модератора. В своем постинге, он посетовал на то, что вместо того, чтоб закрыть дыру, я удалил его сообщение. На мою просьбу, выслать мне информацию, о найденной им уязвимости, он любезно прислал как описание дыры, так и метода починки. Правда все это он вновь помести прямо в форуме, но часть, описывающая дыру, была мною удалена незамедлительно. Я после этого, даже в условия регистрации на форуме, внес пункт, запрещающий описание дыр и прочих уязвимостей на моем форуме.
После этого, я все починил, ужесточил условия регистрации, и принял ряд прочих профилактических мер. Но самое опасное последствие этого взлома, состояло в том, что пароль, использовавшийся мною, для публикации постингов, совпадал с паролем доступа к серверу по SSH ! А это вам не форум, попади такой пароль в чужие, вредные руки, тут последствия могут быть катастрофические. И тут, вина лежит, целиком на администраторе сервера, т.е. на мне. Абсолютно недопустимо, недальновидно и просто опасно, использовать один и тот же пароль для login в систему, и для чего-то еще. Ну, сейчас, все подозрительные пароли успешно заменены, а доступ в систему, я вообще ограничил локальной сетью, так что надеюсь, враг дальше не пройдет.
Если вы еще не поняли, что это было – то это был эксперимент под кодовым названием “назад в прошлое”, републикации заметки из моего уютного бложика, почти 10-ти летней выдержки.