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

         

Tiger


Tiger все еще в разработке, хотя кое-где уже начал использоваться (например, в Texas Agricultural and Mechanical University). Скачать можно с

ftp://net.tamu.edu/pub/security/TAMU.



Tripwire


Tripwire больше не имеет открытого кода. Я никогда не имел проблем с коммерческим программным обеспечением. Однако, когда Вы ожидаете хорошей защиты, отсутствие возможности посмотреть исходники, весьма беспокоит. Tripwire стоит примерно $70 для Linux и доступен только как пакет RPM, нацеленный на Red Hat Linux (tripwire стоит около $500 для других ОС). Альтернативой является несколько пакетов, например L5 или Gog&Magog. Tripwire доступен на

http://www.tripwiresecurity.com.


Копия Tripwire есть на добавочном CD с TurboLinux, советую его использовать. Я не знаю, как данная копия лицензирована (free for non commercial use only, one license или что-то еще). Есть Tripwire 1.3.



Troll ftpd


Troll ftpd чрезвычайно маленький и относительно надежный сервер. Он не может выполнять внешние программы и очень прост в настройке. Доступен на

http://www.troll.no/freebies/ftpd.html.



Ttysnoop


Конечно это все хорошо, когда все правильно. Но что, если Вы фактически хотите контролировать то, что пользователь делает. Ttysnoop позволяет Вам контролировать то, что пользователь делает и записывать это. Вы можете получать ttysnoop с http://uscan.cjb.net.



TurboLinux




Bugs: jht@turbolinux.com 

Security: jht@turbolinux.com

Support: support@turbolinux.com

http://www.turbolinux.com/support

Back

Written by Kurt Seifried



TurboLinux имеет установку, очень похожую


TurboLinux имеет установку, очень похожую на Red Hat, Вы работаете с с текстовыми экранами, отвечаете на вопросы, а затем система устанавливает пакеты, и Вы настраиваете некоторые из них дополнительно (например, X). Имеется пара проблем с TurboLinux, который Вы будете должны исправить. Есть несколько утилит, которые входят в поставку TurboLinux, и которые стоило бы добавить в другие дистрибутивы (например, sudo).


Typhoon


Typhoon коммерческий сервер NNTP, нацеленный на конечных пользователей, то есть позволяет им читать и посылать статьи. Загрузить можно с http://bcandid.com.

Back

Written by Kurt Seifried



Улучшение безопасности E-Mail пакетом Procmail


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

ftp://ftp.rubyriver.com/pub/jhardin/antispam/procmail-security.html.



Updates


Обновления для Caldera OpenLinux 2.2 доступны на:

ftp://ftp.calderasystems.com/pub/openlinux/2.2/current/RPMS.

Back

Written by Kurt Seifried



UserIPAcct


UserIPAcct позволяет Вам контролировать использование bandwidth пользователем, это включает патч ядра и устанавливает правила (подобные в концепции firewalling) чтобы контролировать количество данных, которые программы пользователя посылают или получают. Вы не можете получить данные относительно PPP подключений но ведь и PPP daemon не выполняется от имени обычного пользователя (хотя сделать это в общем можно). Я рекомендую это на сервере оболочки, чтобы контролировать пользователей. Полный пает можно загрузить с

http://zaheer.grid9.net/useripacct.

Back

Written by Kurt Seifried



Userv


userv позволяет программам вызывать другие программы более безопасным способом, чем обычно. Это полезно для программ, которые требуют уровней доступа выше, чем нормальный пользователь, но Вы не хотите давать им root-доступ. Доступно на

http://www.chiark.greenend.org.uk/~ian/userv.



Установка Linux


Выбор носителя дистрибутива

CD ISO-образы

Быстрый старт Red Hat

It ain't over til...

Bastille Linux

