Руководство администратора Linux по безопасности

       

INN


Сервер usenet INN имеет длинную и страшную историю, в течение длительного периода не было никаких новых версий, и состояние сервера было неопределенным. Сервер ответственнен за обработку потенциально огромной загрузки, если Вы берете полный newsfeed, ему придется обработать несколько сотен статей в секунду, каждая статья приблизительно несколько килобайт размером. Всех их надо проиндексировать, записать на диск и предоставить клиентам. INN сам по себе безвреден, поскольку работает в своем каталоге и не имеет доступа за его пределы. Однако, как и в кадой системе сообщений, пробемы начнутся при использовании частной/конфиденциальной информации. Сейчас INN поддерживается ISC и доступен на

http://www.isc.org/inn.html.

Одна из основных угроз защиты INN нехватка ресурсов сервера. Если кто-то решает затопить Ваш сервер поддельными статьями или имеется внезапная волна статей (что вполне законно и реально), Вы можете столкнуться с проблемой, если пропускная способность недостаточна. INN имел несколько плохих отверстий в защите, но на сегодняшний день программисты, кажется, нашли и заделали все. По некоторым причинам (не только из-за безопасности) рекомендуется помещать буфер новостей на отдельный диск, уже не говоря о разделе. Вы можете также использовать ulimit, чтобы ограничить объем памяти доступный программе, чтобы она не могла занять все ресурсы.

Что касается доступа, Вы не должны позволять общий доступ. Любой публичный сервер новостей будет быстро атакован людьми, использующими его, чтобы читать новости, посылать spam и т.п. Ограничьте чтение новостей Вашей сетью. Доступ клиентов к INN контролируется файлом nnrp.access. Можно указать IP-адрес(а), имена доменов (например, *.example.org) и их права доступа (read и post), задать username и пароль. Однако, поскольку пароль оказывается связан с хостом/доменом, он не особенно удобен.

Пример nnrp.access:

*:: -no - : -no- :!* # denies access from all sites, for all actions (post and read), to all groups. *.example.org::Read Post:::* # hosts in example.org have full access to all groups *.otherexample.org::Read:::*, !me.* # hosts in otherexample.org have read access to everything but the me hierarchy *.otherexample.org:Read Post:myname:mypassword:* # give me access from my AOL account using a username and password

Если Вы собираетесь запускать news-сервер, я очень рекомендую книгу O'Reilly book "Managin g Usenet". Usenet похож на Sendmail.

News должен быть закрыт firewallом как большинство серверов:

ipfwadm -I -a accept -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 119 ipfwadm -I -a accept -P tcp -S some.trusted.host -D 0.0.0.0/0 119 ipfwadm -I -a deny -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 119

или

ipchains -A input -p tcp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 119 ipchains -A input -p tcp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 119 ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 119



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