Укрощение @Интернет@

Как удалить чужое сообщение из телеконференции?


Для начала маленькое лирическое отступление… В далекие доисторические времена, когда сеть была доступна ограниченному кругу лиц, и еще никто всерьез не задумывался о безопасности, для управления NNTP-серверами предложили использовать управляющие сообщения, – если в послании содержалось некое специальное ключевое слово, сервер интерпретировал следующий за ним текст как команды.

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

Управляющие сообщения отличаются от всех остальных наличием поля "Control" в заголовке или ключевого слова "cmsg" в поле "Subject", оставшаяся часть которого интерпретируется как команды. Поэтому, для администрирования сервера нет нужды в специализированном программном обеспечении, вполне сойдет ваш любимый клиент

(например, Outlook Express) .

Порой управляющими считаются поля "Subject", в сообщениях, адресованных группе "all.all.ctl". Забавно, что в попытках защитить свой сервер и установить фильтры для управляющих сообщений некоторые, между прочим достаточно многие, администраторы забывают об этой маленькой документированной

(плохо, но документированной) особенности, оставляя лазейку открытой.

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

Для удаления сообщения можно воспользоваться командой "cancel", указав уникальный идентификатор ("Message-Id") удаляемого сообщения. Отправлять такую команду может только администратор сервера или автор сообщения, то есть поля "From" в удаляемом и управляющем посланиях должны совпадать.


Для того Чтобы узнать идентификатор сообщения, достаточно просмотреть его заголовок. В Outlook Express это делается нажатием комбинации клавиш <Alt-Enter>

220 3031 <8cn934$f3r$2@news.medlux.ru> article

Path: news.medlux.ru!not-for-mail

From: kpnc@id.ru

Newsgroups: medlux.doc.rus

Subject: Test

Date: 8 Apr 2000 12:35:48 GMT

Organization: Medlux InterNetNews site, Moscow, Russia

Lines: 1

Approved: kpnc@aport.ru

Message-ID: <8cn934$f3r$2@news.medlux.ru>

NNTP-Posting-Host: ppp-18.krintel.ru

Xref: news.medlux.ru medlux.doc.rus:3031

Значение Message-Id в приведенном выше примере выделено жирным шрифтом. Для удаления этого сообщения достаточно лишь послать на сервер, в ту же самую группу управляющее сообщение, содержащее в поле "Subject" (тем сообщения) следующие строки: "cmsg cancel <8cn934$f3r$2@news.medlux.ru>". Для проверки – удалилось оно или нет – обновите список сообщений или попробуте загрузить удаленное сообщение, если оно еще не было загружено ранее. Опля! Получилось! (Ну, во всяком случае, автор на это надеется)

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

Внимание: пользоваться управляющими сообщениями следует крайне осторожно!.

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


Содержание раздела