Правильная установка Linux, первый шаг в устойчивую, безопасную систему. Имеются различные советы, предупреждения и приемы, чтобы заставить установку проходить проще, также как и некоторые проблемы, которые лучше всего решать в процессе установки (дисковое размещение, например).



Utftpd


utftpd безопасный вариант tftpd, обеспечивает намного более удобное управление доступом и поддержку некоторых других интересных свойств (типа управления изменениями). Вы можете также предоставлять доступ на основе IP-адреса, это означает, что Ваши конфигурации маршрутизатора и конфигурации автоматизированного рабочего места без диска могут сохраняться отдельно и независимо друг от друга. utftpd доступен по GPL на

http://www.nrw.net/uwe/utftpd.html.

Back

Written by Kurt Seifried



Утилиты сканирования системы


Обзор

Хост-сканеры

Cops

Tiger

check.pl

Сетевые сканеры

Strobe

Nmap

Network Superscanner

Portscanner

Queso

Сканеры вторжения

Nessus

Saint

Cheops

Ftpcheck / Relaycheck

SARA

BASS

Firewall-сканеры

Firewalk

Exploits



VCU


VCU (Velocity Cracking Utilities) программа, основанная на windows, для вскрытия паролей. VCU пытается делать раскалывание паролей простой задачей для компьютерных пользователей любого уровня опыта (за что ей большое спасибо от системных администраторов). Загрузить можно с http://wilter.com/wf/vcu.

Я надеюсь, что это достаточное побуждение, чтобы использовать теневые пароли и более сильное шифрование подобно MD5 (которое поддерживает Red Hat 6.0).



Версии ядра


Сейчас стабильными версиями ядра является серия 2.2.x, а тестовыми 2.3.x. Тестовая серия 2.1.x не рекомендуется из-за множества проблем. Серия 2.0.x устарела и не имеет ряда полезных возможностей. Увы, переход от 2.0.x к 2.2.x труден, надо обновить несколько пакетов программ, библиотек, ppp, modutils и другие (подробности в документации на ядро). Дополнительно храните старое рабочее ядро, добавьте для него запись в lilo.conf как "linuxold" или что-то подобное, тогда будет возможность отступления в случае необходимости.

Имеется ряд заплат ядра, которые могут расширить защиту Linux-системы. Одни предотвращают буферное переполнение, другие обеспечивают сильное crypto.



ViperDB


ViperDB проверяет setuid/setgid-программы и каталоги, и может сообщить (через syslog) Вам о любых изменениях или переустановить их владельца и права доступа должным образом. ViperDB создает серии баз данных (фактически, простые текстовые файлы) в каталоге, например файл /etc/.ViperDB может выглядеть так:

/etc/login.defs,1180,-,root,rw-,root,r--,r--,Apr,15,18:03 /etc/minicom.users,1048,-,root,rw-,root,r--,r--,Mar,21,19:11 /etc/CORBA,1024,d,root,rwx,root,r-x,r-x,Jun,14,16:51 /etc/X11,1024,d,root,rwx,root,r-x,r-x,Jun,14,23:05 /etc/cron.d,1024,d,root,rwx,root,r-x,r-x,Apr,14,17:09

К сожалению, ViperDB, кажется, не обрабатывает подкаталоги, так что Вы будете должны добавить их к файлу viperdb.ini:

find /etc/ -type d >> /usr/local/etc/viperdb.ini

viperdb.pl имеет 3 опции, -init (создает набор баз данных), -check (проверяет соответствие файлов базам данных, посылает сообщения syslog и обновляет базы данных) и ?checkstrict (проверяет соответствие файлов базам данных, если нужно, восстанавливает разрешения и принадлежность, посылает сообщения syslog и обновляет базы данных). Если Вы используете ?check, Вы получите предупреждение о том, что, например, /etc/passwd сейчас открылся для записи всем. Но, поскольку базы данных тут же обновятся, в следующий раз, когда Вы выполните viperdb, Вы не будете получать такое предупреждение. Я советовал бы запускать viperdb только в режиме ?checkstrict, и удостовериться, что Вы выполняете viperdb с опцией ?init после управления разрешением любого файла/каталога в защищенных каталогах. ViperDB доступен для загрузки на

