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

         

CIFS


CIFS позволяет пользователю Linux устанавливать права разделения файлов в Windows менять ACL для файлов (под NT) и тому подобное. Вы можете получить CIFS для Linux с

http://www.linuxstart.com/~cifs

Back

Written by Kurt Seifried



CIPE (Crypto IP Encapsulation)


CIPE свободная схема шифрования IP-уровня, предполагаемая для использования между маршрутизаторами. Это подходит для безопасного соединения сетей через опасную сеть (подобную Internet). Официальный сайт CIPE:

http://sites.inka.de/~W1011/devel/cipe.html.



COAS


Проект COAS (Caldera Open Administration System) очень честолюбивый проект, призванный обеспечить управление системами из командной строки (с псевдографическим интерфейсом), из X (использование набора qt widget) и по сети. Вышла версия 1.0. Сайт COAS:

http://www.coas.org.



Coda


Расширенная сетевая файловая система.



http://www.coda.cs.cmu.edu.



Colorlogs


colorlogs ракрашивает log-файлы, позволяя легко найти подозрительное. Основанный на файле конфигурации, он ищет ключевые слова и сопоставляет им цвета строк (red, cyan и другие), требуется ввод с STDIN, так что Вы можете использовать это средство чтобы сделать быстрый обзор журналов (используя ?cat?, ?tail? или другие утилиты, чтобы передать файл программе). Получить можно на

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



Confcollect


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

http://www.skagelund.com/confcollect.



Contributions


Если Вы можете помочь в разработке и редактировании LASG, пишите мне на seifried@seifried.org. Вы будете внесены в список contributor.



Contributors


Alan Mead ? amead@soltec.net

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



Cops


Cops чрезвычайно устаревший сканер. Упомянут только для исторической точности.



Courier-IMAP


Courier-IMAP легкий сервер IMAP определенно для использования с почтовыми ящиками стиля Maildir (не /var/spool/mail). Скачать можно с

http://www.inter7.com/courierimap.



Crack


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

http://www.users.dircon.co.uk/~crypto.



CUPS


Common UNIX Printing System (CUPS) доступен по лицензии GPL и только что появился (версия 1.0). CUPS можно скаччать с

http://www.cups.org.


Common UNIX Printing System (CUPS), доступна по лицензии GPL, пока вышла версия 1.0. CUPS можно скачать с

http://www.cups.org.

Back

Written by Kurt Seifried



Cut the crap


Cut the crap (CTC) ориентирован на блокировку баннеров и экономию трафика при работе в сети за счет отсечения явно лишних данных. Скачать можно с

http://www.softlab.ece.ntua.gr/~ckotso/CTC.



CVS


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

Back

Written by Kurt Seifried



Cyclone


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



Cyrus


Cyrus является сервером imap (также поддерживает pop и kpop), нацеленным на ?закрытые? среды. То есть то, что пользователи не будут иметь никакого доступа к серверу, кроме imap или pop. Это позволяет Cyrus сохранять почту намного более безопасным способом и учитывает более простое управление больших инсталляций. Cyrus не GNU-лицензирован, но относительно ?free ?, и доступен на

http://asg.web.cmu.edu/cyrus/imapd. Набор дополнительных утилит для Cyrus можно скачать с

ftp://ftp.hr.vc-graz.ac.at/cyrus-tools.



Dante


Dante свободная начинка популярного сервера SOCKS. Доступен на http://www.inet.no/dante.



Debian GNU/Linux


Bugs: bugs@debian.org

Security:

http://www.debian.org/security



DeleGate


DeleGate многопротокольный proxy с поддержкой HTTP, NNTP, FTP, SSL proxying и другого. Имеет серьезные возможности защиты, доступен на

http://wall.etl.go.jp/delegate.



Dents


Dents представляет собой DNS-сервер, доступный по GPL, в настоящее время находится на тестировании (release 0.0.3). Dents написан с нуля с поддержкой SQL backends, интеграции с SNMP и использует CORBA для своих задач. В целом это должно создать хорошую конкуренцию Bind. Dents доступен на http://www.dents.org.

Back

Written by Kurt Seifried



Дезинфекция