http://www.resentment.org/projects/viperdb.



Virtual Private Server


Virtual Private Server (VPS) использует Perl и SSH для создания VPN. Загрузить можно с http://www.strongcrypto.com.


Virtual Private Server решение для VPN на основе PPP и SSH. Скачать можно с

http://www.strongcrypto.com.

Back

Written by Kurt Seifried



Virtual Tunnel


Virtual Tunnel (VTUN) поддерживает набор протоколо соединения и разные алгоритмы шифрования. Скачать можно с

http://vtun.netpedia.net.



Виртуальные частные сети (Virtual private networks, VPN)


Шифрование сетевых сервисов

Решения для VPN

IPSec: IPSec.

PPTP (Point to Point Tunneling Protocol)

CIPE (Crypto IP Encapsulation)

ECLiPt Secure Tunnel

Stunnel

Virtual Private Server

Virtual Tunnel

Zebedee

Virtual Private Server



Вирусные сканеры для Linux


Как установлено выше, вирусы не представляют реальной угрозы под Linux, но вирусные сканеры, которые могут работать под Linux могут быть полезны при фильтрации email/других форм содержания на шлюзах Вашей сети (Windows-машины встречаются где угодно). Очень обнадеживает тот факт, что платформа, которая используется как дополнительная линия защиты от вирусной опасности, сама не может быть атакована этой опасностью. Вы можете также проверять файлы на сервере файлов под Linux, к которому обращаются Windows-клиенты. К счастью, имеется несколько хороших антивирусных программ, доступных для Linux.



Вирусы


Обзор

Дезинфекция

Вирусные сканеры для Linux

Sophos Anti-Virus

AntiVir

InterScan VirusWall

F-Secure Anti-Virus

AVP

Проверка почты на вирусы



VNC


Virtual Network Computer (VNC) похож на X или PCAnywhere. Вы можете отображать графический рабочий стол, и управлять им дистанционно, с NT или Linux как сервером и/или клиентом. VNC в сети 10 megabit Ethernet хорош, но имеет тенденцию сильно загружать систему в сравнении с другими методами удаленного администрирования. VNC доступен на

http://www.uk.research.att.com/vnc. Защита VNC не очень хорошая, но есть несколько сайтов по защите VNC с использованием SSL, SSH и других методов. MindVNC является java-клиентом, который использует SSH, доступен на

http://www.mindbright.com/english/technology/products/mindvnc.html. Имеется заплата, чтобы добавить шифрование к VNC: http://web.mit.edu/thouis/vnc. Есть также страница про обеспечение работы VNC с SSH:

http://www.zip.com.au/~cs/answers/vnc-thru-firewall-via-ssh.txt.



Вскрытие паролей


В Linux пароли хранятся в зашифрованном виде, однако это не делает их невскрываемыми. Вы не можете расшифровать пароль, однако Вы можете шифровать список слов и сравнивать их. Если результаты соответствуют, Вы нашли пароль! Даже с теневым файлом паролей пароли все еще доступны пользователю root, и если Вы неправильно написали скрипт или программу, которые выполняются как root (например, www CGI-скрипт), файл пароля может быть отыскан нападавшими. Большинство программ выскрывания паролей позволяет работать параллельно на многих машинах, что ускрояет задачу.



Выбор носителя дистрибутива


Это проблема #1 от которой зависят скорость установки и в значительной степени безопасность. Мой любимый способ: установка по ftp, поскольку вставить временно сетевую карту нетрудно (если она еще не вставлена), а пакеты ставятся со скоростью более 1 megabyte/sec. Установка с CD-ROM вообще самая простая, поскольку диски обычно самозагружаемые, Linux находит CD и не задает вопросов по поводу каталога или имени файла (в противоположность установке с жесткого диска). Этот диск является оригиналом дистрибутива Linux, и Вы можете быть относительно уверены, что он безопасен (если получили его из уважаемого источника), если Вы параноидальны, однако не стесняйтесь проверить сигнатуры файлов.

FTP: быстро, нужна сетевая карта и сервер ftp (Windows-машина с пакетом типа warftpd будет работать).

HTTP: тоже быстро и несколько более безопасный чем публичный сервер FTP для установок.

Samba: быстро, хороший путь, если Вы имеете windows-машину (совместное использование CDROM).

NFS: не так быстро, но сейчас NFS работает в большинстве UNIX-сетей (даже NT теперь имеет NFS-сервер от MS), это обычно удобно. NFS единственная сетевая установка, поддержанная режимом быстрого старта Red Hat).

CDROM: если Вы имеете быстрый CD-ROM, он Ваша самая лучшая ставка: всего-то вставьте диск, загрузитесь с него, несколько раз нажмите Enter, и все готово! Почти все Linux CD-ROM теперь самозагружаемые.

Harddrive: вообще наиболее болезненный, windows быстро запутывается в именах файлов, установка с раздела ext2 обычно безболезненная.



Выявление перехватчиков пакетов


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



Webfs


webfs легкий www-сервер с поддержкой базовых функций, доступен на

http://www.in-berlin.de/User/kraxel/webfs.html.



WebImap


http://netwinsite.com/webimap/index.htm

Back

Written by Kurt Seifried



Webmin


Webmin одно из лучших инструментальных средств удаленного администрирования для Linux, написанное на Perl. Оно является легким в использовании и простым в установке. Вы можете назначать различных 'пользователей' (имена и пароли хранятся внутри webmin) и их уровни доступа. Например, можно предоставить пользователю bob право останавливать сервер, а john создание/удаление и управление пользователями. В дополнение к этому, данное средство работает на большинстве Linux платформ и ряде других UNIX платформ. Главное проблема с webmin несколько недостаточная документация в некоторых областях использования и факт, что пара username/password представлена чистым текстом в сети. Наиболее важно то, что это делает систему более доступной для нетехнических людей, которые должны управлять системами таким способом, что Вы не должны предоставить им фактический логин на сервере. Webmin доступен на

http://www.webmin.com/webmin, и в настоящее время свободен. Webmin по умолчанию работает на порте 10000 и должен быть прикрыт firewall:

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

или в терминах ipchains:

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



WebRAT


Инструмент администрирования WebRAT основан на web. Доступен на http://hq.hellug.gr/~webrat.



WebRFM


WebRFM (Web-based Remote File Manager), CGI-программа (на Perl), позволяет пользователям управлять своими файлами. Скачать можно с http://webrfm.netpedia.net.

Back

Written by Kurt Seifried



What is running and who is it talking to?


Как можно говорить о безопасности, когда Вы не знаете, что работает в системе? Для этой задачи ps и netstat неоценимы; ps сообщит Вам, что в настоящее время работает (httpd, inetd и т.д), а netstat сообщит Вам о состоянии портов (здесь мы заинтересованы портами, которые являются открытыми и слушают, которые ждут подключения). Мы можем смотреть на различные файлы конфигурации, которые управляют сервисами сети.



Windows-клиенты IPSec


Имеется также ряд пакетов под Windows для поддержки IPSec.



Wipe (durakb@crit2.univ-montp2.fr)


wipe надежно удаляет данные, перезаписывая файл многократно разными образцами. Вы можете использовать wipe для файлов или устройств. В первом случае помните, что имя файла и техническая информация о нем удалена не будет, будет уничтожено только его содержимое, после чего файл будет бесполезен для какого-либо восстановления. Скачать wipe можно с http://gsu.linux.org.tr/wipe.



Wipe (thomassr@erols.com)