Резервируйтесь и присматривайте за всем подозрительным в системе. Если кто-то получил root-доступ, он может устроить многое, от троянца в gcc/egcs до загузки интересных модулей ядра. Не ставьте неизвестный софт как root. Проверяйте PGP-сигнатуры загружвемых файлов.

Самый простой метод для пресечения вирусов: использовать инструментальные средства целостности системы типа tripwire, L5 и Gog&Magog, Вы сможете легко узнать какие файлы были изменены и восстановить их. Имеется также много антивирусных сканеров, доступных для Linux (но вообще говоря, не имеется Linux-вирусов).



Diablo


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

http://apollo.backplane.com/diablo.



Для безопасности


Данная заплата (Secure Linux kernel patch) решает ряд проблем и обеспечивает другой уровень защиты для системы. Заплата доступна для ядер серий 2.0 и 2.2. Скачать можно с

http://www.openwall.com/linux.



Для национальных версий


Данная заплата (International kernel patch) более мегабайта в размере! Добавляет огромное количество сильного crypto и связанных элементов. Это включает несколько алгоритмов шифрования, которые были AES-кандидатами (включая MARS из IBM). Вы можете скачать патч с http://www.kerneli.org.



DMail


DMail коммерческий почтовый сервер, открытых исходников не имеет. Пробная версия доступна на

http://netwinsite.com/dmail_first.htm.



DNews


Коммерческий NNTP-сервер для разных платформ. Доступен на

http://netwinsite.com/dnews.htm.



DNi


DNi представляет собой online cgi для создания наборов правил для ipfwadm. Попробовать можно на

http://members.tripod.com/~robel/dni.

Back

Written by Kurt Seifried



Добавочный CD


Данный диск содержит много дополнительных полезных программ (например, Tripwire):

Amanda (хороший пакет для резервирования)

ipmasqadm (пересылка порта на уровне ядра)

ipchains (установка firewall)

ProFTPD (сервер ftp, лучший чем WuFTPD)

Squid (ftp и www proxy-сервер)