Еще один удалитель для файлов, но он не поддерживает чистку устройств. Доступен на

http://users.erols.com/thomassr/zero/download/wipe.



WOTS


WOTS собирает log-файлы с нескольких источников и генерирует отчеты или сам принимает меры основываясь на том, что Вы ему велели. WOTS ищет регулярные выражения которые Вы определяете, и затем выполняет команды, которые Вы вносите в список. WOTS требует установки Perl и доступен на

http://www.vcpc.univie.ac.at/~tc/tools.



Writing Safe Setuid Programs


Writing Safe Setuid Programs чрезвычайно всесторонняя работа, которая охватывает почти все и доступна в формате HTML для простого чтения. Должна быть изучена любым, кто использует setuid-программы, уже не говоря о тех, кто их пишет. Доступно на

http://olympus.cs.ucdavis.edu/~bishop/secprog.html.



WU-FTPD


Один основной механизм защиты в WU-FTPD: использование chroot (подмена корневого каталога). Например: по умолчанию для всех анонимных (anonymous) пользователей задается каталог /home/ftp в качестве ?корневого? каталога. Они не могут выходить из и смотреть содержимое, скажем, /home или /etc. То же самое может применяться к группам пользователей, например Вы можете отправить всех пользователей, заходящих по ftp, в каталог /home или в домашний каталог пользователя. Такая подмена корневого каталога позволит избежать многих проблем. Это может быть выполнено с помощью /etc/ftpaccess и /etc/passwd (man ftpaccess выдаст все сведения). ftpd также проверяет файл /etc/ftpusers и, если пользователь в нем упомянут, ему будет отказано в доступе по ftp.

Подмена каталогов пользователей при входе по ftp проста, но описана плохо. Сервер ftp проверяет файл /etc/ftpaccess в поисках гостевой группы, которая пишется просто как "guestgroup какая-то-группа-в-системе" то есть "guestgroup users". Имя групы должно быть определено в /etc/group, в группу должны быть добавлены члены. Для них надо поправить строки в файле passwd, чтобы сервер ftp знал где искать их каталоги. Так как они теперь работают с подменой каталога (их каталог становится для них корневым), они не имеют доступа к /lib, так что Вы должны скопировать некоторые файлы в их каталог, чтобы программы вроде ?ls? работали правильно.

Установим для пользователя (billybob) доступ по ftp в его домашний каталог. В дополнение к этому billybob может заходить по telnet и менять свой пароль, но не может больше ничего сделать. Система использует теневые пароли, так что в поле пароля будет стоять 'x' для пользователя billybob.

Сначала впишем логин для пользователя billybob в файл /etc/passwd:

billybob:x:500:500:Billy Bob:/home/billybob/./:/usr/bin/passwd

Это означает, что сервер ftp будет представлять /home/billybob как его корневой каталог и переходить туда, представляя его для billybob как / (/home/billybob для остальной части пользователей). Конечно, /usr/sbin/passwd должен быть перечислен в /etc/shells, иначе ftp работать не будет. Подробно все описано в man-описании файла ftpaccess.


Теперь надо сказать серверу ftp, что данного пользователя надо пускать с подменой каталога. Для этого он должен быть членом группы (badusers, ftppeople, ...) которая задана в /etc/group. Потом данная группа должна быть указана в файле /etc/ftpaccess.

Теперь Вы должны скопировать некоторые библиотеки и исполняемые модули в chroot ?заповедник?, иначе ?billybob? работать не сможет. Нужные файлы доступны как пакеты (обычно называемые "anonftp"), как только они установлены, файлы будут скопированы в /home/ftp. Обратите внимание на то, что файл /etc/passwd используется просто для связи UID и usernames, если нужно чтобы billybob видел username, а не UID, добавьте строку для него (то есть, скопируйте его строку из реального /etc/passwd в этот). То же справедливо и для файла group.

Без "billybob:*:500:500:::" в /home/billybob/etc/passwd:

drwxr-xr-x 2 500 500 1024 Jul 14 20:46 billybob

и со строкой в /home/billybob/etc/passwd:

drwxr-xr-x 2 billybob 500 1024 Jul 14 20:46 billybob

и со строкой для группы billybob в /home/billybob/etc/group:

drwxr-xr-x 2 billybob billybob 1024 Jul 14 20:46 billybob

Billybob теперь может заходить по ftp, загружать и выгружать файлы из /home/billybob и менять свой пароль. Но больше ничего он делать не может.

FTP очень интересный протокол. Клиенты соединяются с сервером через порт 21 (обычно), а сервер отвечает им через порт 20, и через него он и передает данные. Из чего следует, что порт 20 должен принимать внешние соединения. Помните это при установке firewall. Также имеется 'пассивный' ftp и манера забивать гвозди микроскопом (просматривать ftp с помощью www-браузера), который создает входящие подключения с сервером ftp на высоких номерах порта (вместо того, чтобы использовать 20, они договариваются о других числах!). Если Вы создаете публичный сервер ftp, выделите под него отдельную машину, предпочтительно вне вашей внутренней LAN (см. Practical Unix and Internet Security на предмет дискуссии о концепции 'DMZ'). Вы можете скачать WU-FTPD с ftp://ftp.wu-ftpd.org.


WU IMAPD (contains the default popd for most distros)


POP и IMAP сильно связаны, но очень различны, так что я опишу их по отдельности. POP просто позволяетвносить в список сообщения, получать и удалять их. Имеется много серверов POP для Linux, которые входят во многие дистрибутивы. Основные проблемы с POP подобны многим другим протоколам; usernames и пароли передаются открытым текстом. POP может работать с SSL, однако не все клиенты почты поддерживает SSL, большинство серверов POP приходит конфигурированным, чтобы использовать TCP_WRAPPERS, что является превосходным методом для ограничения доступа. Пожалуйста см. раздел по TCP_WRAPPERS для большего количества информации. POP работает как root так как должен обращаться к почтовым ящикам пользователей), и разумеется в разных серверах есть разные дыры... POP работает через порты 109 и 110 (109 в основном устаревший), по протоколу tcp. Сервер Washington University IMAPD также приходит с сервером pop. Скачать можно с

http://www.washington.edu/imap.

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

или

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



WU IMAPD (imapd по умолчанию для большинства дистрибутивов)


IMAP представляет собой усиленный POP. Он позволяет не только получать почту с сервера, но и управлять ей на сервере (создавать папки для хранения почты на сервере, например). Возможна работа с несколькими почтовыми ящиками, несколько пользователей могут разделять почтовый ящик, можно сначала загружать только заголовки писем для их анализа. IMAP идеален для любого серьезного применения e-mail. По умолчанию серверы POP и IMAP, поставляемые в большинстве дистрибутивов (объединенные в один пакет, названный, что достаточно странно, imapd) покрывают все потребности.

IMAP также запускается как root, хотя imapd обычно понижается к привилегии пользователя, обращающегося к нему, и не может быть легко установлен, чтобы выполняться как не-root пользователь, так как он должен открывать почтовые ящики (а в случае IMAP создает папки, файлы и т.д. в основном каталоге пользователя), так что он не может при запуске иметь привилегии кого-либо, кроме root. Однако, после идентификации пользователя, принятие его привилегий вполне возможно. При этом данные серверы не могут быть chroot'ed (IMAP нужен доступ к /var/spool/mail и в основной каталог пользователя). Самая лучшая стратегия: своевременно обновлять софт. Washington University (WU) IMAPD доступен на

http://www.washington.edu/imap.

IMAP работает через порт 143, и многие серверы IMAPD поддерживают TCP_WRAPPERS, делая блокировку относительно легкой.

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

или

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



WWWOFFLE