Tripwire (создает контрольные суммы файлов и предупреждают Вас, если они изменяются



Доступ к файлам WWW-сервера


Теперь надо обновлять файлы на сервере... Зайти и использовать текстовый редактор (даже если у Вас shell-доступ) не самая лучшая мысль. Писать файлы на другой машине, а потом синхронизировать с сайтом... Бр-р, я сам этим занимаюсь, и должен сказать, что такая система заставляет о дальнейшем совершенствовании процесса. Есть несколько популярных пакетов HTML-разработки, способных обновлять сайт самостоятельно по FTP или windows file sharing.



Dpkg


Debian package system подобна RPM, однако испытывает недостаток по части функциональных возможностей, хотя и делает превосходную работу по управлению пакетами программ в системе. Oбъединив ее с утилитой dselect Вы можете соединяться с удаленными сайтами, просматривать доступные пакеты, устанавливать их, выполнять любые необходимые скрипты конфигурации, все из консоли. man-страница для dpkg "man dpkg" очень подробная.

Основной формат имени файла пакета Debian (.deb):

packagename_packageversion-debversion.deb

ncftp2_2.4.3-2.deb

В отличие от rpm-файлов, .deb-файлы не помечены для конкретной архитектуры, это надо помнить.

Команды и их функции:

-I Запрашивает пакет

-i Устанавливает пакет

-l Список установленных пакетов (аналог rpm -qa)

-r Удаляет пакет

Пример команды Действие
dpkg -i package.deb Устанавливает package.deb
dpkg -I package.deb Информация о package.deb (аналог rpm -qpi)
dpkg -c package.deb Список всех файлов в package.deb (аналог rpm -qpl)
dpkg -l Показывает все установленные пакеты
dpkg -r package-name Удаляет пакет 'package-name' (имя соответствует указанному в выводе команды dpkg -l)

Debian имеет 1500+ пакетов, доступных с системой. Вообще-то, dpkg имеет все необходимое для работы, но часто RPM удобнее.



Dpkg integrity


dpkg поддерживает MD5. MD5 входит во многие дистрибутивы.



Drall


Основанная на https система безопасного разделения файлов. Скачать можно с

http://www.edlund.org/hacks/drall/index.html.



Другие Identd daemons


Есть несколько версий identd, предположительно с расширенной безопасностью.

http://insecurity.net: Paul's secure identd, написан на Perl

http://www.tildeslash.org/nullidentd.html: null identd

http://www.ajk.tele.fi/~too/sw: fake identd

http://p8ur.op.het.net/midentd: midentd

http://www.nyct.net/~defile/programs/ident2: ident2

ftp://junker.org/pub/lidentd: lidentd



Другие перехватчики


Вот список еще нескольких перехватчиков пакетов (снифферов) для Linux, основанных на библиотеке libpcap:

http://www.mtco.com/~whoop/ksniff/ksniff.html - KSniff

http://ksniffer.veracity.nu - Ksniffer

http://mojo.calyx.net/~btx/karpski.html - karpski

http://www.ozemail.com.au/~peterhawkins/gnusniff.html - Gnusniff

http://www.xnet.com/~cathmike/mike/Software - ipgrab



DTK


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

http://all.net/dtk.



Два сервера с защищенным соединением


В нашем примере мы будем иметь следующую сеть:

Сервер A, где eth0 соединен с Internet и имеет IP-адрес 1.2.3.4, и eth1 соединен с внутренней сеткой и имеет IP-адрес 10.0.0.1.

Сеть A внутренняя: состоит из сервера A и машин подсети 10.0.0.*.

Сервер B, где eth0 соединен с Internet и имеет IP-адрес 5.6.7.8, и eth1 соединен с внутренней сеткой и имеет IP-адрес 192.168.0.1.

Сетьk B внутренняя: состоит из сервера B и машин подсети 192.168.0.*.

Сеть C Internet, с ним связаны серверы серверы A и B (по T1, давайте быть щедрыми).

Основная настройка серверов

На каждой машине установлена Red Hat Linux 6.1 со стандартным для нее ядром 2.2.12, удостоверьтесь что Вы устанавливаете ipchains, по умолчанию он обычно не ставится.

Идите на ftp.linux.org (или на Ваше любимое зеркало) и загрузите полное ядро Linux 2.2.10. Идите в /usr/src и удалите существующую ссылку linux, распакуйте ядро 2.2.10, переместите его в /usr/src/linux-2.2.10 и создайте ссылку "linux" на него. Теперь перейдите в каталог /usr/src/linux, настройте ядро, скомпилируйте и поставьте его. Удостоверьтесь, что Вы выбрали все элементы для IP-masquerading, и где возможно компилируйте их как статические компоненты, а не модули. Не забудьте использовать "make bzImage", так как новое ядро, вероятно, слишком большое для lilo, чтобы загрузиться.

cd /usr/src

rm linux

tar ?zvvxf /path/to/tarball/linux-2.2.10.tar.gz

mv linux linux-2.2.10

chown ?R root:root linux-2.2.10

ln ?s linux-2.2.10 linux

cd linux

make menuconfig

make dep

make bzImage

make modules

make modules_install

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.10

rm /boot/System.*

cp /usr/src/linux/System.map /boot/System.map

Теперь мы должны редактировать lilo.conf, выполнить lilo и перезагрузиться для работы с новым ядром. Удостоверьтесь что сеть работает перед попыткой установить программное обеспечение IPSec.

Lilo.conf должен напоминать:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz-2.2.10

label=linux

root=/dev/hda1

read-only

image=/boot/vmlinuz-2.2.5-12

label=linuxold

root=/dev/hda1

read-only

<
при перезапуске lilo Вы должны видеть нечто вроде:



linux *

linuxold
Теперь перезагрузитесь с ядром 2.2.10.

Теперь мы должны отредактировать правила firewall, на обеих серверах для использования masquerading для внутренних машин и применения запрета на forwarding:

Сервер A:



ipchains -P forward DENY

ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0
Сервер B:



ipchains -P forward DENY

ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
Не забудьте поместить эти правила в последними в Ваш скрипт для firewall. Вы также должны разрешить IP-forwarding, отредактировав файл /etc/sysconfig/network и заменив строку:



FORWARD_IPV4="no"
на строку:



FORWARD_IPV4="yes"
Вы должны теперь быть способны на ping сервер B из сети A (ping 5.6.7.8), и ping сервер A из сети B (ping 1.2.3.4).

Если все работает, можно начать установку IP Security.

Установка IPSec

Загрузите последний IPSec snapshot (версия 1.0 НЕ работает с ядрами 2.2.x). Перейдите в /usr/local/src (или куда Вы его положили), распакуйте исходники и запустите программу установки (обычно для ncurses-версий make menugo). Ядро будет пропатчено, после чего будет запущена настройка ядра и построение утилит IPSec и самого нового ядра.



cd /usr/local/src

tar ?zvvxf /path/to/tarball/snapshot.tar.gz

chown ?R root:root freeswan-snap1999Jun14b

cd freeswan-snap1999Jun14b

make menugo
Удостоверьтесь, что Вы сохраняете настройки ядра, даже при том, что параметры выбраны, они не были сохранены. Вам возможно также придется восстанавливать ядро, поскольку команда "make menugo" иногда выполняет "make zImage", а она обычно терпит неудачу из-за больших размеров ядеер серии 2.2.x. Сразу после комиляции в таком случае будет выдано сообщение об ошибке. Если оно есть, просто скомандуйте:



cd /usr/src/linux

make bzImage

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.10-ipsec
Теперь поправьте lilo.conf, запустите lilo и перезагрузитесь с новым ядром.



Lilo.conf должен выглядеть примерно так:



boot=/dev/hda

map=/boot/map

install=/boot/boot.b

prompt

timeout=100

image=/boot/vmlinuz-2.2.10-ipsec

label=linux-ipsec

root=/dev/hda1

read-only

image=/boot/vmlinuz-2.2.10

label=linux

root=/dev/hda1

read-only
При запуске lilo должен вывести нечто вроде:



linux-ipsec *

linux
После перезагрузки Вы получите ядро 2.2.10 с поддержкой IPSec. При перезагрузке будут сообщения об ошибках. Дело в том, что по умолчанию IPSEC установлен так, чтобы использовать интерфейс eth999, который конечно не существует. Вы должны также добавить /usr/local/lib/ipsec к Вашей инструкции path, или Вы будете должны каждый раз набирать полный путь.

Настройка IPSec

Мы первоначально используем ручной режим (то есть, пока мы игнорируем pluto IKE daemon) поскольку это делает жизнь более простой. Вы должны отредактировать файлы ipsec.conf и ipsec.conf. Эти два файла затем должны быть скопированы на другой сервер безопасным способом (ssh, гибким диском и т.д.).

Диаграмма сети:

Вы должны отредактировать файл ipsec.conf, большинство значений по умолчанию прекрасно, но Вы должны изменить следующее:



conn sample

type=tunnel

# left security gateway (public-network address)

left=

# next hop to reach right

leftnexthop=

# subnet behind left (omit if there is no subnet)

leftsubnet=

# right s.g., subnet behind it, and next hop to reach left

right=

rightnexthop=

rightsubnet=

#

spibase=0x200

# (manual) encryption/authentication algorithm and parameters to it

esp=3des-md5-96

espenckey=

espauthkey=
Замените espenckey и espauthkey на новые ключи (используя ranbits для генерации чисел, не забудьте вписать префикс 0x, который указывает, что число шестнадцатиричное):



conn my-tunnel

type=tunnel

# left security gateway (public-network address)

left=1.2.3.4

# next hop to reach right

leftnexthop=1.2.3.1

# subnet behind left (omit if there is no subnet)

leftsubnet=10.0.0.0/24

# right s.g., subnet behind it, and next hop to reach left

right=5.6.7.8

rightnexthop=5.6.7.1

rightsubnet=192.168.0.0/24

#

spibase=0x200

# (manual) encryption/authentication algorithm and parameters to it

esp=3des-md5-96

espenckey=some_auth_key_here (ranbits 192)

espauthkey=some_other_key_here (ranbits 128)
<


Скоируйте исправленные файлы ipsec.conf и ipsec.secrets на другой сервер каким- нибудь безопасным способом. Теперь все, что остается, это добавление некоторых правил firewall так, чтобы пакеты не получили masqueraded (мы просто хотим их послать).

На сервере A добавьте такие правила:



ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24
Удостоверьтесь, что эти правила появляются перед правилом masquerading, это должно выглядеть следующим образом:

#

# FORWARD RULES

#

ipchains -P forward DENY

#

ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

ipchains -A forward -p all -j MASQ -s 10.0.0.0/24 -d 0.0.0.0/0
На сервере B в основном повторите процесс:



ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24
Удостоверьтесь, что эти правила появляются перед правилом masquerading, это должно выглядеть следующим образом:



#

# FORWARD RULES

#

ipchains -P forward DENY

#

ipchains -A forward -p all -j ACCEPT -s 192.168.0.0/24 -d 10.0.0.0/24

ipchains -A forward -p all -j ACCEPT -s 10.0.0.0/24 -d 192.168.0.0/24

ipchains -A forward -p all -j MASQ -s 192.168.0.0/24 -d 0.0.0.0/0
Запуск вашего подключения

Теперь Вы должны быть способны создать ipsec туннель на обеих машинах вручную и машины в сети A должны быть способны разговаривать с машинами в сети B без проблем.



ipsec manual ?up my-tunnel
должно вывести нечто вроде:



/usr/local/lib/ipsec/spi: message size is 36

/usr/local/lib/ipsec/spi: message size is 132

/usr/local/lib/ipsec/spi: message size is 132
Для проверки попробуйте ping 192.168.0.2 с клиента 10.0.0.2 (Вы не можете сделать ping 192.168.0.1 на 10.0.0.1 или на внешние адреса шлюза, так как Вы не сконфигурировали туннели, чтобы обработать такие пакеты). Если это работает, Вы все установили правильно.


Два сервера с защищенным соединением через Internet (или по другой сети)


В этом примере я буду объяснять настройку, не касаясь установки, как выше.

Диаграмма сети:



E-mail серверы


Обзор

E-mail серверы

Sendmail

Postfix

Sendmail Pro

Qmail

Zmailer

DMail

nullmailer

MasqMail

POP серверы

WU IMAPD

Cyrus

IDS POP

GNU pop3d

Qpopper

IMAP серверы

WU IMAPD

Cyrus

Courier-IMAP

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

AMaViS

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

SSL в сочетании с серверами POP и IMAP

Некоммерческий софт для списков рассылки

SmartList

Majordomo

Minordomo

Sympa

Listar



Easy Firewall


Графическая программа на Tcl/Tk. Скачать можно с

http://www.linux-kheops.com/pub/easyfw/easyfwGB.html.



ECLiPt Secure Tunnel


Доступное по GNU licensed решение для Linux VPN. Пока на тестировании (и не рекомендуется для массового использования). Официальная страничка

http://eclipt.uni-klu.ac.at/projects/est.



Encrypted Home Directory


Encrypted Home Directory похож на CFS, но ориентирован на шифрование одиночного каталога. Обычно он создает файл размера X в /crypt с Вашим UID и монтирует его как loopback device, чтобы Вы могли к нему обратиться. Данные шифруются и дешифруются на лету по мере доступа к ним (аналогично CFS). Скачать можно с

http://members.home.net/id-est.



/Etc/groups


Файл groups хранит данные о принадлежности пользователей к группам и опциональные поля, вроде групповых паролей (сейчас обычно хранятся в файле gshadow), данный файл должен быть доступен на чтение всем пользователям для корректной работы системы. Его формат:

groupname:encrypted_password:GID:member1,member2,member3...

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



/Etc/gshadow


Аналогично файлу shadow, данный файл хранит группы и пароли для них. Данный файл должен быть доступен на чтение и запись только для root.



/Etc/inetd.conf


inetd.conf ответственен за запускаемые сервисы, обычно те, которые не должны выполниться непрерывно, или основаны на сеансе (например, telnet или ftpd). Для многих сервисов (например, DNS) имеет смысл не держать их запущенными постоянно. Для многих сервисов трата нескольких секунд на запуск некритична. man-страница по inetd.conf (?man inetd.conf?) рассматривает основы такого управления сервисами. Сам сервис называется inetd и вызывается при запуске системы, так что Вы можете легко менять форму работы сервисов, управляя процессом inetd. Всякий раз, когда Вы делаете изменения в inetd.conf, Вы должны перезапустить inetd, чтобы сделать изменения эффективными, killall -1 inetd перезапустит его правильно. Строки в inetd.conf могут быть закомментированы # как обычно (это очень простой и эффективный путь отключения сервисов подобных rexec). Желательно отключить так много сервисов в inetd.conf, как возможно, обычно единственные используемые будут ftp, pop и imap. Telnet и r-сервисы должны быть заменены на SSH. Доступ к программам, запущенным inetd может легко управляться использованием TCP_WRAPPERS.



/Etc/login.defs


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



/Etc/passwd


Файл паролей, возможно, наиболее критический системный файл в Linux (и большинстве других UNIX'ов). Он хранит сисок пользователей, соответствие их логинов, user ID и group ID. Он также может хранить зашифрованные пароли, но кудабезопасней хранить их отдельно в файле /etc/shadow (затенение паролей). Этот файл ДОЛЖЕН БЫТЬ открыт на чтение всем, иначе даже такая простая команда, как ls правильно работать не сможет. Поле GECOS (иногда пишут GCOS) может хранить реальное имя пользователя и его телефон. В данном файле также хранится информация о домашнем каталоге пользователя (в него он попадает при входе в систему) и его оболочке (shell, например, bash или программе menu), упомянутой в файле /etc/shells. Формат записей такой:

username:encrypted_password:UID:GID:GECOS_field:home_directory:login_shell

Пароли зашифрованы одним способом (обычно crypt, новые дистрибутивы поддерживают MD5, который является знаменательно более сильным). Пароли нельзя восстановить из зашрифованного вида, но можно попробовать шифровать слова из словаря (или просто перебором) и сравнивать результат с зашифрованным паролем. Как только совпал, пароль найден. Само по себе такое не очень плохо, хуже когда пользователи выбирают легко предполагаемые пароли. Самые современные результаты исследований показали, что 25% паролей можно найти за час или около того, и что намного хуже, 4% пользователей, выбирают их собственное имя как пароль. Пустые поля в поле пароля значат отсутствие пароля вообще. Так появляются записи вида ?::?, которые критичны для первых четырех полей в записи пользователя (имя, пароль, uid и gid).



/Etc/securetty


Данный файл хранит список терминалов с которых может зайти root. Консоли обычно обозначены с /dev/tty1 по /dev/tty6. Последовательные порты (если root может заходить по модему) обозначены обычно начиная с /dev/ttyS0 и выше. Если допускается вход root по сети (плохая идея, пользуйтесь лучше sudo), то добавьте /dev/ttyp1 и выше (если зашли 30 пользователей, а потом попытался зайти root, то он зайдет с /dev/ttyp31). Лучше всего ограничьте доступ root устройством /dev/tty1 и поставьте программу sudo: так оно безопасней.

Back

Written by Kurt Seifried



/Etc/services


Файл services перечисляет номера портов, протоколы и связанные имена. Формат его строк:

service-name port/protocol aliases # optional comment

Например:

time 37/udp timserver rlp 39/udp resource # resource location name 42/udp nameserver whois 43/tcp nicname # usually to sri-nic domain 53/tcp domain 53/udp

Этот файл используется при запуске 'netstat -a' и не используется при запуске 'netstat -an'



/Etc/shadow


Файл shadow хранит пары "username:password" и дополнительные сведения о логине, например, время окончания его действия. Он должен быть доступен на чтение и запись только для root.



/Etc/shells


Файл shells хранит список доступных оболочек (shells), если оболочка пользователя в нем не упомянута, зайти в систему он не сможет. Подробности в разделе про telnetd.



Ethereal


Хороший анализатор протокола сети с интерфейсом, подобным сетевому монитору NT. Позволяет простой просмотр полезных грузов данных для большинства сетевых протоколов (tftp, http, Netbios...). Основан на GTK, таким образом, для работы с ним, вероятно, понадобится пакет gnome. Доступен для скачивания на http://ethereal.zing.org .