WWWOFFLE хороший proxy для UNIX-систем, обрабатывает HTTP и FTP. Скачать его можно с

http://www.gedanken.demon.co.uk/wwwoffle.



X Window System


Обзор

Безопасность и настройка X-сервера

xhost

mkxauth

SSH tunnel



Xhost


xhost просто позволяет Вам определять, какие машины могут, а какие нет, соединяться с сервером. Конечно, это очень просто, в современных сетях само по себе помогает мало, но часто может пригодиться. Команда проста: 'xhost +example.org' добавляет example.org, 'xhost -example.org' удаляет example.org из списка допущенных, Вы должны также определить 'xhost -' чтобы включить список управления доступом.



Xipfwadm


Приложение xipfwadm написано на Tcl/Tk для X и предназначено для работы с правилами ipfwadm. Скачать можно с

http://www.x25.org/xipfwadm.html.



XNTP


XNTP доступен на

http://www.eecis.udel.edu/~ntp. Обычно нет никакой man-страницы по ntpd или xntpd (здорово, правда?), но документация может быть найдена в /usr/doc/ntp-xxxx или на

http://www.eecis.udel.edu/~ntp/ntp_spool/html/index.htm.



YaST


YaST (Yet Another Setup Tool) довольно хороший инструмент на основе командной строки (очень похож на scoadmin), который обеспечивает простой интерфейс к наиболее частым административным задачам. Он не имеет никаких условий для предоставления пользователям ограниченного доступа, так что годится только для root. Другая проблема: в отличие от Linuxconf, это не сетевое средство, так что придется регистрироваться на каждой управляемой системе, что может и повышает безопасность, но создает неудобства.



Защита PPP


PPP предоставляет соеднинения TCP-IP, IPX/SPX и NetBEUI по последовательным линиям (например, по модему). Это основной способ доступа в Internet большинства людей, так как все dial-up соединения фактически используют PPP). PPP-соединение по существу состоит из двух вычислительных устройств (компьютер, Palm Pilot, терминальный сервер...), связанных последовательной связью (обычно через модемы). Оба конца вызывают PPP, выполняют авторизацию (есть разные методы) и устанавливают связь. PPP не имеет никакой реальной поддержки шифрования, так что если Вы требуете безопасной связи, Вы должны использовать некоторую форму программного обеспечения для VPN.

Большинство систем вызывает PPP довольно сложным путем. Вы должны зарегистрироваться на терминальном сервере или его аналоге и запустить протокол PPP. Ваш логин и пароль будут переданы по сети в чистом виде, к тому же, нужен логин и пароль на другом конце линии. В этом случае сам PPP не обрабатывает авторизацию вообще. Несколько более безопасный метод обработки состоит в том, чтобы использовать PAP (Password Authentication Protocol). С PAP авторизация обрабатывается внутренне PPP, так что Вам не требуется "реального" логина на сервере. Однако, username и пароль все еще представлены чистым текстом, но по крайней мере система несколько более безопасна из-за отсутствия логинов пользователей.

Третий (и лучший) метод для аутенфикации: использовать CHAP (Challenge Handshake Authentication Protocol). Обе стороны обмениваются общими ключами и используют их, чтобы шифровать данные, посланные в течение опознавательной последовательности. Таким образом, Ваш username и пароль передаются относительно безопасно, однако фактически данные передаются как обычно. Одно замечание про CHAP: реализация Microsoft использует DES вместо MD5, что разрушает соединение с Linux-клиентом. Есть патчи для исправления данной ситуации. PPP входит почти во все дистрибутивы Linux, как часть ядра OS, Linux PPP-HOWTO есть на

http://www.linuxdoc.org/HOWTO/PPP-HOWTO.html.



Защита TCP-IP


TCP-IP был создан во времена, когда защита не являлась столь важной, как сейчас. Набор протоколов TCP-IP очень умно построен, но к сожалению не имеет никаких реальных условий для защиты (то есть аутенфикации, проверки, шифрования и так далее). Перехват пакетов, чтение полезного груза данных и тому подобные вещи легко осуществимы в сегодняшней сети Internet.

Имена хостов и их IP-адреса не всегда соответствуют друг другу. Не используйте авторизацию на основании имени хоста, если возможно. Поскольку обман кэша DNS довольно прост, надежней использовать IP-адрес (замечание автора русской версии: лично сталкивался с тем, что кто-то перехватывал IP-адрес доужественной мне фирмы, благодаря чему подставил меня по обвинению в атаке на университетский сервер, к которой я отношения не имел). Не имеется никаких механизмов в широком использовании, чтобы проверить, кто послал данные и кто их получает, за исключением использованием шифрования уровня сеанса или IP (IPSEC/IPV6 и другие VPN-технологии получают хороший импульс, благодаря такому подходу).

Вы можете отбрасывать входящие данные, которые уверяют, что пришли из Вашей сети: здесь ложь очевидна. Также надо запретить все исходящие данные, которые идут не с адресов Вашей сети. Это относительно просто, но огромное число сетей не делает этого (я потратил около года, приставая к моему ISP, прежде, чем они это запустили). Если бы каждая сеть блокировала ложные пакеты, опасности не было бы вовсе, а проследить хакера было бы на порядок проще (замечание автора русской версии: покажите мне админа, которому охота с этим разбираться. Обвинить пользователя ни за что много проще). Вы должны также блокировать зарезервированные сети (127.*, 10.* и им подобные). Я отметил много нападений из Internet с пакетами, помеченными как пришедшие из этих диапазонов IP. Если Вы используете сетевую трансляцию адреса (подобно IPMASQ) и не имеете правильного firewall, Вы можете быть легко атакованы или использованы, чтобы передать нападение третьему лицу.

Если Вы связались надежно с людьми, рассмотрите использование VPN-технологией. Единственная доступная технология, которая имеет широкую поддержку и планируется в качестве стандарта (в IPv6), это IPSec, это открытый стандарт, поддержанный многими разработчиками, и основные разработчики имеют фактические рабочие реализации в их OS (хотя некоторые повреждены, чтобы выполнить экспортные законы США). Пожалуйста см. подробности в приложении B или в разделе "Шифрование сервисов и данных".



Zebedee


Zebedee предоставляет шифрование трафика TCP между хостами и доступен для UNIX и Windows. Скачать можно с

http://www.winton.org.uk/zebedee.



Zebra


zebra еще более продвинутый пакет, чем gated и поддерживает хороший интерфейс командной строки стиля Cisco. Выполняется как daemon и поддерживает многопоточность для эффективности, каждый протокол (RIP, OSPF, и другие) имеет собственную конфигурацию, и Вы можете выполнять много протоколов одновременно (хотя это может привести к беспорядку и проблемам). Имеется главный порт конфигурации и порт для каждого протокола:

zebrasrv 2600/tcp # zebra service zebra 2601/tcp # zebra vty ripd 2602/tcp # RIPd vty ripngd 2603/tcp # RIPngd vty ospfd 2604/tcp # OSPFd vty bgpd 2605/tcp # BGPd vty ospf6d 2606/tcp # OSPF6d vty

Я советовал бы прикрыть с помощью firewall эти порты. Доступ управляется паролем входа в систему, а доступ к функциям команды требует другого пароля (использован тот же самый синтаксис как и Cisco, ?enable?). Скачать zebra можно с http://www.zebra.org.

Back

Written by Kurt Seifried



Zeus


Zeus www-сервер высшего уровня с поддержкой SSL. Это коммерческий продукт, и Вы можете получить 30-дневную демонстрашку с http://www.zeustechnology.com.



Zmailer


Zmailer представляет собой GPL mailer, доступный на http://www.zmailer.org. Он поддерживает обработку crypto и вообще хорошо написан.