1 Настройка NIS

реклама
Оглавление
Сетевое конфигурирование .........................................................................................................................
3
3 Установка прокси-сервера .......................................................
3.1 Настройка Squid ............................................................................
1 Базовая настройка сети .............................................................................................................................
4
3.2 Упражнения....................................................................................
1.1 Настройка сетевого интерфейса .........................................................................................................................
5
3.3 Решения .........................................................................................
1.2 TTY.......................................................................................................................................................................
11
Управление сетевыми клиентами .............................................
1.3 Перезапуск .........................................................................................................................................................
12
1.4 PPP – Протокол «точка-точка» ..........................................................................................................................
13
1 Настройка DHCP .......................................................................
1.5 ARP ......................................................................................................................................................................
17
1.1 Настройка DHCP ...........................................................................
1.6 Упражнения .........................................................................................................................................................
20
1.2 Упражнения....................................................................................
1.7 Решения ..............................................................................................................................................................
21
1.3 Решения .........................................................................................
2 Дополнительные сетевые настройки. Поиск и
2 Настройка NIS ...........................................................................
устранение неполадок .................................................................................................................................
22
2.1 Настройка NIS................................................................................
2.1 VPN ......................................................................................................................................................................
2.2 Упражнения....................................................................................
23
2.2 Поиск и устранение проблем .............................................................................................................................
2.3 Решения .........................................................................................
24
2.3 Упражнения ........................................................................................................................................................
29
3 Настройка LDAP ........................................................................
2.4 Решения ..............................................................................................................................................................
30
3.1 Настройка LDAP ............................................................................
Почта и новости ............................................................................................................................................
31
3.2 Упражнения....................................................................................
3.3 Решения .........................................................................................
1 Использование Sendmail ..........................................................................................................................
32
4 Аутентификация PAM ...............................................................
1.1 Использование Sendmail ....................................................................................................................................
33
1.2 Упражнения .........................................................................................................................................................
4.1 Настройка PAM ..............................................................................
38
1.3 Решения ..............................................................................................................................................................
4.2 Упражнения....................................................................................
39
4.3 Решения .........................................................................................
2 Управление почтовым трафиком ............................................................................................................
40
Безопасность системы ................................................................
2.1 Вступление ..........................................................................................................................................................
41
2.2 Настройка ............................................................................................................................................................
42
1 Настройка маршрутизатора .....................................................
2.3 Примеры ..............................................................................................................................................................
44
1.1 Настройка маршрутизатора ..........................................................
2.4 Упражнения .........................................................................................................................................................
45
1.2 Упражнения....................................................................................
2.5 Решения ..............................................................................................................................................................
46
1.3 Решения .........................................................................................
DNS ..................................................................................................................................................................
47
2 Защита FTP-серверов ..............................................................
1 Базовая настройка BIND ..........................................................................................................................
48
2.1 Настройка демона WU-FTPD ........................................................
1.1 Настройка BIND .................................................................................................................................................
2.2 Упражнения....................................................................................
49
1.2 Упражнения .........................................................................................................................................................
2.3 Решения .........................................................................................
53
1.3 Решения ..............................................................................................................................................................
54
3 Безопасная оболочка (OpenSSH) ............................................
2 Создание и поддержка зон DNS .............................................................................................................
55
3.1 Настройка OpenSSH .....................................................................
2.1 Создание зоны DNS ...........................................................................................................................................
3.2 Упражнения....................................................................................
56
2.2 Упражнения .........................................................................................................................................................
3.3 Решения .........................................................................................
60
2.3 Решения ..............................................................................................................................................................
61
4 Поддержание безопасности системы .....................................
3 Обеспечение безопасности DNS – сервера ..........................................................................................
62
4.1 Выполнение задач по поддержанию
3.1 Безопасность DNS ..............................................................................................................................................
безопасности .......................................................................................
63
3.2 Упражнения .........................................................................................................................................................
4.2 Упражнения....................................................................................
65
3.3 Решения ..............................................................................................................................................................
4.3 Решения .........................................................................................
66
Web-сервисы .................................................................................................................................................
Устранение неполадок в работе сети .......................................
67
1 Установка web-сервера ............................................................................................................................
1 Поиск неисправностей в сети ..................................................
68
1.1 Установка и настройка Apache ..........................................................................................................................
1.1 Поиск неисправностей в работе сети ..........................................
69
1.2 Упражнения .........................................................................................................................................................
74
Тест для закрепления знаний .....................................................
1.3 Решения ..............................................................................................................................................................
75
1 Тест ...........................................................................................
2 Поддержка web-сервера ..........................................................................................................................
76
2 Ответы к тесту ...........................................................................
2.1 Виртуальные сервера ........................................................................................................................................
77
3 Авторы .......................................................................................
2.2 Apache и mod_ssl ................................................................................................................................................
79
Словарь терминов ........................................................................
2.3 Упражнения ......................................................................................................................................................... 85
2.4 Решения .............................................................................................................................................................. 86
Соглашения, используемые в курсе
Новые команды описываются следующим образом:
command [options] [files]
где:

command – название команды

[...] - необязательные параметры

options – ключи, используемые командой

files – имена файлов, передаваемые как параметры
Например :
[root@test ] /# command parameter # comments about the command
results : the command completed
Символ «#» обозначает как комментарий, так и приглашение командной строки
суперпользователя.
Сетевое конфигурирование
В этой главе
1.7 Решения .........................................................................................
Сетевое конфигурирование .........................................................................................................................
3
2 Дополнительные сетевые настройки. Поиск и 4
1 Базовая настройка сети .............................................................................................................................
устранение неполадок .................................................................
1.1 Настройка сетевого интерфейса .........................................................................................................................
5
1.2 TTY.......................................................................................................................................................................
2.1 VPN .................................................................................................
11
1.3 Перезапуск .........................................................................................................................................................
2.2 Поиск и устранение проблем ........................................................
12
1.4 PPP – Протокол «точка-точка» ..........................................................................................................................
2.3 Упражнения ...................................................................................
13
1.5 ARP ......................................................................................................................................................................
2.4 Решения .........................................................................................
17
1.6 Упражнения ......................................................................................................................................................... 20
1 Базовая настройка сети
Ключевые файлы, термины и утилиты
/sbin/route
/sbin/ifconfig
/sbin/arp
/usr/sbin/arpwatch
/etc
1.2 Настройка сетевого интерфейса
Чтобы присоединить компьютер к локальной сети, необходимо настроить IPадрес и маску сети. Эти параметры используются для идентификации компьютера
в сети. Если компьютер должен иметь доступ в другую сеть, необходимо указать
маршрутизатор, через который этот доступ будет осуществляться.
ifconfig
С помощью утилиты ifconfig, можно вывести на экран или изменить
параметры сетевого интерфейса.
Перед использованием утилиты ifconfig должен быть загружен драйвер
сетевой карты, и сама карта должна быть распознана драйвером.
Команда ifconfig отображает либо все сконфигурированные интерфейсы,
либо принимает имя интерфейса в качестве аргумента.
[root@test root]# ifconfig
eth0
Link encap:Ethernet HWaddr 00:40:F4:98:D2:D9
inet addr:192.168.0.42 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:f4ff:fe98:d2d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:618 (618.0 b)
Interrupt:20 Base address:0xf000
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2476 errors:0 dropped:0 overruns:0 frame:0
TX packets:2476 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:558766 (545.6 Kb) TX bytes:558766 (545.6 Kb)
[root@test root]#
Команда ifconfig -a отображает все сетевые интерфейсы, включая не
сконфигурированные.
Чтобы настроить интерфейс с помощью DHCP, в вашей локальной сети должен
быть DHCP сервер. Интерфейс настраивается командой dhclient :
[root@test root]# dhclient
Internet Software Consortium DHCP Client V3.0.1rc13
Copyright 1995-2002 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP
Listening on LPF/eth0/00:40:f4:98:d2:d9
Sending on
LPF/eth0/00:40:f4:98:d2:d9
Listening on LPF/lo/
Sending on
LPF/lo/
Sending on
Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
send_packet: Network is down
DHCPDISCOVER on lo to 255.255.255.255 port 67 interval 5
DHCPOFFER from 192.168.0.254
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.254
bound to 192.168.0.30 -- renewal in 250 seconds.
[root@test root]#
Для конфигурирования интерфейса со статическим адресом, используется
следующий синтаксис:
[root@test root]# ifconfig eth0 192.168.0.42 netmask 255.255.255.0
[root@test root]# ifconfig
eth0
Link encap:Ethernet HWaddr 00:40:F4:98:D2:D9
inet addr:192.168.0.42 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:f4ff:fe98:d2d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:1302 (1.2 Kb)
Interrupt:20 Base address:0xf000
lo
Link encap:Local Loopback
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2479 errors:0 dropped:0 overruns:0 frame:0
TX packets:2479 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:559750 (546.6 Kb) TX bytes:559750 (546.6 Kb)
[root@test root]#
Маска подсети 255.255.255.0 не обязательна, так как такое значение используется
по умолчанию.
Сетевой интерфейс может иметь более одного IP адреса. Псевдонимы сетевых
интерфейсов имеют имена: eth0:0, eth0:1, и т.п...
[root@test root]# ifconfig eth0 192.168.0.42
[root@test root]# ifconfig eth0:1 192.168.0.43
[root@test root]# ifconfig eth0:2 192.168.0.44
[root@test root]# ifconfig
eth0
Link encap:Ethernet HWaddr 00:40:F4:98:D2:D9
inet addr:192.168.0.42 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::240:f4ff:fe98:d2d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:684 (684.0 b) TX bytes:1302 (1.2 Kb)
Interrupt:20 Base address:0xf000
eth0:1
Link encap:Ethernet HWaddr 00:40:F4:98:D2:D9
inet addr:192.168.0.43 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:684 (684.0 b) TX bytes:1302 (1.2 Kb)
Interrupt:20 Base address:0xf000
eth0:2
Link encap:Ethernet HWaddr 00:40:F4:98:D2:D9
inet addr:192.168.0.44 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:684 (684.0 b) TX bytes:1302 (1.2 Kb)
Interrupt:20 Base address:0xf000
lo
Link encap:Local Loopback
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2479 errors:0 dropped:0 overruns:0 frame:0
TX packets:2479 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:559750 (546.6 Kb) TX bytes:559750 (546.6 Kb)
[root@test root]#
Таким образом, компьютер может стать мостом между несколькими подсетями,
имея всего лишь одну сетевую карту.
Активация интерфейса:
[root@test root]# ifconfig eth0 up
или
[root@test root]# ifup eth0
Деактивация интерфейса:
[root@test root]# ifconfig eth0 down
или
[root@test root]# ifdown eth0
Все эти команды конфигурируют сетевую карту только до следующей
перезагрузки. Чтобы сохранить эту конфигурацию и после перезагрузки,
необходимо воспользоваться графической утилитой или модифицировать
указанный ниже файл:
[root@test root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.42
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
GATEWAY=192.168.0.254
ONBOOT=yes
MII_NOT_SUPPORTED=no
WIRELESS_ENC_KEY=""
[root@test root]#
route
С помощью команды route можно выводить на экран и конфигурировать
таблицу маршрутизации ядра. Наиболее часто эту команду используют для
установки маршрута по умолчанию, но с ее помощью можно также указать ядру,
через какой маршрутизатор посылать пакеты для определенной сети.
Чтобы вывести таблицу маршрутизации на экран, наберите route:
[root@test root]# route
Kernel IP routing table
Destination
Gateway
192.168.0.0
*
127.0.0.0
*
default
192.168.0.254
[root@test root]#
Genmask
255.255.255.0
255.0.0.0
0.0.0.0
Flags
U
U
UG
Metric
0
0
0
Ref
0
0
0
Use
0
0
0
Iface
eth0
lo
eth0
Также есть возможность не выполнять преобразование IP адресов в имена, что
весьма полезно, так как DNS запросы в большинстве случаев работают очень
медленно. Для этого используется флаг -n.
[root@test root]# route -n
Kernel IP routing table
Destination
Gateway
192.168.0.0
0.0.0.0
127.0.0.0
0.0.0.0
0.0.0.0
192.168.0.254
[root@test root]#
Genmask
255.255.255.0
255.0.0.0
0.0.0.0
Flags
U
U
UG
Metric
0
0
0
Ref
0
0
0
Use
0
0
0
Iface
eth0
lo
eth0
Flags
U
U
UG
Metric
0
0
0
Ref
0
0
0
Use
0
0
0
Iface
eth0
lo
eth0
Чтобы указать маршрут по умолчанию:
[root@test root]# route
Kernel IP routing table
Destination
Gateway
192.168.0.0
*
127.0.0.0
*
default
192.168.0.254
[root@test root]#
Genmask
255.255.255.0
255.0.0.0
0.0.0.0
Если несколько интерфейсов сконфигурированы с одним и тем же IP-адресом,
пакеты могут маршрутизироваться с помощью маски подсети в зависимости от
того, какая подсеть к какому интерфейсу подсоединена.
[root@test root]# route add -net 10.0.0.0 netmask 255.255.255.0 gw
192.168.0.253
[root@test root]#
Новая таблица маршрутизации:
[root@test root]# route -n
Kernel IP routing table
Destination
Gateway
10.0.0.0
192.168.0.253
192.168.0.0
0.0.0.0
127.0.0.0
0.0.0.0
0.0.0.0
192.168.0.254
[root@test root]#
Genmask
255.255.255.0
255.255.255.0
255.0.0.0
0.0.0.0
Flags
UG
U
U
UG
Metric
0
0
0
0
Ref
0
0
0
0
Use
0
0
0
0
Iface
eth0
eth0
lo
eth0
Также есть возможность указать устройство, которое будет использоваться для
маршрутизации пакетов:
[root@test root]# route add -net 10.0.0.0 netmask 255.255.255.0 gw
192.168.0.253 dev eth1
[root@test root]#
1.1 TTY
На заре компьютерной эры было слишком дорого иметь более одного компьютера
в одной компании. Все работали с одним большим компьютером с помощью
телетайпа, сокращенно: TTY. Сейчас это важная часть любой Unix системы. В
наши дни существуют виртуальные терминалы, экранные консоли для входа в
систему.
Введение в getty
getty - это программа, которая приветствует вас в консоли.
Mandrake Linux release 10.0 (Official) for i586
Kernel 2.6.3-7mdk on an i686 / tty1
test login:
Она запускается процессом init из /etc/inittab, и может работать на
последовательном порту.
Существует несколько утилит, разновидностей getty, с большим или меньшим
набором возможностей:

mingetty (малый размер, используется для виртуальных консолей)

agetty

mgetty
(последовательные порты, факсы, голосовая почта,
автоматическое определение протокола PPP)

uugetty

getty_em (упрощенная версия uugetty)

fbgetty
(альтернативный getty Linux)
(сложная)
(тоже, что и предыдущая, но с поддержкой видеобуферов1)
Сообщение, выводимое на виртуальной консоли, можно изменить,
отредактировав файл /etc/issue :
[root@test root]# cat /etc/issue
Mandrake Linux release 10.0 (Official) for i586
Kernel 2.6.3-7mdk on an i686 / \l
[root@test root]#
1 Здесь и далее по тексту под этим термином будет пониматься framebuffer,-прим.ред.
1.1 Перезапуск
Процесс init запускает несколько процессов getty. Для этих процессов
указывается2 опция “respawn”, которая позволяет перезапустить процесс, если
он прекратил свое выполнение.
Эта опция очень полезна для виртуальных терминалов: после того как отработает
процесс login, init запустит новый процесс getty, который будет ждать
следующего входа в систему.
Во время входа через виртуальную консоль процесс getty будет заменен на:

getty

login

bash
getty приветствует пользователя. Затем login проверяет его реквизиты (с
помощью службы PAM). На последнем шаге login запускает оболочку
прописанную в /etc/passwd; обычно это /bin/bash.
2 В файле /etc/inittab,-прим.ред.
1.1 PPP – Протокол «точка-точка»
Протокол PPP используется для установления соединения между двумя
компьютерами. Обычно этот протокол используется для связи по коммутируемым
линиям с помощью обычного модема.
Настройка
Основной конфигурационный файл: /etc/ppp/options.
Этот файл содержит значения по умолчанию, которые могут быть дополнены или
переопределены опциями командной строки, либо в конфигурационном файле
конкретного соединения. Последние создаются в каталоге /etc/ppp/peers/.
Таким образом, можно иметь файл /etc/ppp/peers/sunrise для
соединения с Интернетом по коммутируемой линии и файл
/etc/ppp/peers/dsl-provider для ADSL соединения с помощью
протокола PPPoE.
Аутентификация
Аутентификация может производиться различными способами:

PAP (Password Authentication Protocol – протокол аутентификации по паролю)

CHAP (Challenge Handshake Authentication Protocol - протокол аутентификации
с предварительным согласованием вызова)

MSCHAP (разновидность протокола CHAP от компании Microsoft; Linux может
работать только как клиент)
В случае протокола PAP аутентификация может, а в случае CHAP - обязана быть
двусторонней.
Обычно для аутентификации используется имя хоста.
Если желательно использовать другую учетную запись, ее нужно указать с
помощью опции name на клиенте в файле /etc/ppp/options:
name username
Файл паролей PAP/CHAP
В зависимости от выбранного метода аутентификации пароли PPP
хранятся одном из двух файлов. Поскольку файл содержит важную
информацию, он должен иметь следующие права доступа:
[root@test root]# ls -l /etc/ppp/chap-secrets /etc/ppp/pap-secrets
-rw------- 1 root daemon 78 fév 27 01:27 /etc/ppp/chap-secrets
-rw------- 1 root daemon 77 fév 27 01:27 /etc/ppp/pap-secrets
[root@test root]#
/etc/ppp/pap-secrets
# Secrets for authentication using PAP
# client
server
secret
user1
*
pw123
acceptable_local_IP_addresses
Этот файл указывает демону pppd использовать пароль pw123 для локального
имени user1 (которое не является настоящим именем хоста) при соединении с
любым сервером. Поскольку локальный IP-адрес не указан, будет принят любой
адрес.
/etc/chap-secrets
На стороне клиента:
# Secrets for authentication using CHAP
# client
server
secret
acceptable local IP addresses
user1
pppserver
pw123
pppserver
user1
pw001
На стороне сервера:
# Secrets for authentication using CHAP
# client
server
secret
acceptable local IP addresses
pppserver
user1
pw123
user1
pppserver
pw001
Команды

pon
Команда запускает ppp соединение. Если файл /etc/ppp/ppp_on_boot
существует и может быть исполнен, то запускается этот файл. В
противном случае будет использован файл /etc/ppp/peers/provider.
Другое имя соединения может быть передано как аргумент.

poff
Команда останавливает ppp соединение. Если установлено несколько
соединений, можно передать имя соединения в качестве аргумента. Либо
можно использовать опцию -a и остановить все ppp соединения.

plog
Отображает последние несколько строк регистрационного журнала ppp.

kppp
Программа KDE для управления соединениями по коммутируемым линиям.
Пример

Сервер
# /etc/ppp/pap-secrets
toto
*
"pw123"
192.168.13.13
Чтобы запустить PPP сервер, наберите
pppd /dev/ttyS0 38400 debug passive require-pap nodetach netmask
255.255.255.0 persist noipdefault 172.16.1.1:172.16.1.2 noauth

Клиент
# /etc/ppp/pap-secrets
toto
*
pw123
Опции PPP
# /etc/ppp/peers/provider
noauth
connect "/bin/true"
defaultroute
/dev/ttyS0
38400
nopersist
name toto
Чтобы запустить PPP на стороне клиента, наберите:
pppd call provider
1.1 ARP
Утилита arp может быть использована для просмотра и изменения ARPтаблицы ядра.
[root@test root]# arp
Address
HWtype
ARISTOTE
ether
[root@test root]#
HWaddress
00:C0:9F:2F:7E:DD
Flags Mask
C
Iface
eth0
Чтобы установить соответствие между какой-нибудь IP-адресом и заданным
MAC-адресов, выполните следующие команды:
[root@test root]# arp -s 192.168.0.69 00:02:03:97:2F:7A
[root@test root]# arp -a
ARISTOTE (192.168.0.254) at 00:C0:9F:2F:7E:DD [ether] on eth0
? (192.168.0.69) at 00:02:03:97:2F:7A [ether] PERM on eth0
[root@test root]#
arpwatch
Утилита arpwatch используется для мониторинга MAC-адресов и обнаружения
случаев вторжения в процесс обмена данными или новых компьютеров,
появившихся в локальной сети. С помощью syslog утилита регистрирует в
журнале такие события, как изменение MAC-адреса для какого-либо IP адреса,
либо появление нового MAC адреса в сети.
Для запуска утилиты arpwatch используется либо
сценарий/etc/init.d/arpwatch, либо команда arpwatch -d:
Эта запись в журнале показывает, что в сети появился новый неизвестный MACадрес.
[root@test root]# arpwatch -d
From: arpwatch (Arpwatch)
To: root
Subject: new station
hostname:
ip address:
ethernet address:
ethernet vendor:
timestamp:
<unknown>
192.168.0.69
0:9:6b:17:8a:b0
IBM Corporation
Monday, August 2, 2004 11:08:20 +0200
А сейчас изменился MAC-адрес: кто-то либо поменял сетевую карту, либо
пытается нелегально получить доступ к какому-то хосту, используя технику ARP
Spoofing.
[root@test root]# arpwatch -d
From: arpwatch (Arpwatch)
To: root
Subject: changed ethernet address
hostname:
ip address:
ethernet address:
ethernet vendor:
old ethernet address:
old ethernet vendor:
timestamp:
previous timestamp:
delta:
<unknown>
192.168.1.5
0:9:6b:17:8a:b0
IBM Corporation
0:9:6b:17:8a:b1
IBM Corporation
Monday, August 2, 2004 11:46:29 +0200
Monday, August 2, 2004 11:45:52 +0200
37 seconds
База данных MAC адресов хранится в файле /var/lib/arpwatch/arp.dat.
Вы можете отредактировать этот файл и удалить некоторые строки, чтобы
протестировать работу утилиты, заставив старые машины стать снова новыми:
[root@test root]# cat /var/lib/arpwatch/arp.dat
0:6:1e:df:69:80 192.168.1.60
1091437640
0:c0:9f:2f:7e:dd
192.168.1.254
1091437597
Каждая строка содержит MAC адрес, IP адрес и метку даты/времени (timestamp).
Метка даты/времени записывается в формате EPOCH (количество секунд,
прошедших с 1 января 1970 года). Чтобы отобразить ее в читабельном виде,
воспользуйтесь командой:
[root@test root]# date -d '1970-01-01 1091438200 sec' +"%Y-%m-%d %T %Z"
2004-08-02 10:16:40 CEST
1.2 Упражнения
Упражнение 1 :

Настройте вашу сетевую карту на использование DHCP.

Настройте вашу сетевую карту на использование статичного IP адреса.

Измените маршрут по умолчанию.

Сделайте свои изменения постоянными (работающими и после перезагрузки).
Упражнение 2 :

Какая программа getty используется в вашей системе?

Настройте систему так, чтобы была возможность войти в нее с 11-й и 12-й
консолей.

Настройте систему так, чтобы в нее можно было войти с помощью модема,
соединившись с терминалом, запущенным на последовательном порту.
Упражнение 3 :

Какой MAC-адрес у вашей сетевой карты? А у ваших соседей?

Установите и запустите утилиту arpwatch для отслеживания изменений в
вашей локальной сети.
1.1 Решения
Решение 1 :

Запустите dhclient

ifconfig eth0 192.168.0.42 netmask 255.255.255.0

route del default gw
route add default gw 192.168.0.254

Отредактируйте файл /etc/sysconfig/network-scripts/ifcfgeth0.
Упражнение 2 :

Посмотрите в файле /etc/inittab

Отредактируйте /etc/inittab
Упражнение 3 :

ifconfig
ping 192.168.0.x
arp -a

Следуйте инструкциям, приведенным в разделе arpwatch.
1 Дополнительные сетевые настройки.
Поиск и устранение неполадок
Ключевые файлы, термины и утилиты:
/sbin/route
/sbin/ifconfig
/bin/netstat
/bin/ping
/sbin/arp
/usr/sbin/tcpdump
/usr/sbin/lsof
/usr/bin/nc
1.2 VPN
Определение
VPN (Virtual Private Network – виртуальная частная сеть) – это технология
передачи данных, использующая существующую инфраструктуру (Интернет) для
создания виртуальных туннелей между хостами и сетями. Туннели могут быть
зашифрованы, защищая, таким образом, данные, передаваемые по небезопасному
соединению.
Для создания VPN, один из хостов должен шифровать данные, а другой хост –
дешифровать их перед маршрутизацией к непосредственному получателю.
Технологии VPN
Наиболее известные технологии:

PPP поверх SSH (SSL)

VTUN (UDP)

IPSEC (протоколы AH, ESP, IPCOMP и IKE)

PPTP (Microsoft)

CIPE (Crypto IP Encapsulation)
Утилиты Linux для настройки VPN

OpenSwan (замена FreeSwan)

OpenVPN

vtun / vtund

OpenSSH

pptp-server
1.1 Поиск и устранение проблем
Ping
Ping - хорошо известная утилита диагностирования сети.
[root@test root]# ping -c 1 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56(84) bytes of data.
64 bytes from 192.168.0.254: icmp_seq=1 ttl=128 time=0.347 ms
--- 192.168.0.254 ping statistics --1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.347/0.347/0.347/0.000 ms
[root@test root]#
Ping посылает ICMP-пакеты (ICMP_ECHO_REQUEST) и ожидает ответа
(ICMP_ECHO_REPLY). Утилита используется для выяснения того,
функционирует ли какой-либо хост.
Netstat
Утилита Netstat отображает сетевые соединения, таблицы маршрутизации,
статистику по интерфейсам, «маскарадные» соединения 3 и участие в
многоадресных рассылках данных:
[root@test root]# netstat -tua
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
Foreign Address
tcp
0
0 localhost:32768
*:*
tcp
0
0 *:imaps
*:*
tcp
0
0 *:pop3s
*:*
tcp
0
0 *:ldap
*:*
tcp
0
0 *:submission
*:*
tcp
0
0 *:pop3
*:*
...
[SNIP]
...
tcp
0
0 *:https
*:*
tcp
0
0 *:ldaps
*:*
udp
0
0 *:10000
*:*
udp
0
0 *:746
*:*
udp
0
0 *:749
*:*
udp
0
0 *:sunrpc
*:*
State
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
LISTEN
3 «Маскарад» («masquerade») - одна из технологий сетевой трансляции адресов (NAT),
позволяющая подключить локальную сеть к внешней, используя лишь один «настоящий» IP-адрес
(для шлюза),-прим.ред.
udp
0
0 *:ipp
[root@test root]#
*:*
Чаще всего с командой netstat используются следующие опции:
-t : tcp-соединения
-u : udp-соединения
-a : отображает сокеты, ожидающие и не ожидающие соединения
-n : не выполнять преобразование IP-адресов в имена
traceroute
Утилита traceroute отображает путь, проходимый пакетом для достижения
хоста, которому он предназначается. Путь представляется как список
маршрутизаторов, через которые прошел пакет.
[root@test root]# traceroute www.lynuxtraining.com
traceroute to www.lynuxtraining.com (80.74.141.177), 30 hops max, 38 byte
packets
1 ARISTOTE (192.168.0.254) 0.429 ms 0.207 ms 0.138 ms
2 nas-9t-lyo-3.nas.gaoland.net (62.106.138.36) 153.738 ms 149.115 ms
150.032 ms
3 V36.core1.lyo.gaoland.net (62.39.1.33) 155.857 ms 143.076 ms 144.016
ms
4 V4094.core1.cbv.gaoland.net (212.94.160.1) 149.877 ms 143.129 ms
149.892 ms
5 V3994.cbv1-co-1.gaoland.net (212.94.162.210) 144.010 ms 143.354 ms
143.884 ms
6 above.FreeIX.net (213.228.3.234) 156.043 ms 167.703 ms 150.071 ms
7 ge12-0.cr2.cdg2.fr.above.net (208.184.231.234) 155.856 ms 155.256 ms
155.883 ms
8 so-0-2-0.cr1.fra1.de.above.net (64.125.31.138) 168.015 ms 173.700 ms
167.933 ms
9 pos1-0.er1a.fra1.de.above.net (216.200.116.129) 168.030 ms 167.754 ms
173.911 ms
10 216.200.114.246.reverse.not.updated.above.net (216.200.114.246) 180.092
ms 167.796 ms 173.941 ms
11 r1ffm.vianw.net (213.2.252.65) 167.942 ms 173.209 ms 173.825 ms
12 zrhth1001.ch.vianw.net (213.2.254.26) 174.036 ms 173.590 ms 173.914 ms
13 ch-tixzh-cr2.metanet.ch (80.74.134.13) 167.981 ms 179.829 ms 167.982
ms
14 arc80-74-141-177.ch-meta.net (80.74.141.177) 167.852 ms 172.765 ms
173.993 ms
[root@test root]#
tcpdump
Утилита tcpdump предназначена для вывода на экран или в файл сетевого
трафика. Утилита очень полезна для диагностики и устранения проблем,
возникающих в сети. Для понимания выводимых утилитой данных необходимо
хорошее знание сетевых протоколов.
[root@test root]# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
23:16:09.728970 IP 192.168.0.42.32770 > ARISTOTE.domain: 25979+ A? test.
(33)
23:16:09.729675 arp who-has 192.168.0.42 tell ARISTOTE
23:16:09.729695 arp reply 192.168.0.42 is-at 00:40:f4:98:d2:d9
23:16:09.729796 IP ARISTOTE.domain > 192.168.0.42.32770: 25979 NXDomain0/0/0 (33)
23:16:09.729897 IP 192.168.0.42.32770 > ARISTOTE.domain: 25980+ A? Ooip.
(22)
...
[SNIP]
...
23:16:10.924134 IP 192.168.0.42.32848 > arc80-74-141-177.ch-meta.net.http: P
1:353(352) ack 1 win 5840 <nop,nop,timestamp 8727910 839017376>
38 packets captured
38 packets received by filter
0 packets dropped by kernel
[root@test root]#
Существует возможность добавления фильтров, чтобы видеть только
определенную часть трафика:
[root@test root]# tcpdump -i eth0 dst www.lynuxtraining.com and port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
23:22:42.053767 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: P
2566206792:2566207294(502) ack 3283895847 win 63712 <nop,nop,timestamp
9119099 839055676>
...
[SNIP]
...
23:22:44.073759 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: .
ack 18825 win 63712 <nop,nop,timestamp 9121120 839056650>
23:22:44.085583 IP 192.168.0.42.32870 > arc80-74-141-177.ch-meta.net.http: .
ack 18916 win 63712 <nop,nop,timestamp 9121132 839056661>
15 packets captured
24 packets received by filter
0 packets dropped by kernel
[root@test root]#
lsof
Аббревиатура «lsof» расшифровывается как LiSt Open Files – «перечислить
открытые файлы». Эта утилита выводит на экран файлы, открытые различными
процессами:
[root@test root]# lsof /dev/log
COMMAND PID USER
FD
TYPE
DEVICE SIZE NODE NAME
syslogd 1002 root
0u unix 0xcf360a00
4202 /dev/log
[root@test root]#
[root@test root]# lsof -i
COMMAND
PID
USER
FD
TYPE DEVICE SIZE NODE NAME
portmap
988
rpc
3u IPv4
4167
UDP *:sunrpc
portmap
988
rpc
4u IPv4
4186
TCP *:sunrpc (LISTEN)
rpc.statd 1049
root
4u IPv4
4313
UDP *:804
rpc.statd 1049
root
5u IPv4
4291
UDP *:801
rpc.statd 1049
root
6u IPv4
4327
TCP *:807 (LISTEN)
ypserv
1065
root
5u IPv4
4356
UDP *:819
ypserv
1065
root
6u IPv4
4361
TCP *:822 (LISTEN)
rpc.ypxfr 1494
root
4u IPv4
4794
UDP *:823
rpc.ypxfr 1494
root
5u IPv4
4797
TCP *:825 (LISTEN)
X
1546
root
1u IPv4
4948
TCP *:x11 (LISTEN)
slapd
1563
ldap
7u IPv4
4938
TCP *:ldap (LISTEN)
slapd
1563
ldap
8u IPv4
9766
TCP localhost:ldap>localhost:32872 (ESTABLISHED)
slapd
1563
ldap
14u IPv4 685334
TCP localhost:ldap>localhost:33132 (ESTABLISHED)
slapd
1563
ldap
16u IPv4
6181
TCP localhost:ldap>localhost:32785 (ESTABLISHED)
slapd
1563
ldap
17u IPv4
6664
TCP localhost:ldap>localhost:32820 (ESTABLISHED)
slapd
1563
ldap
23u IPv4
6675
TCP localhost:ldap>localhost:32822 (ESTABLISHED)
...
[пропущено]
...
named
3832 named
26u IPv4
9787
esd
3845 csahut
29u IPv4
9789
(CLOSE_WAIT)
snort
4260 snort
5u IPv4 685333
>localhost:ldap (ESTABLISHED)
[root@test root]#
TCP localhost:rndc (LISTEN)
TCP test:32873->test:squid
TCP localhost:33132-
nc
Название утилиты nc происходит от NetCat. Это универсальная утилита для
работы с протоколом TCP/IP.
Примеры:

Ожидание соединения на порту 23
[root@test root]# nc -l -p 2323

Инициирование соединения с портом 23
[root@test root]# nc -l -p 2323

Передача файла
[root@server root]# nc -l -p 2121 > my_file
[root@sclient root]# cat my_file | nc -q0 192.168.0.69 2121

Передача и упаковка каталога
[root@server root]# nc -l -p 2121 | gzip -c -d | tar -x
[root@sclient root]#

tar -c my_dir | gzip -c | nc -q0 192.168.0.69 2121
Защищенная передача файла
[root@server root]# nc -l -p 2121 | gpg –decrypt > my_file
[root@sclient root]# cat my_file | gpg -c | nc -q0 192.168.0.69 2121
1.1 Упражнения
Упражнение 1:

Почему вам следует настроить VPN ?
Упражнение 2 :

Запустите команду ping и отследите ее и только ее пакеты с помощью
tcpdump.

Какой протокол использует утилита traceroute? Отфильтруйте эти пакеты с
помощью tcpdump и распечатайте содержимое пакетов в шестнадцатеричном
и ascii форматах.

Воспользуйтесь netcat для передачи файлов.

Запретите вашему компьютеру отвечать на ICMP-пакеты.
1.1 Решения
Решение 1:

Позволяет пользователям получить доступ к локальной сети откуда угодно,
обеспечивая необходимый уровень безопасности

Чтобы безопасно соединить несколько офисов

Низкая цена решения
Решение 2 :

tcpdump -i eth0 icmp and src 192.168.0.42 and dst
192.168.0.69

tcpdump -i eth0 udp and src 192.168.0.42 and dst
192.168.0.69

Воспользуйтесь командами netcat, описанными в параграфе,
посвященном этой утилите

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
Почта и новости
В этой главе
2.1 Вступление ....................................................................................
Почта и новости ............................................................................................................................................
31
2.2 Настройка.......................................................................................
1 Использование Sendmail ..........................................................................................................................
32
2.3 Примеры ........................................................................................
1.1 Использование Sendmail ....................................................................................................................................
33
2.4 Упражнения....................................................................................
1.2 Упражнения .........................................................................................................................................................
38
2.5 Решения .........................................................................................
1.3 Решения ..............................................................................................................................................................
39
2 Управление почтовым трафиком ............................................................................................................40
1 Использование Sendmail
Ключевые файлы, термины и утилиты:
/etc/aliases
sendmail.cw
virtusertable
genericstable
Дата последнего изменения требований LPI (LPI
Objective):24 августа 2001 года
1.2 Использование Sendmail
Введение
Sendmail – это одна из самых старых почтовых программ. Она была создана
Эриком Оллмэном (Eric Allman) в 1979 году. Несмотря на некоторые ошибки,
влияющие на безопасность, она широко используется в Интернете и установлена
на большом числе почтовых серверов. Программа sendmail знаменита своим
конфигурационным файлом sendmail.cf, который очень тяжело понять, когда
редактируешь его впервые.
Настройка
Файл sendmail.cf нелегко редактировать, поэтому для настройки sendmail мы
воспользуемся другим, гораздо более простым файлом sendmail.cm. Затем мы
используем интерпретатор макро-языка m4, чтобы получить sendmail.cf на
основе нашего варианта sendmail.mc.
Пример файла sendmail.mc :
[root@test majordomo-1.94.5]# cat /etc/mail/sendmail.mc
divert(-1)
dnl This is the macro config file used to generate the /etc/sendmail.cf
dnl file. If you modify the file you will have to regenerate the
dnl /etc/sendmail.cf by running this macro config through the m4
dnl preprocessor:
dnl
dnl
m4 /etc/sendmail.mc > /etc/sendmail.cf
dnl
dn0l You will need to have the sendmail-cf package installed for this to
dnl
work.
dnl
dnl
dnl
dnl
dnl
dnl
dnl
( Это файл с макросами настройки, используемыми для генерации файла
/etc/sendmail.cf Если вы измените его, вам потребуется перестроить
файл /etc/sendmail.cf с помощью запуска интерпретатора m4 командой:
m4 /etc/sendmail.mc > /etc/sendmail.cf
Пакет sendmail-cf должен быть установлен для того, чтобы это сработало)
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
define(`confDEF_USER_ID',``mail:mail'')dnl
OSTYPE(`linux')dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
define(`confDOMAIN_NAME', `test@domain.org')dnl
define(`confTRUSTED_USERS',`majordomo')dnl
define(`confALIAS_WAIT', `30')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
dnl define delivery mode: interactive, background, or queued
dnl определение режима доставки: интерактивный (i), фоновый (b),
dnl или использующий очереди (q))
dnl define(`confDELIVERY_MODE', `i')
MASQUERADE_AS(`localhost.localdomain')dnl
FEATURE(`limited_masquerade')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(mailertable)dnl
dnl virtusertable: redirect incoming mail to virtual domain to particular
user or domain
dnl ( параметр virtusertable служит для перенаправления почты адресованной
виртуальному домену на адрес конкретного домена или пользователя )
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
dnl genericstable: rewrite sender address for outgoing mail
dnl (параметр genericstable служит для перезаписи адреса отправителя в
исходящих письмах)
dnl FEATURE(genericstable)dnl
FEATURE(always_add_domain)dnl
FEATURE(redirect)dnl
FEATURE(use_cw_file)dnl
...
[пропущено]
...
(`confDONT_BLAME_SENDMAIL',`GroupWritableAliasFile,IncludeFileInGroupWritable
DirPath')
You have new mail in /var/spool/mail/root
[root@test majordomo-1.94.5]#
Пример sendmail.cf :
[root@test majordomo-1.94.5]# cat /etc/mail/sendmail.cf
...
[пропущено]
...
Sfinal=4
R$+ :; <@>
R$* <@>
$@ $1 :
$@
handle <list:;>
handle <> and list:;
# strip trailing dot off possibly canonical name
# ( удаление замыкающий точки в вероятно канонических именах )
R$* < @ $+ . > $*
$1 < @ $2 > $3
# eliminate internal code
# ( исключение внутреннего кода )
R$* < @ *LOCAL* > $*
$1 < @ $j > $2
# externalize local domain info
# ( конкретизация информации о локальном домене )
R$* < $+ > $*
$1 $2 $3
R@ $+ : @ $+ : $+
@ $1 , @ $2 : $3
canonical
R@ $*
$@ @ $1
defocus
<route-addr>
... and exit
# UUCP must always be presented in old form
# ( UUCP всегда должен присутствовать в старом формате )
R$+ @ $- . UUCP
$2!$1
u@h.UUCP => h!u
# delete duplicate local names
# ( удаление дубликатов в локальных именах )
R$+ % $=w @ $=w
$1 @ $2
...
[SNIP]
...
SAddDomain
R$* < @ $* > $*
$@ $1 < @ $2 > $3
already fully qualified
R$+
add local qualification
$@ $1 < @ *LOCAL* >
u%host@host => u@host
Mlocal,
P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9,
S=EnvFromL/HdrFromL, R=EnvToL/
HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u
Mprog,
P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL,
R=EnvToL/HdrToL, D=$
z:/,
T=X-Unix/X-Unix/X-Unix,
A=smrsh -c $u
[root@test majordomo-1.94.5]#
Как правило, мы будем редактировать sendmail.mc и конвертировать его затем
в sendmail.cf с помощью команды:
[root@test majordomo-1.94.5]# m4 /etc/mail/sendmail.mc >
/etc/mail/sendmail.cf
sendmail.mc
Несколько полезных ключевых слов, которые по сути являются командами языка
m4:
divert : начала комментария. Комментарий продолжается до следующей
команды divert
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl : использовать
файл cf.m4 для генерации sendmail.cf
OSTYPE(`linux')dnl : Определение операционной системы, на которой
будет работать sendmail
define(`confTRUSTED_USERS',`majordomo')dnl : установить значение
переменной “confTRUSTED_USERS” равной “majordomo”.
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl : Одна из настроек
sendmail. Настроек у этой программы огромное множество, и описать их всех в
этом документе не представляется возможным.
Почтовые псевдонимы
Файл с описанием почтовых псевдонимов /etc/aliases (или /etc/mail/aliases) имеет
следующий формат:
bin:
daemon:
games:
ingres:
nobody:
system:
toor:
uucp:
root
root
root
root
root
root
root
root
В этом примере почтовые сообщения для таких адресатов, как например system
или daemon будут перенаправлены в почтовый ящик пользователя root.
Кроме того, можно запускать программу каждый раз, когда какой-то пользователь
получает письмо. Эта возможность используется majordomo. Для этого
используется следующий синтаксис:
majordomo
| /path/to/executable
Можно перенаправить почту на другой адрес:
user
user@new.address.com
Заметьте, что пользователи могут делать это самостоятельно, указав эту строчку в
файле .forward в своём домашнем каталоге.
Можно создать очень простой список рассылки:
localadmins
john, robert, paul
Каждый раз после изменения этого файла необходимо запустить команду
newaliases для того, чтобы изменения вступили в силу.
[root@test root]# newaliases
/etc/aliases: 29 aliases, longest 73 bytes, 855 bytes total
[root@test root]#
1.3 Упражнения
Упражнение 1 :

Выполните базовую настройку Sendmail.

Настройте свою систему так, чтобы она могла получать и отправлять письма
sendmail, запущенным на компьютерах ваших соседей.

Создайте почтовые псевдонимы
1.1 Решения
Решение 1 :

Используйте конфигурацию sendmail по умолчанию и укажите имя вашего
почтового домена.

Используйте команду mail. Письма можно посмотреть в
/var/spool/mail

Отредактируйте /etc/aliases
1 Управление почтовым трафиком
Ключевые файлы, термины и утилиты:
procmail
1.2 Вступление
Procmail используется для сортировки, фильтрации входящей почты и
выполнения других задач. Он может применяться как на стороне сервера, так и на
стороне клиента, если вы предпочитаете не использовать специализированный
почтовый агент.
1.3 Настройка
Когда пользователь получает новую почту, агент передачи почтовых сообщений
(MTA) проверяет файл .forward в домашнем каталоге пользователя. Если он
обнаруживает там почтовый адрес, то вся почта перенаправляется на него. Иначе
письма складываются в локальный почтовый ящик пользователя.
.forward
Файл .forward может быть использован в том числе для передачи почты в
другую программу, такую как procmail. Это делается с помощью каналов,
например вот так:
"|IFS=' '&&exec /usr/bin/procmail -f-||exit 75 #ВАШЕ_ИМЯ"
Путь должен указывать на исполняемый файл команды procmail. Используйте
which procmail для того, чтобы узнать, где он находится.
Комментарий важен для отладки, особенно если больше одного пользователя
имеют свои procmail-сценарии.
Некоторые MTA умеют использовать procmail по умолчанию, в этом случае
файл .forward вам не понадобится.
Нам не потребуется такая настройка, так как мы используем sendmail, а он по
умолчанию запускает procmail в качестве программы для доставки писем:
[root@test root]# grep procmail /etc/mail/sendmail.mc
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
FEATURE(local_procmail)dnl
MAILER(procmail)dnl
[root@test root]#
.procmailrc
Итак, поступившее письмо было перенаправлено программе procmail. Чтобы
обработать его, procmail ищет свой конфигурационный файл .procmailrc в
домашнем каталоге пользователя
Пример файла .procmailrc:
:0c:
$HOME/mail.backup
Эта настройка обозначает дописывание копии любого входящего письма к файлу
$HOME/mail.backup. Копирование производится потому, что в первой строке
указан флаг 'c', требующий скопировать письмо.
После второго двоеточия можно указать имя файла блокировки. Если оставить
это поле пустым, procmail автоматически создаёт файл блокировки lockfile. Если
второе двоеточие отсутствует, файл блокировки не создаётся.
Файл может содержать больше одной команды.
Если .procmailrc не найден, или письмо не удовлетворяет ни одному их
условий, оно добавляется к стандартному файлу входящей почты, как это
происходит при обычной доставке.
Формат .procmailrc

Стартовая строка
:0 с указанием нескольких флагов

Условия
Строка, начинающаяся с символа *

Доставка
файл или каталог, в который нужно передать почту, или строка начинающаяся
с | или !
1.1 Примеры
Игнорирование писем
:0
* ^From.*someone.i.dont.like@somewhere.org
/dev/null
Письма с подходящим условию значением поля From будут сохранены в файл
/dev/null.
Запуск сценарии при получении почты
:0
* !^FROM_DAEMON
* !^FROM_MAILER
* !^X-Loop: myself@domain.org
| $HOME/bin/my.script
Все письма будут переданы на вход указанному скрипту, за исключением писем
от почтовых сервисов, почтовых программ, или писем, имеющих заголовок XLoop, содержащий myself@home.org.
Автоматический ответ
:0
* ^FROM.*root@test.domain.org
| (formail -rk \
-A "X-Loop: yourname@youraddress.com" ; \
echo "This is an automated response";\
echo "I am away from office, I will read your message later :)";\
echo "I'll be back on the 1st of september"; ) | /usr/sbin/sendmail -t -oi
Команда formail может написать письмо в ответ на другое (-r), сохранив
содержимое (-k). Полученное письмо будет перенаправлено команде sendmail, с
указанием взять адрес корреспондента из поля заголовка “To:” (-t).
Параметр -A добавляет дополнительные заголовки к письму. Заголовок X-Loop
поможет избежать зацикливания, если у вашего корреспондента установлен такой
же скрипт.
1.2 Упражнения
Упражнение 1 :

Настройте вашу систему на использование procmail

Настройте ваш систему так, чтобы она автоматически отсылала ответы на все
письма
1.1 Решения
Решение 1 :

Следуйте инструкциям этой главы

Используйте команду formail
DNS
В этой главе
2.2 Упражнения....................................................................................
DNS ..................................................................................................................................................................
47
2.3 Решения .........................................................................................
1 Базовая настройка BIND ..........................................................................................................................
48
3 Обеспечение безопасности DNS – сервера ..........................
1.1 Настройка BIND .................................................................................................................................................
49
3.1 Безопасность DNS.........................................................................
1.2 Упражнения .........................................................................................................................................................
53
3.2 Упражнения....................................................................................
1.3 Решения ..............................................................................................................................................................
54
3.3 Решения .........................................................................................
2 Создание и поддержка зон DNS .............................................................................................................
55
2.1 Создание зоны DNS ........................................................................................................................................... 56
1 Базовая настройка BIND
Ключевые файлы, термины и команды:
/etc/named.conf
/usr/sbin/ndc
/usr/sbin/named-bootconf
kill
1.2 Настройка BIND
Аббревиатура «BIND» расшифровывается как «Berkeley Internet Name Domain».
Данный продукт является наиболее распространенным среди DNS – серверов в
Интернете и работает на операционных системах Linux, Unix, а также на
платформах Windows.
Существуют три главных ветви разработки BIND:

Версия 4.х : старая версия, обновления только в части безопасности

Версия 8.х : новое поколение BIND

Версия 9.х : замена версии BIND 8
Для установки нового DNS – сервера Вам необходимо выбрать последнюю
версию 9 – ого поколения.
Файл /etc/named.conf
- основной конфигурационный файл. На разных
платформах его местоположение варьируется. Данный файл содержит директивы
inlcude для других конфигурационных файлов, что упрощает их поддержку.
В версиях 4.х использовался файл /etc/named.boot, которого нет в более
поздних версиях. Для преобразования его в формат 8 и 9 версий воспользуйтесь
утилитой named-bootconf.
При настройке DNS – сервера необходимо создать файл, в котором определяются
зоны. Обычно он размещается в директории /var/named/, но это
настраивается в файле /etc/named.conf.
Команда ndc больше не используется, вместо нее появилась команда rndc.
Кэширующий сервер имен.
Создайте этот файл /etc/named.conf:
[root@test root]# cat > /etc/named.conf << EOF
> controls {
>
allow { 127.0.0.1; };
> };
>
> options {
>
directory "/var/named";
>
pid-file "/var/named/named.pid";
>
forwarders { 192.168.0.254; };
> };
> EOF
[root@test root]#
Перезапустите BIND :
[root@test root]# /etc/init.d/named restart
Остановка named: rndc: свзяь прервана: соединение не установлено
[ OK
Запуск named:
[ OK
[root@test root]#
]
]
Отредактируйте файл /etc/resolv.conf для работы с вашим DNS –
сервером. Теперь вы должны быть способны разрешать DNS – имена
самостоятельно:
[root@test root]# echo "nameserver 192.168.0.42" > /etc/resolv.conf
[root@test root]# ping www.lynuxtraining.com
PING www.lynuxtraining.com (80.74.141.177) 56(84) bytes of data.
64 bytes from arc80-74-141-177.ch-meta.net (80.74.141.177): icmp_seq=1 ttl=51
time=203 ms
64 bytes from arc80-74-141-177.ch-meta.net (80.74.141.177): icmp_seq=2 ttl=51
time=179 ms
--- www.lynuxtraining.com ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 179.680/191.397/203.115/11.725 ms
[root@test root]#
Настройка RNDC
Аббревиатура «RNDC» обозначает «Remote Name Daemon Control». Этот
инструмент предназначен для управления удаленными (и конечно же,
локальными) серверами служб доменных имен. Он использует заранее
распределенные ключи (pre-shared keys) в качестве механизма авторизации.
В BIND встроена команда rndc-confgen , результатом работы которой
является создание конфигурационного файла для RNDC.
root@test root]# rndc-confgen |tee /etc/rndc.conf
# Начало файла rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "HDE+7c4aA5V470ghHlZfAw==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# Конец файла rndc.conf
# Используйте следующие команды в файле named.conf, чтобы настроить список
#разрешенных адресов так, как необходимо:
# key "rndc-key" {
#
algorithm hmac-md5;
#
secret "HDE+7c4aA5V470ghHlZfAw==";
# };
#
# controls {
#
inet 127.0.0.1 port 953
#
allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# Конец файла named.conf
[root@test root]#
Скопируйте вторую часть файла rndc.conf в файл named.conf и
перезапустите службу BIND.
Протестируйте BIND :
[root@test root]# rndc -s 127.0.0.1 status
number of zones: 2
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running
[root@test root]#
Запустите rndc без параметров , чтобы увидеть список доступных действий:
[root@test root]# rndc
Usage: rndc [-c config] [-s server] [-p port]
[-k key-file ] [-y key] [-V] command
command is one of the following:
reload
Reload configuration file and zones.
reload zone [class [view]]
Reload a single zone.
refresh zone [class [view]]
Schedule immediate maintenance for a zone.
reconfig
Reload configuration file and new zones only.
stats
Write server statistics to the statistics file.
querylog
Toggle query logging.
dumpdb
Dump cache(s) to the dump file (named_dump.db).
stop
Save pending updates to master files and stop the server.
halt
Stop the server without saving pending updates.
trace
Increment debugging level by one.
trace level
Change the debugging level.
notrace
Set debugging level to 0.
flush
Flushes all of the server's caches.
flush [view] Flushes the server's cache for a view.
status
Display status of the server.
*restart
Restart the server.
* == not yet implemented
Version: 9.2.3
[root@test root]#
1.1 Упражнения
Упражнение 1 :

Настройте кэширующий сервер доменных имен.

Настройте команду RNDC

Просмотрите журналы службы доменных имен
1.1 Решения

Следуйте инструкциям этой главы
1 Создание и поддержка зон DNS
Ключевые файлы, термины и команды:
содержимое /var/named
синтаксис файла зоны
форматы ресурсных записей
dig
nslookup
host
1.2 Создание зоны DNS
Теперь мы хотим стать авторизованным (authoritative) DNS-сервером для своей
зоны.
В этом примере мы создали зону под названием domain.org
Для каждого домена необходимы два файла, путь к которым определяется в
/etc/named.conf:

Один для разрешения имен в IP-адреса.

Другой для разрешения IP-адресов в имена.
Добавьте в файл named.conf :
zone "domain.org" {
type master;
file "zone/domain.org.zone";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "zone/0.168.192.rev.zone";
};
Создайте два новых файла :
Файл /var/named/zone/domain.org.zone :
$TTL
@
mail
ns
www
1H
IN SOA
2004050403
1H
1H
1H
1D
)
IN NS
IN MX
IN A
IN A
IN A
smtp
IN
CNAME
ns.domain.org root.domain.org. (
; Serial
; Refresh
; Retry
; Expire
; Negative Cache TTL
ns.domain.org.
10 mail.domain.org.
192.168.0.254
192.168.0.42
192.168.0.69
mail
и файл /var/named/zone/0.168.192.rev.zone :
$TTL
1H
@
IN
@
42
69
254
IN
IN
IN
IN
IN
SOA
NS
MX
PTR
PTR
PTR
ns.domain.org. root.domain.org. (
2004050403
; Serial
1H
; Refresh
1H
; Retry
1H
; Expire
1D )
; Negative Cache TTL
10
ns.domain.org.
mail.domain.org.
ns.domain.org.
www.domain.org.
mail.domain.org.
Файлы зон формируются из записей ресурсов (RR).
Ключевые понятия:

SOA (Источник полномочий)
Управление различными временными параметрами, касающимися разрешения
имени.

NS (Сервер имен)
Определяет серверы имен

MX (Почтовый агент)
Определяет почтовые сервера и их приоритет

A: соответствие имени адресу

PTR: соответствие адреса имени

CNAME (каноническое имя): псевдонимы
Проверьте синтаксис ваших конфигурационных файлов:
[root@test root]# named-checkconf
[root@test root]# named-checkzone domain.org /var/named/zone/domain.org.zone
zone domain.org/IN: loaded serial 2004050403
OK
[root@test root]# named-checkzone domain.org
/var/named/zone/0.168.192.rev.zone
zone domain.org/IN: loaded serial 2004050403
OK
[root@test root]#
Откройте на редактирование файл /etc/resolv.conf и добавьте в него
запись о вашем DNS-сервере :
[root@test root]# cat /etc/resolv.conf
search domain.org
nameserver 192.168.0.42
[root@test root]#
Директива search позволить вам разрешать имена хостов без использования
FQDN (полностью квалифицированного доменного имени)
Протестируйте ваш DNS-сервер :
[root@test root]# nslookup
> mail
Server:
192.168.0.42
Address:
192.168.0.42#53
Name:
mail.domain.org
Address: 192.168.0.254
> 192.168.0.69
Server:
192.168.0.42
Address:
192.168.0.42#53
69.0.168.192.in-addr.arpa
>
name = www.domain.org.
Главный и подчиненный
Сервер может быть подчиненным (slave) для одной зоны и главным (master) для
другой. В первом случае, сервер работает как резервная копия DNS – сервера и
отвечает на клиентские запросы , когда основной сервер не работает. Передача
зоны от главного сервера к подчиненному выполняется автоматически.
Для того, чтобы стать подчиненным для test.domain.org, добавьте
следующее в файл named.conf на подчиненном сервере.
zone "test.domain.org" {
type slave;
masters { 192.168.0.42; };
file "/var/named/zone/test.domain.org.zone";
};
Добавьте следующее в файл named.conf
zone "test.domain.org" {
type master;
file "zone/test.domain.org.zone";
allow-transfert {192.168.0.69;};
};
на главном сервере:
Перезагрузите подчиненный DNS – сервер.
Передача зоны.
Добавьте следующие строки в файл domain.org.zone :
sub.domain.org.
ns.sub.domain.org.
IN
IN
NS
A
ns.sub.domain.org.
192.168.0.43 ;
и эти строки в файл 0.168.192.rev.zone:
sub.domain.org.
43
IN
IN
NS
PTR
ns.sub.domain.org.
ns.sub.domain.org.
Затем сделайте новый DNS – сервер авторизованным для зоны
sub.domain.org
1.1 Упражнения
Упражнение 1 :

Создайте свою зону (без обратного зоны)

Проверьте ее при помощи команд nslookup, dig или host

Создайте обратную зону и протестируйте ее.

Настройте ваш сервер так, чтобы он был главным для одной зоны и
резервным для другой.
1.1 Решения
Решение 1 :

Следуйте инструкциям данной главы.
1 Обеспечение безопасности DNS –
сервера
Ключевые файлы, термины и команды:
SysV init files или rc.local
/etc/named.conf
/etc/passwd
dnskeygen
1.2 Безопасность DNS
Безопасность DNS чрезвычайно важна для сети, поскольку каждый хост
использует DNS. DNS – сервер должен отвечать на запрос клиента не слишком
большим количеством информации, а только тем, что необходимо. Разные
клиенты не могут запрашивать одну и ту же информацию у DNS – сервера.
Сокрытие версии
Множество инструментов, таких как nmap или amap, могут выдать версию DNS.
Это не слишком безопасно, но вы можете обмануть хакера, изменив баннер,
возвращаемый сервером и показав другую версию.
Options {
Version “None of your business”;
};
Ограничение запросов
В случае, если ваш DNS – сервер расчитан на работу только с внутренней сетью,
то он и должен обрабатывать только внутрисетевые запросы. В этом случае, BIND
позволяет ограничить ответы сервера в зависимости от IP – адреса клиента.
Глобально:
Options {
Allow-query { 192.168.0.0/24; };
}
Для зоны:
Zone domain.org {
Type slave;
File “zone/domain.org.zone”;
Allow-query { 192.168.0.0/24; };
};
Трансфер зоны
Трансфер зоны происходит между DNS – серверами и их резервными копиями.
Важно, чтобы загрузить себе зону могли только авторизованные подчиненные
сервера, а не кто попало.
На главном сервере:
Options {
Allow-transfer { 192.168.0.2; };
}
На подчиненном сервере:
Options {
Allow-transfer { none; };
}
Это может быть сделано сразу для всех зон, универсально, либо для каждой в
отдельности.
Прочее
Не запускайте службу доменных имен от имени root. Используйте опцию -u,
чтобы указать пользователя BIND, -g – для того, чтобы указать группу.
Используйте опцию -t для определения директории chroot.
В некторых дистрибутивах Linux есть пакет bind-chroot, который запускает
BIND в chroot-окружении.
1.1 Упражнения
Упражнение 1 :

Обеспечьте безопасность вашего DNS-сервера.

Проверьте трансфер зоны на резервный DNS – сервер с разных хостов.
1.1 Решения
Решение 1 :

Проверьте запрос на версию BIND при помощи следующей команды :
[root@test root]# host -c CHAOS -t txt version.bind
version.bind text "9.2.3"
[root@test root]#
Web-сервисы
В этой главе
2.2 Apache и mod_ssl ...........................................................................
Web-сервисы .................................................................................................................................................
67
2.3 Упражнения....................................................................................
1 Установка web-сервера ............................................................................................................................
68
2.4 Решения .........................................................................................
1.1 Установка и настройка Apache ..........................................................................................................................
69
3 Установка прокси-сервера .......................................................
1.2 Упражнения .........................................................................................................................................................
74
3.1 Настройка Squid ............................................................................
1.3 Решения ..............................................................................................................................................................
75
3.2 Упражнения....................................................................................
2 Поддержка web-сервера ..........................................................................................................................
76
3.3 Решения .........................................................................................
2.1 Виртуальные сервера ........................................................................................................................................
77
1 Установка web-сервера
Ключевые файлы, термины и утилиты:
access.log
.htaccess
httpd.conf
mod_auth
htpasswd
htgroup
1.2 Установка и настройка Apache
Введение
Apache – это самый популярный web-сервер (65% всех web-серверов в мире
работают под его управлением). Он является открытой реализацией протокола
HTTP и известен своей надёжностью и безопасностью.
Apache новых стабильных версий 2.x поддерживают многопоточность и
становятся стандартным компонентом дистрибутивов Linux.
Настройка Apache
Основным файлом настройки является /etc/httpd/conf/httpd.conf .
Иногда он расположен в каталоге /etc/apache/.
Как правило, существуют и другие конфигурационные файлы, например
modules.conf, который служит для загрузки модулей. В некоторых
инсталляциях файл конфигурации может быть разбит на насколько частей,
которые обычно находятся в каталоге /etc/httpd/conf.
Корневым каталогом с документами web-сервера (т.н. Document Root, именно там
находятся все файлы HTML или PHP) по умолчанию является /var/www/html.
Состояние сервера
Статусная страница, если она включена, доступна по адресу
http://192.168.0.42/server-status4. Из соображений безопасности она не должна
быть доступна из интернета.
Пример:
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.42
</Location>
Информация о сервере
Точно так же информационная страница, посвященная конфигурации сервера,
если она включена, располагается по адресу http://192.168.0.42/server-info. Для
включения этой опции необходимо загрузить модуль mod_info.c.
Пример:
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.42
</Location>
4 Конечно, имя сервера надо изменить в соответствии с вашими реалиями,-прим.ред.
Авторизация при помощи .htaccess
Для того, чтобы использовать аутентификацию, вам потребуется загрузить
модуль mod_auth.
Вот содержимое простого файла .htaccess, который нужно поместить в
каталог, доступ к которому необходимо ограничить:
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile "/etc/httpd/passwd"
require valid-user
Файл, указанный в параметре AuthUserFile содержит пароли, его можно
сгенерировать с помощью команды htpasswd. Этот файл должен находиться вне
каталогов, доступных снаружи через web-сервер.
Для того, чтобы создать файл паролей с паролем пользователя 'admin', выполните
следующие команды :
root@test root]# htpasswd -c /etc/httpd/passwd admin
New password:
Re-type new password:
Adding password for user admin
[root@test root]#
Для добавления пароля пользователя к существующему файлу:
[root@test root]# htpasswd /etc/httpd/passwd support
New password:
Re-type new password:
Adding password for user support
[root@test root]#
Не позволяйте отправлять файлы .ht* пользователям web:
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
Авторизация при помощи htdigest
Этот метод авторизации более надёжный, чем предлагаемый .htaccess. Он
работает практически так же, но использует файл htdigest вместо htpasswd.
Примерное содержание файла .htaccess:
AuthType Digest
AuthName "Restricted Directory"
AuthDigestFile "/etc/httpd/passwd_digest"
require valid-user
Для добавления пользователя в новый файл с паролями:
[root@test conf]# htdigest -c /etc/httpd/passwd_digest "Restricted Directory"
test
Adding password for test in realm Restricted Directory.
New password:
Re-type new password:
[root@test conf]#
Mod_perl
Для настройки mod_perl вам понадобится следующий фрагмент файла настройки
(указаны параметры по умолчанию):
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
ScriptAlias /protected-cgi-bin/ /var/www/protected-cgi-bin/
<IfModule mod_perl.c>
#Provide two aliases to the same cgi-bin directory,
#to see the effects of the 2 different mod_perl modes
#for Apache::Registry Mode
Alias /perl/ /var/www/perl/
#for Apache::Perlrun Mode
Alias /cgi-perl/ /var/www/perl/
</IfModule>
Перейдите по указанному адресу для проверки работы CGI :
http://192.168.0.42/cgi-bin/test.cgi
Mod_PHP
Для его настройки необходимо установить:

apache2-mod_php

php-ini
Создайте файл /var/www/html/index2.php со следующим содержанием:
[root@test html]# cat index2.php
<? phpinfo(); ?>
[root@test html]#
Введите следующий адрес в адресной строке браузера:
http://192.168.0.42/index2.php
Вы должны увидеть страницу с информацией о версии установленного
интерпретатора PHP и подключенных модулях расширения.
Настройка apache
Некоторые параметры:
StartServers: число серверных процессов, запускаемых при старте
MinSpareServers: минимальное число серверных процессов, которые могут
простаивать
MaxSpareServers: максимальное число серверных процессов, которые могут
простаивать
MaxClients: максимальное число серверных процессов, которые могут быть
запущены одновременно
MaxRequestsPerChild: максимальное число запросов, которое может
обработать один серверный процесс
MaxKeepAliveRequests: максимальное число запросов, поддерживаемых
одновременно
1.1 Упражнения
Упражнение 1 :

Настройте Apache и проверьте состояние сервера и информацию о серверных
настройках

Настройте доступ в один каталог с использованием базовой авторизации, а в
другой – с использованием digest-авторизации

Настройте mod_perl, mod_php и проверьте их работу
1.1 Решения
Решение 1 :

Следуйте инструкциям из этой главы
1 Поддержка web-сервера
Ключевые файлы, термины и утилиты:
httpd.conf
1.2 Виртуальные сервера
Для использования виртуальных серверов вам потребуется загрузить модуль
mod_vhost.
Виртуальные сервера на базе имени
Виртуальный сервер может быть определён по полю URL HTTP запроса.
Отредактируйте файл /etc/httpd/conf/vhosts/Vhosts.conf :
NameVirtualHost 192.168.0.42
<VirtualHost 192.168.0.42>
ServerName test.domain.org
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost 192.168.0.42>
ServerName vhost1.domain.org
DocumentRoot /var/www/html/vhost1
</VirtualHost>
<VirtualHost 192.168.0.42>
ServerName vhost2.domain.org
DocumentRoot /var/www/html/vhost2
</VirtualHost>
Перезапустите Apache:
[root@test root]# /etc/init.d/httpd restart
Shutting down httpd2:
Starting httpd2:
[root@test root]#
Создайте виртуальные сервера
[root@test
[root@test
[root@test
[root@test
[root@test
[root@test
root]#
html]#
html]#
html]#
html]#
html]#
cd /var/www/html
mkdir vhost1
mkdir vhost2
echo "vhost1" > vhost1/index.html
echo "vhost2" > vhost2/index.html
Вы должны увидеть разные сайты, когда обратитесь по адресам
http://vhost1.domain.org и http://vhost2.domain.org.
[
[
OK
OK
]
]
Виртуальные сервера на базе IP-адресов
Отредактируйте файл /etc/httpd/conf/vhosts/Vhosts.conf :
<VirtualHost 192.168.0.42>
DocumentRoot /var/www/html/vhost1
Servername test.domain.org
</VirtualHost>
<VirtualHost 192.168.0.43>
DocumentRoot /var/www/html/vhost2
Servername test.domain.org
</VirtualHost>
Перезапустите Apache:
[root@test root]# /etc/init.d/httpd restart
Shutting down httpd2:
Starting httpd2:
[root@test root]#
[
[
OK
OK
]
]
Добавьте новый виртуальный IP-адрес:
[root@test root]# ifconfig eth0:0 192.168.0.43
[root@test root]#
Вы должны увидеть разные сайты, обратившись по адресам http://192.168.12.42 or
http://192.168.0.43
1.3 Apache и mod_ssl
Mod_ssl – это модуль apache, используемый для создания сайтов, доступных по
протоколу https. Перед тем, как настраивать в apache поддержку HTTPS,
необходимо создать сертификаты. HTTPS использует SSL (Secure Socket Layer) и
требует наличия OpenSSL для генерации пары «публичный-частный ключ».
HTTPS-сервер должен иметь сертификат, который будет отправляться браузеру
клиента. Как правило, сертификаты продаются компаниями, выполняющими роль
центров сертификации.
Подготовка сертификатов и ключей с помощью сценария
Установите пакет apache2-modssl. Проверьте, что openssl уже
инсталлирован.
Запустите сценарий /usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh и
следуйте инструкциям:
root@test root]# /usr/lib/ssl/apache2-mod_ssl/gentestcrt.sh
maketestcrt -- Create self-signed test certificate (Создание самоподписанного
тестового сертификата)
(C) 2001 Jean-Michel Dault <jmdault@mandrakesoft.com> and Mandrakesoft
Based on cca.sh script by Ralf S. Engelschall
Will create server.key and server.crt in /root (Будем создавать server.key и
server.crt в каталоге /root )
INITIALIZATION
Generating custom Certificate Authority (CA) (Создание собственного центра
сертификации)
______________________________________________________________________
STEP 1: Generating RSA private key for CA (1024 bit) (ШАГ 1: Создание
частного ключа RSA для центра сертификации (1024 бита))
...
[пропущено]
...
2OtXXrvWs+n9oVvJStzueZXZTtDP+/kri2GZVZoFx4EVraXENqoePSf0XQJBAJFF
+/EySjBCWjzmdqlGZlrxSx2hl+afS6fJh+Ku/LC/GbfTNkAWu8q/zgCAqlNZdBGp
mw2cvRpEARRX1UqObgUCQEg9W5eoA29TwwC+9tEWKg+XcTu75h2w3CR6pdB4AQl0
YHOylsceiygo9Qu6zB6jAFMaSdOfdDjdtRh9auSxNfc=
-----END RSA PRIVATE KEY----Certificate creation done! (Создание сертификата завершено!)
[root@test root]#
Подготовка сертификатов и ключей вручную
В этом примере мы создадим свой собственный центр сертификации (Certificate
Authority). Для начала мы создадим частный ключ для CA (Certificate Authority):
[root@test root]# cd /etc/httpd/
[root@test httpd]# mkdir ssl && chmod 700 ssl
[root@test httpd]# cd ssl
[root@test ssl]# openssl genrsa -des3 -out my-ca
Generating RSA private key, 512 bit long modulus
........++++++++++++
...++++++++++++
e is 65537 (0x10001)
Enter pass phrase for my-ca: (Введите секретную фразу для my-ca )
Verifying - Enter pass phrase for my-ca: (Повторите секретную фразу для my-ca
)
Эта секретная фраза (passphrase) является паролем к нашему центру
сертификации (Certificate Authority - CA).
[root@test ssl]# openssl req -new -x509 -days 3650 -key my-ca.key -out myca.crt
Enter pass phrase for my-ca.key: (Введите секретную фразу для my-ca.key )
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
( Сейчас вам будут заданы вопросы по поводу информации, которая будет
включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Отличительным Именем (Distinguished
Name) или DN.
У него довольно много полей, но вы можете оставить некоторые из них пустыми.
Некоторые поля имеют значения по умолчанию, чтобы ввести туда пустое значение
нужно набрать '.'. )
----Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:Geneva
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LynuxTraining
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:user
Email Address []:user@lynuxtraining.com
[root@test ssl]#
[root@test ssl]# openssl genrsa -des3 -out my-apache.key 1024
Generating RSA private key, 1024 bit long modulus
......................................................................++++++
....++++++
e is 65537 (0x10001)
Enter pass phrase for my-apache.key: (Введите секретную фразу для myapache.key )
Verifying - Enter pass phrase for my-apache.key: (Повторите секретную фразу
для my-apache.key )
[root@test ssl]#
Теперь мы удалим секретную фразу из сертификата сервера Apache, чтобы нам не
приходилось вводить её каждый раз при старте:
[root@test ssl]# openssl rsa -in my-apache.key -out my-apache.key
Enter pass phrase for my-apache.key: (Введите секретную фразу для my-apache )
writing RSA key
[root@test ssl]#
Теперь мы можем создать запрос на подпись сертификата (Certificate Signature
Request), чтобы подписать его в нашем CA:
[root@test ssl]# openssl req -new -key my-apache.key -out my-apache.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
( Сейчас вам будут заданы вопросы по поводу информации, которая будет
включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Отличительным Именем (Distinguished
Name) или DN.
У него довольно много полей, но вы можете оставить некоторые из них пустыми.
Некоторые поля имеют значения по умолчанию, чтобы ввести туда пустое значение
нужно набрать '.'. )
----Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:Geneva
Locality Name (eg, city) []:
[root@test ssl]# openssl req -new -key my-apache.key -out my-apache.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
( Сейчас вам будут заданы вопросы по поводу информации, которая будет
включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Отличительным Именем (Distinguished
Name) или DN.
У него довольно много полей, но вы можете оставить некоторые из них пустыми.
Некоторые поля имеют значения по умолчанию, чтобы ввести туда пустое значение
нужно набрать '.'. )
----Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
[root@test ssl]# openssl req -new -key my-apache.key -out my-apache.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
( Сейчас вам будут заданы вопросы по поводу информации, которая будет
включена в ваш запрос на сертификат.
То, что вы собираетесь ввести, называется Отличительным Именем (Distinguished
Name) или DN.
У него довольно много полей, но вы можете оставить некоторые из них пустыми.
Некоторые поля имеют значения по умолчанию, чтобы ввести туда пустое значение
нужно набрать '.'. )
----Country Name (2 letter code) [AU]:CH
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:Geneva
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LynuxTraining
Organizational Unit Name (eg, section) []:
Проверьте, что вы поместили полное доменное имя (FQDN) в поле “Common
Name” !
Common Name (eg, YOUR name) []:test.domain.org
Email Address []:user@test.domain.org
Please enter the following 'extra' attributes
to be sent with your certificate request
(Пожалуйста, укажите следующие дополнительные атрибуты,
которые будут отправлены вместе с запросом на подпись сертификата)
A challenge password []:
An optional company name []:
[root@test ssl]#
И, наконец, мы подпишем сертификат Apache в нашем центре сертификации:
[root@test ssl]# openssl x509 -req -in my-apache.csr -out my-apache.crt -sha1
-CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 36
Signature ok
subject=/C=CH/ST=
/L=Geneva/O=LynuxTraining/CN=test.domain.org/emailAddress=user@test.domain.or
g
Getting CA Private Key (Получение частного ключа CA)
Enter pass phrase for my-ca.key: (Введите секретную фразу для my-ca.key )
[root@test ssl]# ls
my-apache.crt my-apache.csr my-apache.key my-ca.crt my-ca.key my-ca.srl
[root@test ssl]#
Изменяем права доступа:
[root@test ssl]# chmod 0400 *.key
[root@test ssl]#
Настройка Apache
Отредактируйте /etc/httpd/conf.d/41_mod_ssl.default-vhost.conf
и укажите корректные пути к файлам сертификата
...
[пропущено]
...
SSLCertificateFile /etc/httpd/ssl/my-apache.crt
...
[пропущено]
...
SSLCertificateKeyFile /etc/httpd/ssl/my-apache.key
...
[пропущено]
...
SSLCACertificateFile /etc/httpd/ssl/my-ca.crt
...
[пропущено]
...
Перезапустите Apache:
[root@test root]# /etc/init.d/httpd restart
Shutting down httpd2:
Starting httpd2:
[root@test root]#
[
[
OK
OK
Проверьте, как работает полученная конфигурация, обратившись по адресу
https://test.domain.org или по адресу, указанному вами при конфигурации
виртуального сервера.
]
]
1.4 Упражнения
Упражнение 1 :

Настройте в Apache виртуальные сервера, определяемые по имени

Настройте в Apache виртуальные сервера, определяемые по IP-адресу

Установите и настройте модуль SSL для web-сервера Apache
1.1 Решения
Решение 1 :

Следуйте инструкциям из этой главы
1 Установка прокси-сервера
Ключевые файлы, термины и утилиты:
squid.conf
acl
http_access
1.2 Настройка Squid
Вступление
Squid – это кэширующий прокси-сервер для систем на базе Unix.
Он может выступать в качестве прозрачного прокси-сервера, поддерживает
кэширование протоколов HTTP, FTP и других, а так же SSL и SNMP. Squid
может настраиваться с помощью гибких списков контроля доступа (ACL). Он
даже умеет кэшировать DNS-запросы.
Прокси-сервер Squid может существенно увеличить скорость web-серфинга,
кроме того его можно использовать вместе с утилитами вроде SquidGuard для
фильтрации URL.
HTTP прокси может работать двумя способами:

нормальная работа
Адрес прокси-сервера и его порт устанавливаются в настройках web-браузера.

прозрачный прокси-сервер
Брандмауэр или маршрутизатор перенаправляет весь HTTP-трафик (или
трафик данных, передаваемых по другим протоколам) на прокси-сервер.
В случае прозрачного прокси-сервера существуют два разных случая:

Squid на маршрутизаторе

Squid установлен на отдельном от маршрутизатора компьютере.
Настройка
Основной файл настройки – это /etc/squid/squid.conf.
Он содержит огромнейшее число параметров, большая часть которых
установлена по умолчанию. Squid прокси прекрасно работает в таком режиме.
Вам необходимо установить параметр visible_hostname, или Squid не
запустится.
visible_hostname test.domain.org
Для запуска Squid выполните следующую команду:
[root@test root]# /etc/init.d/squid start
init_cache_dir /var/spool/squid... Starting squid:
[root@test root]#
[
OK
]
Списки контроля доступа (Access Control Lists)
Списки контроля доступа (ACLs) позволяют вам ограничить доступ к проксисерверу.
Общий формат ACL правила такой:
# acl название_правила тип_правила строка_1 строка_2 ...
Примеры различных типов правил ACL:
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
acl aclname src
acl aclname src
acl aclname dst
acl aclname myip
ip-address/netmask ... (clients IP address)
(IP-адрес клиента)
addr1-addr2/netmask ... (range of addresses)
(диапазон IP-адресов)
ip-address/netmask ... (URL host's IP address)
(IP-адрес хоста, к которому обращается клиент)
ip-address/netmask ... (local socket IP address)
(локальный IP-адрес)
.foo.com ...
# reverse lookup, client IP
(домен, определяется по IP клиента)
acl aclname dstdomain
.foo.com ...
# Destination server from URL
(имя сервера)
acl aclname srcdom_regex [-i] xxx ...
# regex matching client name
(регулярное выражение, применяемое к домену клиента)
acl aclname dstdom_regex [-i] xxx ...
# regex matching server
(регулярное выражение, применяемое к имени сервера)
# For dstdomain and dstdom_regex a reverse lookup is tried if a IP
# based URL is used. The name "none" is used if the reverse lookup
# fails.
# ( Если установлены правила dstdomain и dstdom_regex, а клиент
# запрашивает ресурс по его IP-адресу, то прокси-сервер
# выполняет поиск DNS-имени по IP. Если поиск оказывается
# безуспешным, то используется имя "none". )
etc...
acl aclname srcdomain
acl aclname time
[day-abbrevs]
day-abbrevs:
S - Sunday
M - Monday
T - Tuesday
W - Wednesday
H - Thursday
F – Friday
[h1:m1-h2:m2]
Примеры ACL:
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
acl
all src 0.0.0.0/0.0.0.0
manager proto cache_object
localhost src 127.0.0.1/255.255.255.255
to_localhost dst 127.0.0.0/8
SSL_ports port 443 563
Safe_ports port 80
# http
Safe_ports port 21
# ftp
Safe_ports port 443 563
# https, snews
Safe_ports port 70
# gopher
Safe_ports port 210
# wais
Safe_ports port 1025-65535 # unregistered ports
Safe_ports port 280
# http-mgmt
Safe_ports port 488
# gss-http
Safe_ports port 591
# filemaker
Safe_ports port 777
# multiling http
CONNECT method CONNECT
Затем мы определяем параметр http_access, используя названия ACL:
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
Эти строки определяют, что можно и что нельзя делать в процессе использования
этого сервера как прокси.
Еще один пример ограничения доступа (полезный) :
acl our_networks src 192.168.0.0/24
http_access allow our_networks
Прозрачный прокси-сервер Squid, установленный на маршрутизаторе
Нам нужно перенаправить весь web-трафик (всё, что поступает на 80 порт) на
стандартный порт Squid (3128).
Это можно сделать с помощью следующих правил iptables:
[root@test root]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
REDIRECT --to-port 3128
[root@test root]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j
REDIRECT --to-port 3128
[root@test root]#
Здесь eth0 выступает в качестве интерфейса, через который клиенты
обращаются к маршрутизатору.
Прозрачный прокси-сервер Squid, установленный на отдельном
компьютере
Если Squid запущен на отдельном компьютере, то мы должны указать
межсетевому экрану или маршрутизатору на необходимость перенаправления
обращения к сервисам на компьютер, на котором установлен Squid:
Добавьте следующие правила iptables на межсетевом экране или
маршрутизаторе:
[root@test root]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to 192.168.0.42:3128
[root@test root]# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j
DNAT --to 192.168.0.42:3128
[root@test root]#
Здесь eth0 выступает в качестве интерфейса, через который клиенты
обращаются к маршрутизатору, а 192.168.0.42 - это IP-адрес прокси-сервера.
1.1 Упражнения
Упражнение 1 :

Установите и настройте Squid как обычный прокси-сервер на порту 3128

Установите и настройте Squid как прозрачный прокси-сервер

Проверьте работу прокси-сервера с помощью web-браузера
1.1 Решения
Решение 1 :

Следуйте инструкциям из этой главы
Управление сетевыми клиентами
В этой главе
Управление сетевыми клиентами .............................................................................................................
97
3 Настройка LDAP ........................................................................
3.1 Настройка LDAP ............................................................................
1 Настройка DHCP .......................................................................................................................................
98
3.2 Упражнения....................................................................................
1.1 Настройка DHCP .................................................................................................................................................
99
3.3 Решения .........................................................................................
1.2 Упражнения .......................................................................................................................................................
102
4 Аутентификация PAM ...............................................................
1.3 Решения ............................................................................................................................................................
103
4.1 Настройка PAM ..............................................................................
2 Настройка NIS .........................................................................................................................................
104
4.2 Упражнения....................................................................................
2.1 Настройка NIS ...................................................................................................................................................
105
4.3 Решения .........................................................................................
2.2 Упражнения .......................................................................................................................................................
113
2.3 Решения ............................................................................................................................................................ 114
1 Настройка DHCP
Ключевые файлы, термины и утилиты
dhcpd.conf
dhcpd.leases
1.2 Настройка DHCP
Аббревиатура «DHCP» расшифровывается как «Dynamic Host Configuration
Protocol» – протокол динамической конфигурации компьютера локальной сети
(далее «хоста»). Это протокол, предназначенный для автоматической
конфигурации компьютеров локальной сети без риска появления совпадающих
IP-адресов.
С этим протоколом существенно упрощается настройка сети и ускоряется
процедура добавления большого числа хостов в локальную сеть.
Основной конфигурационный файл: /etc/dhcpd.conf. В нем определены все
подсети DHCP, и настройки по умолчанию.
Пример файла dhcpd.conf :
[root@test root]# cat /etc/dhcpd.conf
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
# default gateway
option routers 192.168.0.254;
option subnet-mask 255.255.255.0;
option domain-name "domain.org";
option domain-name-servers 192.168.0.42;
range 192.168.0.128 192.168.0.253;
default-lease-time 21600;
max-lease-time 43200;
# static address for ns1 (ns1 is found with his MAC address)
host ns1 {
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 192.168.0.69;
}
}
[root@test root]#
Основные настройки:

опция router : задает маршрут по умолчанию для клиента

опция subnet-mask : задает значение для маски подсети, используемое по
умолчанию на клиенте

опция domain-name : задает доменное имя, используемое по умолчанию на
клиенте

опция domain-name-servers : задает DNS сервера, используемые по умолчанию
клиентом

range : задает пул адресов, зарезервированных для DHCP. Клиент,
обращающийся за IP-адресом, получит один из адресов из этого пула.

Default-lease-time : время, в течение которого клиент сможет пользоваться
выделенным адресом, если только клиент не запросил определенное время
истечения срока действия адреса.

Max-lease-time : максимально возможный период в секундах, в течение
которого можно пользоваться выделенным IP-адресом
Запуск DHCP сервера:
[root@test root]# /etc/init.d/dhcpd start
Starting dhcpd:
[root@test root]#
[
OK
]
Продолжительность жизни выделенных адресов
Время жизни текущих выделенных адресов можно посмотреть в файле:
[root@test root]# cat /var/lib/dhcp/dhcpd.leases
lease 192.168.0.253 {
starts 1 2004/08/16 13:54:06;
ends never;
binding state active;
next binding state free;
hardware ethernet 00:0e:a3:52:fd:01;
}
[root@test root]#
1.1 Упражнения
Упражнение 1 :

Установите и настройте DHCP-сервер в вашей локальной сети

Протестируйте его работу на клиентских машинах
1.1 Решения
Решение 1 :

Следуйте инструкциям, описанным в этой главе
1 Настройка NIS
Ключевые файлы, термины и утилиты:
nisupdate, ypbind, ypcat, ypmatch, ypserv, ypswitch,
yppasswd, yppoll, yppush, ypwhich, rpcinfo
nis.conf, nsswitch.conf, ypserv.conf
Срдержимое каталога /etc/nis/: netgroup, nicknames,
securenets
Makefile
1.2 Настройка NIS
Введение
Служба NIS (Network Information Service - сетевая информационная служба) была
разработана компанией Sun. Ее цель – централизованное хранение информации о
пользовательских учетных записях в локальной сети. Первоначально NIS
назывался “Yellow Pages” - «желтые страницы», поэтому почти все имена команд
начинаются с префикса “yp”.
NIS использует несколько «карт» и может управлять пользователями
(/etc/passwd), группами (/etc/group), паролями (/etc/shadows),
хостами (/etc/hosts), сервисами (/etc/services) и т.п.
Во время установки NIS создается домен NISDOMAIN. Клиенты NIS будут
относиться к этому домену и использовать карты этого домена.
Карты NIS хранятся в файле /var/yp/domain_name в формате DBM.
Пример:
Файл
/etc/passwd
/etc/group
/etc/hosts
Карта NIS
Индексный Ключ
passwd.byname
Имя пользователя
passwd.byuid
Идентификатор
пользователя (uid)
group.byname
Имя группы
group.byuid
Идентификатор группы (gid)
hosts.byname
Имя хоста
hosts.byaddr
IP-адрес хоста
Настройка
На сервере должен быть установлен пакет ypserv. Его основной
конфигурационный файл: /etc/ypserv.conf.
[root@test root]# cat /etc/ypserv.conf
#
# ypserv.conf
In this file you can set certain options for the NIS server,
#
and you can deny or restrict access to certain maps based
#
on the originating host.
#
#
See ypserv.conf(5) for a description of the syntax.
#
# Some options for ypserv. This things are all not needed, if
# you have a Linux net.
# Should we do DNS lookups for hosts not found in the hosts table ?
# This option is ignored in the moment.
dns: no
# How many map file handles should be cached ?
files: 30
# Should we register ypserv with SLP ?
slp: no
...
[пропущено]
...
*
*
: *
: *
: shadow.byname
: port
: passwd.adjunct.byname : port
# If you comment out the next rule, ypserv and rpc.ypxfrd will
# look for YP_SECURE and YP_AUTHDES in the maps. This will make
# the security check a little bit slower, but you only have to
# change the keys on the master server, not the configuration files
# on each NIS server.
# If you have maps with YP_SECURE or YP_AUTHDES, you should create
# a rule for them above, that's much faster.
# *
: *
: *
: none
[root@test root]#
На стороне клиента необходимо установить три пакета: portmap, ypbind и
yp-tools.
Основной конфигурационный файл NIS на клиентской машине - это
/etc/yp.conf. Данный файл должен содержать имя домена NIS и имя сервера
NIS.
[root@test root]# cat /etc/yp.conf
# /etc/yp.conf - ypbind configuration file
# Valid entries are
#
#domain NISDOMAIN server HOSTNAME
domain domain.org server test.domain.org
#
Use server HOSTNAME for the domain NISDOMAIN.
#
#domain NISDOMAIN broadcast
#
Use broadcast on the local net for domain NISDOMAIN
#
#ypserver HOSTNAME
ypserver test.domain.org
#
Use server HOSTNAME for the local domain. The
#
IP-address of server must be listed in /etc/hosts.
#
[root@test root]#
Импорт пользовательских учетных записей
Затем, традиционные конфигурационные файлы UNIX могут быть
импортированы в сервер NIS:
[root@test root]# /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers. test is in the list of NIS server hosts. Please continue to add
the names for the other hosts, one per line. When you are done with the
list, type a <control D>.
next host to add: test
next host to add:
The current list of NIS servers looks like this:
test
Is this correct? [y/n: y] y
We need a few minutes to build the databases...
Building /var/yp/domain.org/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/domain.org'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating shadow.byname...
gmake[1]: Leaving directory `/var/yp/domain.org'
test has been set up as a NIS master server.
Now you can run ypinit -s test on all slave server.
[root@test root]#
Тестирование
Запуск демонов:
На сервере:
[root@test root]# /etc/init.d/ypserv start
Starting YP server services:
[root@test root]#
[
OK
]
[
OK
]
На клиентах:
[root@test root]# /etc/init.d/ypbind start
Binding to the NIS domain...
Listening for an NIS domain server: test
[root@test root]#
Вы можете проверить учетные записи пользователей с помощью команды ypcat.
[root@test root]# ypcat passwd
nobody:x:65534:65534:Nobody:/:/bin/sh
majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash
csahut:x:501:501:csahut:/home/csahut:/bin/bash
[root@test root]# ypcat shadow.byname
nobody:*:12630:0:99999:7:::
majordomo:!!:12643:0:99999:7:::
csahut:$1$KZ7PVhqL$dQT0aYJfaWMBP4QBU7uxB.:12630:0:99999:7:::
[root@test root]# ypcat group
csahut:x:501:
kolab:x:60001:
nogroup:x:65534:
[root@test root]#
Затем должен быть запущен сервис ypbind:
[root@test root]# rpcinfo -u localhost ypbind
program 100007 version 1 ready and waiting
program 100007 version 2 ready and waiting
[root@test root]#
Использование библиотеки libc версии < 6
Укажите NIS в /etc/nsswitch.conf:
passwd:
group:
shadow:
compat
compat
compat
Добавьте в /etc/passwd
+::::::
в /etc/shadow
+::::::
в /etc/group
+:::
Использование libc версии 6
Укажите NIS в /etc/nsswitch.conf (должно быть уже указано по
умолчанию):
[root@test root]# cat /etc/nsswitch.conf
#
# /etc/nsswitch.conf
...
[пропущено]
...
passwd:
shadow:
group:
files nisplus nis
files nisplus nis
files nisplus nis
...
[SNIP]
...
[root@test root]#
Тестирование
Вы должны видеть пользователей NIS в конце вывода следующей команды.
[root@test root]# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/sh
...
[пропущено]
...
uid:/bin/false
nobody:x:65534:65534:Nobody:/:/bin/sh
majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash
nisuser:x:502:502:nisuser:/home/nisuser:/bin/bash
[root@test root]#
Таким же образом можно получить с NIS-сервера список групп и «теневые»
пароли. Для этого используются команды getent group и getent shadow.
Теперь вы должны иметь возможность войти в систему, воспользовавшись
учетной записью NIS.
Программа rpc.yppasswdd
Для того, чтобы иметь возможность поменять пароль с клиентской машины, на
сервере должен быть запущен демон rpc.yppasswdd.
[root@test root]# /etc/init.d/yppasswdd start
Starting YP passwd service:
[root@test root]#
[
OK
]
Программа rpc.ypxfrd
Эта программа используется для эффективной синхронизации карт NIS на
дополнительных серверах NIS (NIS slaves). Программа запускается следующим
образом:
[root@test root]# /etc/init.d/ypxfrd start
Starting YP map server:
[root@test root]#
Затем запустите программу yppush.
[
OK
]
Некоторые команды NIS
Узнать имя NIS-сервера можно командой:
[root@test root]# ypwhich
test
[root@test root]#
Показать доступные карты:
[root@test root]# ypwhich -x
Use "ethers"
for map "ethers.byname"
Use "aliases"
for map "mail.aliases"
Use "services" for map "services.byname"
Use "protocols" for map "protocols.bynumber"
Use "hosts"
for map "hosts.byname"
Use "networks" for map "networks.byaddr"
Use "group"
for map "group.byname"
Use "passwd"
for map "passwd.byname"
[root@test root]#
Узнать версию карты и сервера:
[root@test root]#
Domain domain.org
Map passwd.byname
The master server
[root@test root]#
yppoll passwd.byname
is supported.
has order number 1092670129. [Mon Aug 16 17:28:49 2004]
is test.
Проверить конфигурацию:
[root@test root]# yptest
Test 1: domainname
Configured domainname is "domain.org"
...
[пропущено]
...
Test 9: yp_all
nobody nobody:x:65534:65534:Nobody:/:/bin/sh
majordomo majordomo:x:502:2::/usr/local/majordomo-1.94.5:/bin/bash
csahut csahut:x:501:501:csahut:/home/csahut:/bin/bash
All tests passed
[root@test root]#
1.3 Упражнения
Упражнение 1 :

Установите сервер NIS и настройте его клиентов

Проверьте работу аутентификации NIS
1.1 Решения
Упражнение 1 :

Следуйте инструкциям этой главы
1 Настройка LDAP
Ключевые файлы, термины и утилиты:
slapd
slapd.conf
1.2 Настройка LDAP
Введение
Служба каталогов (Directory) - это сервис, предоставляющий возможности поиска
данных любого вида. Подобно сервису DNS для имен хостов, каталог может
хранить информацию о пользовательских учетных записях, номерах телефонов,
email-адресах и даже фотографии. Протокол LDAP (Lightweight Directory Access
Protocol – облегченный протокол службы каталогов) был разработан для замены
старого сложного протокола X.500. Установка должна быть довольно простой,
кроме того существует много утилит управления, покрывающих различные
нужды.
Структура
DAP
(X.500)
Directory Access Protocol - Протокол доступа к каталогу
DIT
каталога
Directory Information Tree - Информационное дерево
dc
Domain component - Часть домена
dn
Distinguished Name - Отличительное имя
Base DN
Откуда начинается поиск
ou
Organizational Unit - Организационная единица
cn
Common Name - Общеизвестное имя
LDIF
Формат обмена данными LDAP (Data Interchange Format)
Object Class
Определяет атрибуты
Schema
Определяет объекты классов
Пример имени:
dn: cn=John Doe,ou=Staff,dc=lynuxtraining,dc=com
Этот dn является уникальным именем, идентифицирующим пользователя John
Doe.
Настройка
В разделе разделе описана конфигурация OpenLDAP, широко известного
свободного LDAP сервера.
Основной конфигурационный файл сервера – это
/etc/openldap/slapd.conf. Файл содержит различные схемы,
поддерживаемые LDAP-сервером, некоторую информацию о процессе LDAP
(PID, параметры командной строки, файлы журналов), основную структуру
каталога (имя, формат и местоположение), опции менеджера LDAP и списки
контроля доступа к каталогу.
[root@test root]# cat /etc/openldap/slapd.conf
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
...
[пропущено]
...
pidfile
argsfile
replogfile
/var/run/ldap/slapd.pid
/var/run/ldap/slapd.args
/var/lib/ldap/replog
...
[пропущено]
...
database
suffix
directory
ldbm
"dc=domain,dc=org"
/var/lib/ldap
rootdn
rootpw
"cn=manager,dc=domain,dc=org"
"asd135"
...
[пропущено]
...
access to *
by self write
by group="cn=admin,dc=domain,dc=org" write
by group="cn=maintainer,dc=domain,dc=org" write
by * read stop
[root@test root]#
Существует другой файл - /etc/openldap/ldap.conf, в котором
определяется, какому серверу будут посылаться LDAP-запросы, и какое дерево
каталогов будет использоваться. Обычно этот файл находится на клиентских
машинах.
[root@test openldap]# cat ldap.conf
BASE
dc=domain,dc=org
#HOST
ldap.example.com ldap-master.example.com
HOST
test.domain.org
#URI
ldap://ldap.example.com ldap://ldap-master.example.com:666
URI
ldap://test.domain.org
...
[пропущено]
...
[root@test openldap]#
Утилиты LDAP
slapadd :
Утилита Slapadd используется для добавления элементов, заданных в формате
обмена данными LDAP (LDIF) в базу данных демона slapd .
Пример:
[root@test root]# cat test.ldif
dn: dc=domain, dc=org
objectClass: organization
objectClass: dcObject
dc: domain
o: domain
dn: ou=users, dc=domain, dc=org
objectClass: organizationalunit
ou: users
dn: cn=admin, dc=domain, dc=org
objectClass: top
objectClass: person
userPassword:: asd135
cn: admin
sn:administrateur
[root@test root]# slapadd < test.ldif
[root@test root]#
slapcat :
Утилита Slapcat используется для извлечения данных из базы данных демона
slapd в формате LDIF.
Пример:
[root@test root]# slapcat
dn: dc=domain,dc=org
objectClass: organization
objectClass: dcObject
dc: domain
o: domain
structuralObjectClass: organization
entryUUID: aad2cf46-8483-1028-8f23-bfa7c47790fe
creatorsName: cn=manager,dc=domain,dc=org
modifiersName: cn=manager,dc=domain,dc=org
createTimestamp: 20040817102638Z
modifyTimestamp: 20040817102638Z
entryCSN: 2004081710:26:38Z#0x0001#0#0000
dn: ou=users,dc=domain,dc=org
objectClass: organizationalunit
ou: users
structuralObjectClass: organizationalunit
entryUUID: aad56238-8483-1028-8f24-bfa7c47790fe
creatorsName: cn=manager,dc=domain,dc=org
modifiersName: cn=manager,dc=domain,dc=org
createTimestamp: 20040817102638Z
modifyTimestamp: 20040817102638Z
entryCSN: 2004081710:26:38Z#0x0002#0#0000
dn: cn=admin,dc=domain,dc=org
objectClass: top
objectClass: person
cn: admin
sn: administrateur
structuralObjectClass: person
entryUUID: aad569b8-8483-1028-8f25-bfa7c47790fe
creatorsName: cn=manager,dc=domain,dc=org
modifiersName: cn=manager,dc=domain,dc=org
createTimestamp: 20040817102638Z
modifyTimestamp: 20040817102638Z
entryCSN: 2004081710:26:38Z#0x0003#0#0000
[root@test root]#
slappasswd :
Slappasswd используется для генерации пользовательского пароля
(userPassword) в формате, пригодном для использования утилитой ldapmodify или
директивой rootpw конфигурационного файла slapd.conf.
Этот момент очень важен, поскольку пароль пользователя root хранится в
конфигурационном файле slapd.conf в открытом виде.
Пример:
[root@test root]# slappasswd -h {SSHA}
New password:
Re-enter new password:
{SSHA}r+LXQq5RT6HeEOdedOGx8F4tiNBfEfVU
[root@test root]#
ldapadd :
Утилита ldapadd добавляет элемент в каталог LDAP.
Пример:
[root@test root]# ldapadd -f newentryjohndoe.ldif -h test.domain.org -x -D
"cn=Manager,dc=domain,dc=org" -w asd135
adding new entry "uid=JohnDoe,ou=people,dc=domain,dc=org"
[root@test root]#
ldapmodify :
ldapmodify модифицирует элемент каталога LDAP.
Пример:
[root@test root]# ldapmodify -f newentryjohndoe.ldif -h test.domain.org -x D "cn=Manager,dc=domain,dc=org" -w asd135
modifying entry "uid=JohnDoe,ou=people,dc=domain,dc=org"
[root@test root]#
ldapdelete :
ldapdelete удаляет элемент каталога LDAP.
Пример:
[root@test root]# ldapdelete "uid=johndoe,ou=people,dc=domain,dc=org" -h
test.domain.org -x -D "cn=Manager,dc=domain,dc=org" -w asd135
[root@test root]#
ldapsearch :
ldapsearch выполняет поиск элемента в каталоге LDAP.
Пример:
[root@test root]# ldapsearch "uid=johndoe" -h test.domain.org -x -D
"cn=Manager,dc=domain,dc=org" -w asd135
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: uid=johndoe
# requesting: ALL
#
# JohnDoe, people, domain.org
dn: uid=JohnDoe,ou=people,dc=domain,dc=org
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
objectClass: sambaAccount
cn: JohnDoe
uid: JohnDoe
uidNumber: 10001
...
[пропущено]
...
displayName: John Doe
smbHome: \\server\JohnDoe
homeDrive: U:
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
[root@test root]#
Утилиты миграции LDAP
OpenLDAP обычно поставляется с набором сценариев, облегчающих процесс
миграции на LDAP с других систем. Эти скрипты хранятся в каталоге
/usr/share/openldap/migration/directory и, в частности, используются при миграции
с NIS на LDAP.
[root@test root]# cd /usr/share/openldap/migration/
[root@test migration]# ls
CVSVersionInfo.txt*
migrate_all_nisplus_online.sh*
migrate_group.pl*
migrate_profile.pl*
migrate_aliases.pl*
migrate_all_offline.sh*
migrate_hosts.pl*
migrate_protocols.pl*
migrate_all_netinfo_offline.sh* migrate_all_online.sh*
migrate_netgroup_byhost.pl* migrate_rpc.pl*
migrate_all_netinfo_online.sh*
migrate_automount.pl*
migrate_netgroup_byuser.pl* migrate_services.pl*
migrate_all_nis_offline.sh*
migrate_base.pl*
migrate_netgroup.pl*
migrate_slapd_conf.pl*
migrate_all_nis_online.sh*
migrate_common.ph*
migrate_networks.pl*
migration-tools.txt
migrate_all_nisplus_offline.sh* migrate_fstab.pl*
migrate_passwd.pl*
README
[root@test migration]#
Графические утилиты управления LDAP
Программа : gq
Web-интерфейс: ldap-account-manager (LAM)
1.3 Упражнения
Упражнение 1:

Установите и настройте сервер OpenLDAP

Воспользуйтесь утилитой ldap-account-manager, чтобы создать пользователей и
группы (отключите Samba в файле конфигурации LAM)

Используйте каталог LDAP как репозиторий email адресов для вашего
любимого почтового клиента
1.1 Решения
Решение 1 :

Следуйте инструкциям этой главы
1 Аутентификация PAM
Ключевые файлы, термины и утилиты:
/etc/pam.d
pam.conf
1.2 Настройка PAM
Введение
Подключаемые модули аутентификации (PAM - Pluggable Authentication Modules)
упрощают реализацию процедуры аутентификации для различных программ. Как
правило, в системе Linux существует несколько программ, требующих
аутентификации: login, su, ftpd, sshd, ... Поскольку все они используют
библиотеки PAM, довольно легко настраивать новые механизмы аутентификации
или исправлять проблемы с безопасностью в одном месте без необходимости
перекомпиляции всех этих программ.
Модули PAM допускают аутентификацию с помощью LDAP, Samba, смарт-карт,
USB-ключей, баз данных SQL и т.п.
Настройка
Библиотеки PAM настраиваются в /etc/pam.d :
[root@test pam.d]# ls
chfn ftp kbdrate kppp login passwd ppp sieve squid
chsh halt kde3 kscreensaver3 net_monitor pop reboot
simple_root_authen sshd system-auth xserver cups imap
other poweroff secure-mcserv smtp su webmin*
[root@test pam.d]#
sudo
xdm
kde3-np
lmtp
Все файлы выглядят примерно так:
[root@test
#%PAM-1.0
auth
auth
auth
account
password
session
session
[root@test
pam.d]# cat login
required
required
required
required
required
required
optional
pam.d]#
pam_securetty.so
pam_stack.so service=system-auth
pam_nologin.so
pam_stack.so service=system-auth
pam_stack.so service=system-auth
pam_stack.so service=system-auth
pam_console.so
В каждой строке указан тип модуля, управляющий флаг и используемая
библиотека PAM вместе с ее опциями.
Тип модуля
Тип модуля может принимать одно из следующих значений:

auth
Модуль этого типа устанавливает, что пользователь именно тот, за кого себя
выдает, предписывая приложению запросить у пользователя пароль или
идентифицировать себя другим способом.

account
Этот модуль занимается управлением учетными записями. Обычно он
используется для разрешения / запрещения доступа к сервису, основываясь на
времени суток, имеющихся системных ресурсах (максимальном числе
пользователей), проверке срока действия учетной записи и т.п.

session
Этот модуль отвечает за выполнение действий, производимых до или после
того как пользователь получит какой-либо сервис. Такого рода действия
включают регистрацию сведений об обмене данными с пользователем в
журналах, монтирование каталогов и т.п.

password
Последний тип модуля служит для обновления ключа аутентификации
(authentication token) пользователя. Обычно существует один такой модуль для
каждого модуля типа auth, осуществляющего аутентификацию по схеме
«вызов/отклик». Модули данного типа управляют паролями.
Управляющий флаг
Управляющий флаг служит для индикации того, как библиотека PAM будет
реагировать на успешный или неуспешный результат работы модуля, с которым
этот флаг ассоциирован. Приложение получает сводный отчет от библиотеки
PAM об успешном или неуспешном выполнении.
Порядок исполнения модулей совпадает с порядком их перечисления в
конфигурационном файле сервиса PAM.
Существует четыре управляющих флага:

required
Флаг означает, что для успешного завершения работы требуется успешное
выполнение данного модуля.

requisite
Поведение похоже на флаг required, однако в случае неуспешного выполнения
модуля управление возвращается приложению. Возвращаемое значение – это
значение, ассоциированное с первым неудачно завершившимся модулем,
имеющим флаг required или requisite.

sufficient
Успешное выполнение модуля достаточно для того, чтобы библиотека PAM
считала, что тип модуля успешно выполнил свое предназначение. Неуспешное
же выполнение не будет считаться фатальным для принятия решения об
успешности выполнения типа модуля.

optional
Как и предполагает имя этого флага, успешное или неуспешное исполнение
модуля не является критичным для пользовательского приложения. Как
правило, PAM игнорирует такой модуль, когда определяет успешность
выполнения всего стека модулей. Однако, в отсутствии какого-либо
определенного успешного или неуспешного статуса выполнения предыдущего
или последующего модуля, этот модуль будет определять статус значения,
возвращаемого приложению.
Модули библиотеки PAM
Существует множество модулей PAM, среди них:

pam_pwdb.so : традиционная аутентификация при помощи файла passwd

pam_security.so : добавляет дополнительные ограничения
(/etc/securetty)

pam_mount.so : монтирует домашние каталоги во время входа в систему

pam_usb.so : аутентификация с помощью USB-ключа

pam_ldap.so : использует каталог LDAP для аутентификации в системе

pam_smb.so : использует Samba для аутентификации в системе

pam_mysql.so : аутентификация с помощью базы данных MYSQL

pam_krb5.so : аутентификация с помощью протокола MIT Kerberos 5

pam_opensc.so : аутентификация с помощью смарт-карты

...
Наиболее часто используемые опции модулей:
Основные опции модулей:

no_warn
Запрещает модулю выдавать предупреждающие сообщения приложению.

use_first_pass
Модуль не должен запрашивать пароль у пользователя, вместо этого модуль
должен использовать ранее набранный пароль (от предыдущего модуля auth).
Если это не сработает, пользователь не пройдет аутентификацию (данная
опция применима к модулям auth и password).

try_first_pass
Модуль должен попробовать аутентифицировать пользователя по ранее
набранному паролю (от предыдущего модуля auth). Если аутентификация не
удалась, пароль будет запрошен у пользователя. (Эта опция применима только
к модулям auth).
1.1 Упражнения
Упражнение 1 :

Настройте свой демон sshd на использование аутентификации по протоколу
ldap.
1.1 Решения
Решение 1 :

Изучите файл /usr/share/doc/pam_ldap-167/
Безопасность системы
В этой главе
Безопасность системы ..............................................................................................................................
136
3 Безопасная оболочка (OpenSSH) ............................................
3.1 Настройка OpenSSH .....................................................................
1 Настройка маршрутизатора ...................................................................................................................
137
3.2 Упражнения....................................................................................
1.1 Настройка маршрутизатора .............................................................................................................................
138
3.3 Решения .........................................................................................
1.2 Упражнения .......................................................................................................................................................
163
4 Поддержание безопасности системы .....................................
1.3 Решения ............................................................................................................................................................
164
4.1 Выполнение задач по поддержанию
2 Защита FTP-серверов ............................................................................................................................
165
безопасности .......................................................................................
2.1 Настройка демона WU-FTPD ...........................................................................................................................
166
4.2 Упражнения....................................................................................
2.2 Упражнения .......................................................................................................................................................
175
4.3 Решения .........................................................................................
2.3 Решения ............................................................................................................................................................
176
1 Настройка маршрутизатора
Ключевые файлы, термины и утилиты
/proc/sys/net/ipv4
/etc/services
ipchains
iptables
routed
1.2 Настройка маршрутизатора
Введение
Чтобы сконфигурировать маршрутизатор для такой небезопасной сети, как
Интернет, необходимо предпринять множество шагов.
Прежде всего, определите, какие сервисы вам нужны и заблокируйте все
остальное! Это минимизирует вероятность обнаружения уязвимости в вашей
системе. Хорошей идеей будет регистрировать все отброшенные и отклоненные
пакеты в журнале (и ограничить интенсивность этого процесса во избежание
создания журнальных файлов слишком большого размера).
Блокирование сканирования портов с помощью PortSentry
Большинство сканирований портов может быть обнаружено с помощью утилиты
portsentry компании Psionic Technologies (теперь Cisco).
Демон portsentry прослушивает несколько известных портов и может
заблокировать IP-адрес в случае обнаружения сканирования.
Установка Portsentry:
Скачайте архив с исходным кодом с web-сайта и установите утилиту вручную:
[root@test root]# tar zxvf portsentry-1.2.tar.gz -C /usr/local/src/
portsentry_beta/
portsentry_beta/portsentry.c
portsentry_beta/portsentry.h
portsentry_beta/portsentry_io.c
portsentry_beta/portsentry_io.h
...
[SNIP]
...
portsentry_beta/ignore.csh
[root@test root]# cd /usr/local/src/portsentry_beta/
[root@test portsentry_beta]# make linux
SYSTYPE=linux
Making
cc -O -Wall -DLINUX -DSUPPORT_STEALTH -o ./portsentry ./portsentry.c \
./portsentry_io.c ./portsentry_util.c
[root@test portsentry_beta]#
[root@test portsentry_beta]# make install
Creating psionic directory /usr/local/psionic
Setting directory permissions
Creating portsentry directory /usr/local/psionic/portsentry
Setting directory permissions
chmod 700 /usr/local/psionic/portsentry
Copying files
cp ./portsentry.conf /usr/local/psionic/portsentry
cp ./portsentry.ignore /usr/local/psionic/portsentry
cp ./portsentry /usr/local/psionic/portsentry
Setting permissions
chmod 600 /usr/local/psionic/portsentry/portsentry.ignore
chmod 600 /usr/local/psionic/portsentry/portsentry.conf
chmod 700 /usr/local/psionic/portsentry/portsentry
Edit /usr/local/psionic/portsentry/portsentry.conf and change
your settings if you haven't already. (route, etc)
WARNING: This version and above now use a new
directory structure for storing the program
and config files (/usr/local/psionic/portsentry).
Please make sure you delete the old files when
the testing of this install is complete.
[root@test portsentry_beta]#
Настройка portsentry :
Конфигурационный файл утилиты:
/usr/local/psionic/portsentry/portsentry.conf.
Укажите порты, на которых вы хотите запустить утилиту portsentry:
TCP_PORTS="1,11,15,79,111,119,143,540,635,1080,1524,2000,5742,6667,12345,1234
6,20034,27665,31337,32771,32772,32773,32774,40421,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,635,640,641,700,37444,34555,31335,32770,32771
,32772,32773,32774,31337,54321"
Заблокируйте сканирование UDP и TCP:
BLOCK_UDP="1"
BLOCK_TCP="1"
Перенаправьте атакующий хост на null-маршрут:
KILL_ROUTE="/sbin/route add $TARGET$ 192.168.66.66
или
KILL_ROUTE="/sbin/route add -host $TARGET$ reject
или
KILL_ROUTE="/usr/local/bin/iptables -I INPUT -s $TARGET$ -j DROP
Также можно запустить какой-нибудь скрипт в ответ на атаку. Однако такая
конфигурация не рекомендуется.
Хорошей идеей будет настроить игнорирование IP-адресов ваших DNS серверов и
маршрутизаторов. Эти IP адреса должны быть помещены в файл
/usr/local/psionic/portsentry/portsentry.ignore.
Стартовый сценарий Portsentry:
Данный скрипт называется /etc/init.d/portsentry :
/!/bin/bash
#
# portsentry Start the portsentry portscan detector
#
# Authors: Craig Rowland <crowland@psionic.com>, Tim Powers <timp@redhat.com>
#
and Matthias Saou <matthias.saou@est.une.marmotte.net>
#
# chkconfig: 345 98 05
# description: PortSentry Port Scan Detector is part of the Abacus Project \
#
suite of tools. The Abacus Project is an initiative to release
\
#
low-maintenance, generic, and reliable host based intrusion \
#
detection software to the Internet community.
# processname: portsentry
# configfile: /etc/portsentry/portsentry.conf
# pidfile: /var/run/portsentry.pid
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# For this script to work on non english systems
export LANG=C
RETVAL=0
start () {
# Set up the ignore file
SENTRYDIR=/usr/local/psionic/portsentry
FINALIGNORE=$SENTRYDIR/portsentry.ignore
TMPFILE=$SENTRYDIR/portsentry.ignore.tmp
# Testline is used to see if the initscript has already been run
if [ -f $FINALIGNORE ] ; then
cp -f $FINALIGNORE $TMPFILE
testline=`grep -n "Do NOT edit below this" $TMPFILE | cut -delimiter=":" -f1`
if [ -z "$testline" ] ; then
echo > /dev/null # Do nothing
else
let headline=$testline-2
head -$headline $FINALIGNORE > $TMPFILE
fi
fi
echo
echo
echo
echo
echo
echo
echo
'#########################################'
'# Do NOT edit below this line, if you
#'
'# do, your changes will be lost when
#'
'# portsentry is restarted via the
#'
'# initscript. Make all changes above
#'
'# this box.
#'
'#########################################'
>>
>>
>>
>>
>>
>>
>>
$TMPFILE
$TMPFILE
$TMPFILE
$TMPFILE
$TMPFILE
$TMPFILE
$TMPFILE
echo '' >> $TMPFILE
echo '# Exclude all local interfaces' >> $TMPFILE
for i in `/sbin/ifconfig -a | grep inet | awk '{print $2}' | sed
's/addr://'` ; do
echo $i >> $TMPFILE
done
echo '' >> $TMPFILE
echo '# Exclude the default gateway(s)' >> $TMPFILE
for i in `/sbin/route -n | grep ^0.0.0.0 | awk '{print $2}'` ; do
echo $i >> $TMPFILE
done
echo '' >> $TMPFILE
echo '# Exclude the nameservers' >> $TMPFILE
for i in `/bin/cat /etc/resolv.conf | grep ^nameserver | awk '{print
$2}'` ; do
echo $i >> $TMPFILE
done
echo
echo
echo
echo
'' >> $TMPFILE
'# And last but not least...' >> $TMPFILE
'0.0.0.0' >> $TMPFILE
'' >> $TMPFILE
cp -f $TMPFILE
rm -f $TMPFILE
$SENTRYDIR/portsentry.ignore
# Check for modes defined in the config file
if [ -s $SENTRYDIR/portsentry.modes ] ; then
modes=`cut -d "#" -f 1 $SENTRYDIR/portsentry.modes`
else
modes="tcp udp"
fi
for i in $modes ; do
action $"Starting portsentry -$i: "
/usr/local/psionic/portsentry/portsentry -$i
RETVAL=$?
done
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/portsentry
return $RETVAL
}
stop() {
echo -n $"Stopping portsentry: "
killproc portsentry
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/portsentry
return $RETVAL
}
# See how we were called.
case $1 in
start)
start
;;
stop)
stop
;;
status)
status portsentry
RETVAL=$?
;;
restart)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/portsentry ]; then
stop
start
RETVAL=$?
fi
;;
*)
echo $"Usage: portsentry {start|stop|restart|condrestart|status}"
exit 1
esac
exit $RETVAL
Использование Portsentry :
portsentry может быть запущен с различными параметрами:
-tcp :прослушивать порты из списка TCP_PORTS
-udp :прослушивать порты из списка UDP_PORTS
-stcp :режим «стелс»: прослушивать порты из списка TCP_PORTS, но не
отвечать на соединения.
-sudp :режим «стелс»: прослушивать порты из списка UDP_PORTS, но не
отвечать на соединения.
-atcp : Расширенный механизм обнаружения сканирования TCP портов:
используется для мониторинга более 1024-х портов
-audp : Расширенный механизм обнаружения сканирования UDP портов:
используется для мониторинга более 1024-х портов
[root@test root]# /etc/init.d/portsentry start
Starting portsentry -tcp:
Starting portsentry -udp:
[root@test root]#
[
[
OK
OK
]
]
Чтобы протестировать конфигурацию, запустите сканирование с другого хоста:
[root@test root]# nmap -sS -v -O 192.168.0.42
Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-08-18 13:37 CEST
Host test (192.168.0.42) appears to be up ... good.
Initiating SYN Stealth Scan against test (192.168.0.42) at 13:37
Adding open port 80/tcp
Adding open port 824/tcp
Adding open port 6000/tcp
...
[пропущено]
...
Nmap run completed -- 1 IP address (1 host up) scanned in 6.834 seconds
[root@test root]#
Регистрация событий в журнале:
Журналы утилиты portsentry можно просматривать в файле
/var/log/syslog :
Aug 18 13:32:58 test portsentry[5019]: attackalert: TCP SYN/Normal scan from
host: 192.168.0.165/192.168.0.165 to TCP port: 72
Aug 18 13:32:58 test portsentry[5019]: attackalert: Host 192.168.0.165 has
been blocked via wrappers with string: "ALL: 192.168.0.165"
Aug 18 13:32:58 test kernel: ip_tables: (C) 2000-2002 Netfilter core team
Aug 18 13:32:58 test portsentry[5019]: attackalert: Host 192.168.0.165 has
been blocked via dropped route using command: "/sbin/iptables -I INPUT -s
192.168.0.165 -j DROP"
Aug 18 13:32:58 test portsentry[5019]: attackalert: TCP SYN/Normal scan from
host: 192.168.0.165/192.168.0.165 to TCP port: 23
Aug 18 13:32:58 test portsentry[5019]: attackalert: Host:
192.168.0.165/192.168.0.165 is already blocked Ignoring
Aug 18 13:32:58 test portsentry[5019]: attackalert: TCP SYN/Normal scan from
host: 192.168.0.165/192.168.0.165 to TCP port: 386
а также в /usr/local/psionic/portsentry/portsentry.history :
1092828778 - 08/18/2004 13:32:58 Host: 192.168.0.165/192.168.0.165 Port: 72
TCP Blocked
Если выставить опции KILL_ROUTE значение iptables, portsentry добавит
правило iptables, блокирующее хост, запустивший сканирование портов:
[root@test root]# iptables -L
Chain INPUT (policy ACCEPT)
target
prot opt source
DROP
all -- 192.168.0.165
destination
anywhere
Chain FORWARD (policy ACCEPT)
target
prot opt source
destination
Chain OUTPUT (policy ACCEPT)
target
prot opt source
[root@test root]#
destination
Фильтрация сетевых пакетов
Введение
Пакетный фильтр анализирует сетевые пакеты и принимает решение о том, какие
пакеты принять, а какие - нет. По сути это то, что делает межсетевой экран
(брандмауэр)5.
Для операционной системы Linux в данный момент используется межсетевой
экран Netfilter / Iptables . Брандмауэр состоит из двух частей: Netfilter - это часть
ядра, принимающая и посылающая пакеты. Вторая часть, iptables, - это
пользовательская утилита, применяемая для настройки правил фильтрации.
Netfilter / Iptables входят в состав ядра версии 2.4:

ядро 2.0.x
ipfwadm

ядро 2.2.x
ipchains

ядро 2.4.x, 2.6.x iptables
Диаграмма прохождения пакета:
INPUT, FORWARD и OUTPUT - это так называемые цепочки правил. В случае,
если адрес назначения пакета совпадает с адресом межсетевого экрана,
применяются правила из цепочки INPUT. Когда пакет посылается с адреса
брандмауэра куда-то наружу, применяются правила цепочки OUTPUT. Если пакет
должен быть передан межсетевым экраном куда-то дальше (т.е. он поступил на
его адрес, но на самом деле предназначается для другого хоста), применяются
правила цепочки FORWARD.
5 Далее по тексты термины «межсетевой экран» и «брандмауэр» будут использоваться как
синонимы,-прим.ред.
Настройка ядра
Чтобы заставить работать iptables, необходимо настроить ядро. Опции могут
быть вкомпилированы в ядро или составлять отдельный модуль.

CONFIG_PACKET

CONFIG_NETFILTER

CONFIG_IP_NF_CONNTRACK

CONFIG_IP_NF_FTP

CONFIG_IP_NF_IPTABLES

CONFIG_IP_NF_MATCH_LIMIT

CONFIG_IP_NF_MATCH_MAC

CONFIG_IP_NF_MATCH_MARK

CONFIG_IP_NF_MATCH_TOS

CONFIG_IP_NF_MATCH_TCPMSS

CONFIG_IP_NF_MATCH_STATE

CONFIG_IP_NF_MATCH_UNCLEAN

CONFIG_IP_NF_MATCH_OWNER

CONFIG_IP_NF_FILTER

CONFIG_IP_NF_TARGET_REJECT

CONFIG_IP_NF_TARGET_MIRROR

CONFIG_IP_NF_NAT

CONFIG_IP_NF_TARGET_MASQUERADE

CONFIG_IP_NF_TARGET_REDIRECT

CONFIG_IP_NF_TARGET_LOG

CONFIG_IP_NF_TARGET_TCPMSS
Маршрутизация и фильтрация
Когда пакет достигает сетевого интерфейса, он проходит несколько шагов,
прежде чем будет передан локальному процессу, удален или передан на другой
хост.
Стадии обработки пакета:
Межсетевой экран / маршрутизатор использует цепочку FORWARD для защиты
локальной сети. Для защиты самого хоста используется цепочка правил INPUT.
Отслеживание соединений
Netfilter хранит сведения о состоянии тех соединений, для которых это понятие
имеет смысл. Данная техника реализуется с помощью анализа пакетов в цепочках
PREROUTING и OUTPUT.
Типичное соединение может иметь следующие состояния:

NEW

ESTABLISHED

RELATED

INVALID
Таблица соединений ядра может быть выведена на экран следующим образом:
[root@test root]# cat /proc/net/ip_conntrack |more
tcp
6 96 SYN_SENT src=127.0.0.1 dst=192.168.0.42 sport=50295 dport=307 [UNREPLIED]
src=192.168.0.42 dst=127.0.0.1 spor
t=307 dport=50295 use=1
...
[root@test root]#
Здесь, первое значение – это имя протокола (tcp), второе – номер протокола (6) и
третье – таймаут, сбрасываемый в значение по умолчанию с каждым переданным
пакетом.
Таймауты
Состояние
Таймаут
NONE
30 минут
ESTABLISHED
5 дней
SYN_SENT
2 минуты
SYN_RECV
60 секунд
FIN_WAIT
2 минуты
TIME_WAIT
2 минуты
CLOSE
10 секунд
CLOSE_WAIT
12 часов
LAST_ACK
30 секунд
LISTEN
2 минуты
TCP
Соединения протокола TCP устанавливаются в три приема:
Клиент
SYN
Сервер
===>
<===
ACK
SYN/ACK
===>
Следующие пакеты используются для корректного закрытия соединения TCP:
Клиент
FIN
Сервер
===>
<===
ACK

FIN/ACK
===>
Отослан пакет SYN /proc/net/ip_conntrack :
tcp 6 117 SYN_SENT src=192.168.1.5 dst=192.168.1.35 sport=1031 dport=23
[UNREPLIED] src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 use=1

Получен SYN/ACK /proc/net/ip_conntrack :
tcp 6 57 SYN_RECV src=192.168.1.5 dst=192.168.1.35 sport=1031 dport=23
src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 use=1

Финальный пакет ACK /proc/net/ip_conntrack :
tcp 6 431999 ESTABLISHED src=192.168.1.5 dst=192.168.1.35 sport=1031 dport=23
src=192.168.1.35 dst=192.168.1.5 sport=23 dport=1031 use=1
После обмена еще несколькими пакетами соединение перейдет в состояние
ASSURED.

Когда TCP соединение закрывается, оно переходит в состояние TIME_WAIT
/proc/net/ip_conntrack :
tcp 6 114 TIME_WAIT src=192.168.10.2 dst=192.168.8.4 sport=35054 dport=5223
src=192.168.8.4 dst=192.168.10.2 sport=5223 dport=35054 [ASSURED] use=1

Соединение может быть переведено в состояние CLOSE пакетом RST.
UDP
Обмен данными по протоколу UDP осуществляется без установления соединения,
что означает, что в инициировании или закрытии соединения нет необходимости.

Первый пакет /proc/net/ip_conntrack :
udp 17 20 src=192.168.1.2 dst=192.168.1.5 sport=137 dport=1025 [UNREPLIED]
src=192.168.1.5 dst=192.168.1.2 sport=1025 dport=137 use=1

Ответ /proc/net/ip_conntrack :
udp 17 170 src=192.168.1.2 dst=192.168.1.5 sport=137 dport=1025
src=192.168.1.5 dst=192.168.1.2 sport=1025 dport=137 use=1
После этого соединение рассматривается как установленное, поскольку были
отмечены пакеты обоих хостов. Однако оно не будет помечено как
ESTABLISHED поскольку формально в UDP не существует понятия
установленного соединения.

Еще несколько пакетов /proc/net/ip_conntrack :
udp 17 175 src=192.168.1.5 dst=195.22.79.2 sport=1025 dport=53
src=195.22.79.2 dst=192.168.1.5 sport=53 dport=1025 [ASSURED] use=1
ICMP
Пакеты ICMP используются для контроля и не устанавливают соединений.
Существует несколько типов ICMP-пакетов, но только четыре из них приводят к
генерации ответного пакета.

ping
Клиент
Сервер
ICMP Echo Request
===>
<=== ICMP Echo Reply
/proc/net/ip_conntrack:
icmp 1 25 src=192.168.1.6 dst=192.168.1.10 type=8 code=0 id=33029 [UNREPLIED]
src=192.168.1.10 dst=192.168.1.6 type=0 code=0 id=33029 use=1
Поскольку после ответа трафика больше нет, информация об ICMP-соединении
удаляется сразу же после получения ответа.
Таймаут ICMP может быть задан в файле:
/proc/sys/net/ipv4/netfilter/ip_ct_icmp_timeout
По умолчанию его значение равно 30 секунд, что должно быть достаточно в
большинстве случаев.

Контроль соединения
Клиент
SYN
Маршрутизатор
Сервер
===============>
<=== ICMP
Net unreachable
Маршрутизатор рассматривает соединение как новое (состояние NEW),
поскольку прошел пакет SYN. Пакет ошибки ICMP будет распознан как имеющий
отношение к соединению и оно будет удалено из списка отслеживаемых. Нечто
подобное происходит и с UDP соединениями:
Клиент
Маршрутизатор
Сервер
UDP пакет ===============>
<=== ICMP
Net prohibited
Другие соединения
Соединения таких протоколов как NETBLT, MUX, EGP обрабатываются также,
как и UDP. Первый пакет переводит соединение в состояние NEW, а дальнейший
обмен пакетами приводит к состоянию ESTABLISHED.
Сложные протоколы
Некоторые протоколы обмениваются такой информацией, как IP-адреса и номера
портов, помещая ее в данные своих пакетов. Примеры таких протоколов: ICQ,
IRC, FTP, Oracle, ntalk или H.323. В этом случае ядро не может так легко
отслеживать соединение, поскольку информация о нем находится не в заголовке
пакета. Чтобы такие протоколы работали, ядро вынуждено соответствующим
образом анализировать трафик и отслеживать пакеты, имеющие отношение к
соединению.
Например, протокол FTP обычно использует два соединения. Первое из них –
контрольная сессия на порту 21. Когда мы загружаем файл, клиент посылает
номер порта на сервер и последний инициирует новое соединение со своего
собственного 20-го порта (второе соединение - для данных) на указанный порт и
передает данные.
Клиент
Маршрутизатор
<=== RELATED ===
SYN/ACK
Сервер
SYN
=== ESTABLISHED ===>
В пассивном режиме FTP-сервер сообщает клиенту, с каким портом нужно
соединиться. Клиент соединяется со своего 20-го порта с указанным портом на
сервере и получает запрошенные данные.
Клиент
SYN
Маршрутизатор
Сервер
=== RELATED ===>
<=== ESTABLISHED ===
SYN/ACK
Команда iptables
Формат команды iptables:
iptables [-t table] command [match] [target/jump]
Таблицы
У Netfilter есть три главных таблицы. Если ни одна из таблиц не указана опцией t, то по умолчанию будет использоваться таблица filter.
Чтобы отобразить все правила какой-либо таблицы, используется опция -L:
[root@test root]# iptables -t mangle -L
Таблица filter
Эта таблица осуществляет основную работу по фильтрации. Например, с
помощью опции -j и целей ACCEPT и DROP пакеты могут быть приняты
или отброшены соответственно. Таблица filter позволяет использовать
почти все доступные цели. Правила могут содержать цели: DROP, LOG,
ACCEPT, REJECT, ... . Набор доступных целей зависит от конфигурации
ядра.
[root@test root]# iptables -A INPUT -p tcp -j ACCEPT
Таблица mangle
Эта таблица правил позволяет модифицировать некоторые поля пакета
данных, например, TTL (Time To Live – время жизни пакета), TOS (Type Of
Service – тип сервиса), MARK. Поле TTL может использоваться для,
сокрытия подсети. TOS и MARK в основном используются
пользовательскими программами, такими как iproute2.
Таблица nat
Эта таблица используется для трансляции сетевых адресов (NAT). Адреса
отправителя и получателя, указанные в пакете, могут быть изменены в
этой таблице. В этой таблице не допускается фильтрация.
Только первый пакет из потока данных попадет в эту цепочку правил. Остальные
пакеты будут изменяться тем же способом автоматически.

DNAT

SNAT

MASQUERADE
Команды
В iptables, правила могут быть добавлены, модифицированы и удалены.

Добавление
[root@test root]# iptables -A INPUT -p tcp --dport 80 -j DROP

Удаление
[root@test root]# iptables -D INPUT -p tcp --dport 80 -j DROP
[root@test root]# iptables -D 1

Замена
[root@test root]# iptables -R INPUT 1 -s 192.168.0.1 -j DROP

Вставка
[root@test root]# iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

Перечисление
[root@test
[root@test
[root@test
[root@test

root]#
root]#
root]#
root]#
iptables
iptables
iptables
iptables
-L
-L INPUT -v
-L -n
-L -t nat
Сброс
[root@test root]# iptables -F INPUT

Политика по умолчанию для всей цепочки
[root@test root]# iptables -P FORWARD DROP

Обнуление
[root@test root]# iptables -Z INPUT

Новая цепочка
[root@test root]# iptables -N tcp_traffic

Удаление цепочки
[root@test root]# iptables -X tcp_traffic

Переименование цепочки
[root@test root]# iptables -X tcp_traffic udp_traffic
Поиск совпадений
Ядро Linux ищет подходящее правило в таблицах netfilter для каждого пакета.
Если правило подходит, действие, указанное в нем, выполняется.
Неявные совпадения указываются опциями, заданными напрямую команде
iptables. Для явных совпадений используется аргумент -m <match>.
Основные опции для поиска совпадений

Протокол: -p
[root@test root]# iptables -A INPUT -p tcp ...
[root@test root]# iptables -A INPUT -p udp ...
[root@test root]# iptables -A INPUT -p icmp ...

Адрес отправителя: -s
[root@test root]# iptables -A INPUT -s 192.168.0.1 ...
[root@test root]# iptables -A INPUT -s 192.168.0.0/24 ...
[root@test root]# iptables -A INPUT -s ! 192.168.0.0/255.255.255.0 ...

Адрес получателя: -d
[root@test root]# iptables -A INPUT -d 192.168.0.1 ...
[root@test root]# iptables -A INPUT -d 192.168.0.0/24 ...
[root@test root]# iptables -A INPUT -d ! 192.168.0.0/255.255.255.0 ...
Опции TCP
Для того, чтобы правило совпадало с определенными TCP пакетами, протокол
TCP должен быть указан в правиле: -p tcp.

Порт отправителя
[root@test root]# iptables -A INPUT -p tcp --sport ssh
[root@test root]# iptables -A INPUT -p tcp --sport 22:80
[root@test root]# iptables -A INPUT -p tcp --sport ! :1024

Порт получателя
[root@test root]# iptables -A INPUT -p tcp --dport ssh

Флаги TCP
[root@test
[root@test
[root@test
[root@test
root]#
root]#
root]#
root]#
iptables
iptables
iptables
iptables
-A
-A
-A
-A
FORWARD
FORWARD
FORWARD
FORWARD
-p
-p
-p
-p
tcp
tcp
tcp
tcp
--tcp-flags SYN,FIN,ACK SYN
--syn
--tcp-flags SYN,RST,ACK SYN
--tcp-flags ! FIN FIN
Опции UDP
Чтобы правило совпадало с UDP пакетами в нем должна быть указана опция: -p
udp.

Порт отправителя
[root@test root]# iptables -A INPUT -p udp --sport 53

Порт получателя
[root@test root]# iptables -A INPUT -p udp --dport dns
Опции ICMP
Пакеты ICMP отфильтровываются правилом, в котором указана опция -p icmp.
[root@test root]# iptables -A INPUT -p icmp --icmp-type echo-request
[root@test root]# iptables -A INPUT -p icmp --icmp-type echo-reply
Чтобы вывести полный список возможных опций фильтрации ICMP пакетов,
выполните команду:
[root@test root]# iptables -p icmp --help
Ограничение интенсивности поступления пакетов
Опция ограничения интенсивности может ограничить скорость поступления
пакетов в единицу времени. Эта функция реализуется с помощью счетчика.
Начальное значение счетчика уменьшается с каждым поступающим пакетом.
Если счетчик достиг нуля, все последующие пакеты будут отбрасываться.
Каждую секунду (например) значение счетчика увеличивается на единицу,
позволяя таким образом пройти еще одному пакету. Опция используется для
снижения негативного эффекта от атак затопления syn/ping пакетами
(Syn/Ping Flood).
Правило из следующего примера принимает пакеты с интенсивностью не
более 5 штук в секунду.
[root@test root]# iptables -A INPUT -m limit --limit 5/s
Фильтрация по состоянию соединения
Опция фильтрации по состоянию соединения используется для выделения
состояний соединений, отслеживаемых ядром. Возможные состояния: NEW,
ESTABLISHED, RELATED, INVALID. Такая фильтрация используется для того,
чтобы пропускать новые соединения только в одну сторону, а в обратную сторону
пропускать только трафик возвращаемый в ответ на эти соединения
(ESTABLISHED;RELATED).
[root@test root]# iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED
Цели и переходы
Цель в правиле указывает на то, что нужно сделать с удовлетворяющим ему
пакетом. Целью может быть таблица, заданная пользователем или стандартная
цель ядра, например ACCEPT или DROP, принимающая пакет (позволяющая
пакету пройти дальше) или отбрасывающая пакет (останавливающая обработку
пакета) соответственно.
Цель ACCEPT
Пакет принимается и остальные правила цепочки текущей таблицы не будут к
нему не применяются.
Цель DROP
Пакет отбрасывается и более не обрабатывается.
Цель REJECT
Цель REJECT работает подобно цели DROP, с тем отличием, что отправитель
пакета получит ICMP сообщение сигнализирующее об ошибке.
Цель REJECT можно использовать только в цепочках INPUT, FORWARD и
OUTPUT.
Цель DNAT
DNAT (Destination Network Address Translation – трансляция адреса получателя)
используется для изменения IP-адреса получателя пакета.
Цель DNAT может использоваться только в цепочках PREROUTING и OUTPUT
таблицы nat.
[root@test root]# iptables -t nat -A PREROUTING -p tcp -j DNAT --todestination 192.168.1.111
Адрес отправителя в поступающих обратно пакетах автоматически транслируется
в оригинальный.
Цель SNAT
SNAT (Source Network Address Translation – трансляция адреса отправителя)
используется для изменения IP-адреса отправителя пакета.
Цель SNAT может использоваться только с цепочкой POSTROUTING таблицы
nat.
[root@test root]# iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source
192.168.1.1
Получаемые обратно пакеты будут автоматически оттранслированы в
оригинальный адрес.
Цель MASQUERADE
Поведение цели masquerade подобно SNAT, однако в этом случае Netfilter
самостоятельно решает, какой адрес отправителя нужно использовать,
основываясь на маршруте по умолчанию. Такое поведение позволяет
реализовывать NAT с динамическими IP-адресами, получаемыми от Интернетпровайдера или DHCP-сервера.
Цель MASQUERADE доступна только в цепочке POSTROUTING таблицы nat.
[root@test root]# iptables -t nat -A POSTROUTING -j MASQUERADE
Цель MASQUERADE очищает информацию обо всех отслеживаемых
соединениях в случае деактивации сетевого интерфейса.
Цель REDIRECT
Цель REDIRECT изменяет порт назначения пакета. Таким образом, пакет
останется в пределах того же хоста, но будет передан на другой порт.
[root@test root]# iptables -A INPUT -j REDIRECT --to-port 3128
Цель MIRROR
Это в чистом виде экспериментальная цель. С ее помощью можно менять местами
адреса отправителя и получателя. Используйте с осторожностью :-)
Цель RETURN
Проход пакета по цепочке правил прекратится, как только пакет достигнет
правила с этой целью.
Цель QUEUE
Пакеты будут попадать в очередь для обработки пользовательскими
программами.
Цель MARK
С помощью этой цели можно поставить метку на пакет с целью его дальнейшей
обработки. Как Netfilter, так и пользовательские программы могут выявлять
пакеты, помеченные таким образом, для выполнения с ними специальных
действий.
iptables -A INPUT -j MARK --set-mark 1
Цель LOG
С помощью этой цели пакет попадает в журнал syslog.
[root@test root]# iptables -A INPUT -j LOG --log-prefix " Dropped INPUT: "
Цель ULOG
Эта цель существует для предоставления возможностей регистрации пакетов в
пользовательских программах, например, для занесения их в базу данных.
Пример межсетевого экрна
Сценарий, настраивающий правила iptables.
Пример:
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
DMZ=10.0.0.0/24
IPTABLES="/sbin/iptables"
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
echo "accept localhost internal traffic"
$IPTABLES -A INPUT -i lo -s localhost -j ACCEPT
...
echo "accept ssh from $DMZ on eth1"
$IPTABLES -A INPUT -s $DMZ -i eth1 -p tcp --dport 22 -j ACCEPT
...
iptables -L -v -n
iptables -L -v -n -t nat
1.1 Упражнения
Упражнение 1 :

Установите утилиту portsentry, чтобы заблокировать сканирование
портов.

Создайте сценарий, запускаемый в ответ на атаку, который будет
перенаправлять сканирование портов на сам атакующий хост (эмуляция цели
MIRROR)
Упражнение 2 :

Настройте свою систему на отбрасывание всех входящих пакетов кроме SSH и
SMTP.

Настройте «маскарадинг» всего исходящего трафика.

Настройте перенаправление HTTP-пакетов на другой хост.

Настройте регистрацию всех отклоненных пакетов в файле
/var/log/kern.log и на 9-ой консоли.
1.1 Решения
Решение 1 :

Следуйте инструкциям, описанным в этой главе.

KILL_ROUTE="/sbin/iptables -t nat -A PREROUTING -s
$TARGET$ -j DNAT --to-destination $TARGET$
Упражнение 2 :

используйте опции --dport 22, --dport 25 и -j DROP

используйте опцию -j MASQUERADE

используйте опции -j DNAT --to-destination

используйте опции цели LOG и модифицируйте файл /etc/syslog.conf
1 Защита FTP-серверов
Ключевые файлы, термины и утилиты:
ftpaccess, ftpusers, ftpgroups
/etc/passwd
chroot
1.2 Настройка демона WU-FTPD
Введение
Во время создания протокола передачи файлов (FTP - File Transport Protocol)
никто не думал о безопасности. Сегодня, во времена большой популярности
Интернет и существования небезопасных беспроводных технологий передачи
данных протокол FTP должен быть заменен на более безопасный протокол
передачи файлов, например, sftp.
В случаях, когда такая замена неприемлема, можно поместить открытые ftpсессии в отдельную корневую файловую систему (chroot jail) – упрощенную
копию нормальной системы.
Утилита Wuarchive-ftpd, известная как WU-FTPD - это ftp-демон для Unix-систем,
разработанный в Университете Вашингтона Крисом Майерсом (Chris Myers) и,
позднее, Брайаном О'Коннором (Bryan D. O'Connor). Этот демон не считается
особо безопасным FTP-сервером, так что если вам нужен действительно
защищенный продукт, стоит взглянуть на демон vsftpd («very secure ftp server»
– «очень безопасный ftp сервер»).
Настройка Wu-ftpd
Основные конфигурационный файлы демона Wu-ftpd находятся в /etc :

/etc/ftpusers

/etc/ftpaccess

/etc/ftpconversions

/etc/ftphosts
Файл ftpusers содержит список пользователей, которым запрещен доступ к
вашему FTP-серверу. Как вы могли догадаться, пользователь root должен быть
указан в этом файле. Вам таже нужно убедиться, что и другие особые
пользователи, такие как lp, shutdown, mail, и т.п. также перечислены в нем.
Пример:
[root@test root]# cat /etc/ftpusers
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
[root@test root]#
Файл ftpaccess используется для настройки таких параметров, как
безопасность, пользователи и т.п. На самом деле, это основной
конфигурационный файл. Некоторые из интересных настроек, которые вы можете
указать здесь:
loginfails [число]
Здесь «число» – это количество неудачных попыток входа в систему, которое
пользователь может сделать, прежде чем его учетная запись будет полностью
заблокирована.
shutdown [имя файла]
Здесь «имя файла» – это имя файла, появление которого на диске приведет к
автоматическому останову FTP сервера, без необходимости закрытия порта в
файле /etc/inetd.conf с последующим рестартом демона inetd.
[root@test root]# cat /etc/ftpaccess
class
all
real,guest,anonymous *
email root@localhost
loginfails 5
readme
readme
README*
README*
login
cwd=*
message /welcome.msg
message .message
login
cwd=*
compress
tar
chmod
delete
overwrite
rename
all
all
guest,anonymous
guest,anonymous
guest,anonymous
guest,anonymous
yes
yes
no
no
no
no
log transfers anonymous,real inbound,outbound
shutdown /etc/shutmsg
passwd-check rfc822 warn
[root@test root]#
Файл ftpconversions существует для обеспечения переконвертации файлов
на лету, например автоматической декомпрессии файлов во время скачивания.
Пример:
[root@test root]# cat /etc/ftpconversions
:.Z: : :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
:
: :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
:.gz: : :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
:
: :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
:
: :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
:
: :.tar.Z:/bin/tar -c -Z -f %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
:
: :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
[root@test root]#
Файл ftphosts используется для разрешения или запрещения доступа к серверу
определенным учетным записям с различных хостов.
Синтаксис, используемый в этом файле:
allow/deny
login
Пример:
# Example host access file
#
# Everything after a '#' is treated as comment,
# empty lines are ignored
allow
deny
bartm
fred
somehost.domain
otherhost.domain 131.211.32.*
host
Организация защиты FTP-сервера

Изменение текста предупреждающего сообщения

Изменение текста приветствия

Защита, запрет и ограничение пользовательских учетных записей

Защита анонимного доступа

Зашита анонимной выгрузки данных на сервер
Текст приглашения FTP
Хорошей идеей является изменение предупреждающего сообщения, выдаваемого
клиентам FTP-сервера, поскольку это позволяет скрыть от них, какой именно
сервер FTP их обслуживает.
Добавьте следующую строку в файл /etc/ftpaccess:
banner /etc/banners/warning.msg
Содержимое файла, может выглядеть примерно так:
Hello, all activity on ftp.example.com is logged.
Текст приветствия FTP
После в систему всем пользователям показывается текст приветствия. По
умолчанию приветствие включает информацию о версии сервера, которая будет
полезна хакерам, пытающим идентифицировать слабые места в системе.
Чтобы изменить этот текст, добавьте следующую директиву в файл
/etc/ftpusers:
greeting text Welcome to XYZ FTP server
Анонимный доступ
Наилучшим способом настройки анонимного доступа к FTP-серверу считается
организация специальной корневой файловой системы (chroot jail): вместо того,
чтобы позволить полный доступ к системе, такая файловая система ограничит
действия пользователя только заданным каталогом. Другими словами, после
анонимного входа в такую систему, пользователь будет иметь доступ только к
домашнему каталогу учетной записи ftp и не более того.
Важно не давать вашим FTP-пользователям учетных записей с оболочкой Linuxсистемы. В этом случае, если по какой-либо причине кто-то смог выбраться из
специальной корневой системы, он не будет иметь возможности исполнить какиелибо программы, поскольку не будет иметь оболочки bash.
Создание корневой файловой системы для демона wu-ftpd выполняется довольно
легко.
Создайте каталог для пользователя ftp:
[root@test root]# mkdir /home/ftp
[root@test root]# chown -R ftp.ftp /home/ftp
Смените его домашний каталог в файле /etc/passwd :
ftp:x:76:76:system user for WU-FTPD:/home/ftp:/bin/false
Протестируйте анонимный ftp :
[user@test user]$ ftp localhost
Connected to localhost.
220-Hello, all activity on ftp.example.com is logged.
220220 Hello you
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:user): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for directory listing.
total 16
drwxr--r-2 76
76
4096 Aug 18 15:40 incoming
drwxr-xr-x
2 76
76
4096 Aug 18 15:40 pub
226 Transfer complete.
ftp> cd /
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for directory listing.
total 16
drwxr--r-2 76
76
4096 Aug 18 15:40 incoming
drwxr-xr-x
2 76
76
4096 Aug 18 15:40 pub
226 Transfer complete.
Ftp>^D
[user@test user]$
Анонимная выгрузка
Если вы хотите разрешить выгрузку данных на сервер для анонимных
пользователей, вам необходимо позаботиться о дополнительной защите.
Прежде всего, нам нужно определиться с каталогом для выгрузки. Обычно такой
каталог называется incoming, давайте назовем его /home/ftp/incoming.
Чтобы избежать переполнения диска, нам необходимо создать отдельную
файловую систему для каталога incoming и смонтировать ее в /home/ftp/incoming.
Таким образом, даже если файловая система будет полностью заполнена, это
никак не отразится на свободном пространстве корневой файловой системы.
Далее нам нужно разрешить закачку в файле /etc/ftpaccess :
upload /home/ftp /incoming yes ftp ftp 0440 nodirs
Как правило, запрет создания каталогов является хорошей идеей. Те, кто ищет на
FTP-серверах каталоги с возможностью записи для распространения Warez'а и
тому подобных материалов, любят создавать поддиректории с очень длинными
именами.
Протестируйте выгрузку файлов на сервер:
[user@test user]$ ftp localhost
Connected to localhost.
220-Hello, all activity on ftp.example.com is logged.
220220 Hello you
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:user): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for directory listing.
total 16
drwxr--r-2 76
76
4096 Aug 18 15:40 incoming
drwxr-xr-x
2 76
76
4096 Aug 18 15:40 pub
226 Transfer complete.
ftp> put gq.png
local: gq.png remote: gq.png
200 PORT command successful.
553 gq.png: Permission denied on server. (Upload)
ftp> cd incoming
250 CWD command successful.
ftp> put gq.png
local: gq.png remote: gq.png
200 PORT command successful.
150 Opening BINARY mode data connection for gq.png.
226 Transfer complete.
49841 bytes sent in 0.043 seconds (1.1e+03 Kbytes/s)
ftp> mkdir test
550 test: Permission denied on server. (Upload dirs)
ftp>^D
[user@test user]$
1.1 Упражнения
Упражнение 1 :

Установите wu-ftpd

Смените предупреждающий и приветствующий текст

Настройте ftp-сервер со сменой корневой файловой системы

Настройте анонимную выгрузку файлов
1.1 Решения
Решение 1 :

Следуйте инструкциям этой главы
1 Безопасная оболочка (OpenSSH)
Ключевые файл, термины и утилиты:
/etc/ssh/sshd_config
~/.ssh/identity.pub и identity
~/.ssh/authorized_keys
.shosts
.rhosts
1.2 Настройка OpenSSH
Введение
OpenSSH - это бесплатная реализация безопасной оболочки (secure shell). Эта
утилита является заменой старых и небезопасных утилит rsh, rlogin, telnet, ftp, ...

SSH предоставляет возможности оболочки поверх безопасного
зашифрованного канала передачи данных.

Файлы могут передаваться с помощью утилит scp или sftp

SSH предоставляет возможности маршрутизации протокола X11

Прозрачный вход в систему с аутентификацией при помощи публичных
ключей
sshd
Сервер SSH – демон sshd - обычно устанавливается вместе с пакетом ssh.
Конфигурация находится в файле /etc/ssh/sshd_config.
Некоторые настройки безопасности:
...
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
UsePrivilegeSeparation yes
...
LoginGraceTime 600
PermitRootLogin no
StrictModes yes
...
#AuthorizedKeysFile %h/.ssh/authorized_keys
...
IgnoreRhosts yes
PermitEmptyPasswords no
ssh
Конфигурационный файл ssh клиента: /etc/ssh/ssh_config. X11Forwarding
может быть установлен по умолчанию.

Вход в систему через SSH
[root@test root]# ssh 192.168.0.69
Password:
Last login: Mon Jul 29 16:36:57 2004 from 192.168.0.42
[root@test1 root]#

Пользователь для утилиты ssh может быть указан двумя способами
[root@test root]# ssh -l root 192.168.0.69
[root@test root]# ssh root@192.168.0.69

Если не указано имя пользователя, будет использоваться текущая учетная
запись

На удаленном хосте могут быть выполнены команды
[root@test root]# ssh 192.168.0.69 ls /usr/share/doc
scp / sftp
Файлы можно копировать с помощью scp, утилиты безопасного копирования.
[root@test root]# scp some-file.tar.gz user@remote:
[root@test root]# scp some-file.tar.gz user@remote:/home/user
[root@test root]# scp -r something/ user@remote:/tmp/
OpenSSH предоставляет утилиту подобную ftp - sftp, которая позволяет
перемещаться по каталогами на удаленном сервере.
[user@test user]$ sftp user@192.168.0.206
Connecting to 192.168.0.206...
Password:
sftp> ls /mnt
/mnt/.
/mnt/..
/mnt/floppy
/mnt/slash
/mnt/usbstorage
sftp>
[user@test user]$
Безопасность

Данные шифруются

Нужно использовать только протокол версии 2, протокол версии 1 считается
небезопасным

Для идентификации на каждой машине существует ключ хоста
[root@test root]# cat /etc/ssh/ssh_host_rsa_key
-----BEGIN RSA PRIVATE KEY----MIICWwIBAAKBgQDLI9tAuoCgm959RaJSXMnh8UIj008r6Pg40nKuVfcsZ+nVTseY
EeT0YWg8ulDUlJlDg9J+432ZRkmw3lup0U/9oMGJ8lrofK17xExH8gsHcLTiKwrZ
pOXrVD19H+9B4kRnMSVeVqPcgENsHeijxp7NoZldxm5Ia17MVUUdQ6PbvQIBIwKB
gAubpiD0tuSbMUj8qjCXloHwh2/C7pTLe+X9ZaOP4j0NQI/YnbDrFGW8bFs92Luw
uE0AN+n+XvLQ0QLK4KqePxW0m4Itx2UeJXejoG3TUO6loct1sJnwtvZj/JSuZpv/
9WCMrprFOOKl8b2g830U69gR8ZMwCHYhTRilcmLJUYWLAkEA5wZIlsW/RzqxJe18
FjSp1DgRLnF2pmvbJtE7+oYNXXccZTo27rLGboydjXQR7LmgtV0h9P4u5DWz3wp5
ZWgnwQJBAOEZ2zpzv6XjHO7nSenODUntaHEG3Qn4OFeoFzllioWHMS37kuyNl7mw
WA/PhOvF57I4rAjcBkBj6Sbo4xspEv0CQQCearVus3vZEk2WWbQse+IrHyG5cl/9
FsIpPwSOh86mfY/QYm7PkIgRSnqqI7SFEZLFgbDigmlMB5FIfDX8ZK2LAkEAzc5/
S2KDVdb14b2FaAzY8yIzmonuqgeD+F8rLSmjOEEXBXhL0PZ8F3yoSPg/A3Mc+rd4
t6SYAFtY0x4Rd+sKCwJASvw6wMKi3EZhb4Ii3ZeG9wWMiZuWFVluzggKz7E80IJa
Sn1TIzl9mnOo8/E5VoH171QOFETv1/rloIDH5QoJJw==
-----END RSA PRIVATE KEY----[root@test root]#
Подписи известных хостов сохраняются в домашнем каталоге пользователя:
[user@test user]$ cat .ssh/known_hosts
192.168.0.206 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAIEAz66o+3HSw83k8l0G/hi9x9NeqDZNAHoY43lE2F1JtcypJQifd
N9maSrGFuUispNb1vvz69BgHdtZ1c67+EftgsGH7NCcjgFGg7AeLpdj6TVp8C0K5dLwmqIlaOdCV6
OaLyohhucpZxWRCREN1ezt0mNysdUobLP3vrPjCmqJLN8=
[user@test user]$
Если во время установления ssh-соединения было определено, что подпись
изменилась, SSH выводит следующее предупреждающее сообщение:
[user@test user]$ ssh 192.168.0.206
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
17:9b:fe:36:98:6f:60:75:69:47:e2:43:46:09:f6:3c.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this
message.
Offending key in /home/user/.ssh/known_hosts:1
Password authentication is disabled to avoid man-in-the-middle attacks.
X11 forwarding is disabled to avoid man-in-the-middle attacks.
Password:
Вход в систему с помощью открытого ключа
Механизм PKI (Public Key Infrastructure – инфраструктура открытых ключей)
может использоваться вместо обычной авторизации с помощью пароля.
На стороне клиента должна быть сгенерирована пара ключей – открытый и
закрытый. Открытый ключ публикуется, т.е. закачивается на сервер. Если SSH
обнаруживает открытый ключ, он использует этот метод аутентификации и
возвращается к методу аутентификации паролем только в случае неудачи.
Пара ключей может быть защищена особым паролем – он должен иметь длину
минимум 25 символов, и не должен содержать нелатинских символов
(представьте, что на каникулах вам придется воспользоваться иностранной
клавиатурой).
Если пароль не указан, вход в систему будет выполняться без пароля. Это
позволяет автоматизировать различные задачи.

DSA, версия 2.0
[user@test user]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
The key fingerprint is:
bb:ff:f2:c1:70:0e:80:1b:23:63:ea:a2:52:c6:64:86 user@test
[user@test user]$
Каталог .ssh/ на сервере должен иметь права доступа 700. Скопируйте
открытый ключ на удаленный хост или добавьте его к файлу, если он уже
существует и содержит другие ключи.
[user@test user]$ ssh user@192.168.0.206 "mkdir .ssh; chmod 700 .ssh"
Warning: Permanently added '192.168.0.206' (RSA) to the list of known hosts.
Password:
Warning: No xauth data; using fake authentication data for X11 forwarding.
/usr/bin/X11/xauth: creating new authority file /home/user/.Xauthority
[user@test user]$ scp .ssh/id_dsa.pub
user@192.168.0.206:/home/user/.ssh/authorized_keys
Password:
id_dsa.pub
100% 599
1.7MB/s
00:00
[user@test user]$
Проверьте аутентификацию с открытым ключом:
[user@test user]$ ssh user@192.168.0.206
Warning: No xauth data; using fake authentication data for X11 forwarding.
Linux socrate 2.6.5 #8 Sun Apr 4 15:29:35 CEST 2004 i686 GNU/Linux
user@socrate:~$

RSA, версия 2.0
[user@test user]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
7f:2b:75:4d:dc:01:06:63:e9:90:dc:a0:71:67:a2:40 user@test
[user@test user]$
Каталог .ssh/ на сервере должен иметь права доступа 700. Скопируйте
открытый ключ на удаленный хост или добавьте его к файлу, если он уже
существует и содержит другие ключи.
[user@test user]$ scp .ssh/id_rsa.pub user@192.168.0.206:/home/user/.ssh/test_pub_key
id_rsa.pub
100% 219
2.6MB/s
00:00
[user@test user]$ ssh user@192.168.0.206 cat .ssh/test_pub_key >> .ssh/authorized_keys
Warning: No xauth data; using fake authentication data for X11 forwarding.
[user@test user]$
Настройка маршрутизации X-протокола
На сервере в файле /etc/ssh/sshdconfig должна присутствовать строка:
X11Forwarding yes
На клиенте мы должны использовать опцию -X:
[user@test user]$ ssh -X user@192.168.0.206
Warning: No xauth data; using fake authentication data for X11 forwarding.
Linux socrate 2.6.5 #8 Sun Apr 4 15:29:35 CEST 2004 i686 GNU/Linux
Last login: Wed Aug 18 19:15:29 2004 from 192.168.0.42
user@socrate:~$
1.1 Упражнения
Упражнение 1 :

Когда вы аутентифицируетесь на новом сервере с помощью SSH, как вы
можете узнать, что «отпечаток» ключа, предоставленный вам, корректен? Как
вы можете в этом убедиться?

Работает ли асимметричная аутентификация с утилитой scp ?

Настройте вашу систему на использование алгоритма шифрования RSA и
протокола SSH 2 для удаленного входа в систему

Используйте утилиты scp и sftp с асимметричной аутентификацией
1.1 Решения
Решение 1 :

Проверив отпечаток сервера у его администратора (например, по телефону).

Да

Следуйте инструкциям этой главы
1 Поддержание безопасности системы
Ключевые файлы, термины и утилиты:
Tripwire
telnet
nmap
1.2 Выполнение задач по поддержанию
безопасности
Введение
Безопасность – это не состояние и не результат, а непрекращающийся процесс.
Это означает, что администратор должен просматривать файлы журналов каждый
день, устанавливать обновления для системы, применять патчи, в частности,
устраняющие проблемы с безопасностью, запускать сканеры, выявляющие
потенциальные уязвимости (такие как Nessus), запускать системы обнаружения
вторжений (на уровне хоста, такие как Tripwire или на уровне локальной сети как
Snort) и т.п...
Работа администратора по обеспечению безопасности занимает полный рабочий
день.
Основы Kerberos
Введение:
Kerberos - это механизм аутентификации, созданный в MIT (Massachusets Institute
of Technology – Массачусетский Технологической Институт). Этот механизм
использует сильное шифрование данных и аутентификацию для удостоверения
обмена данными между клиентом и сервером или приложениями.
Каждое приложение, которое хочет использовать механизм аутентификации
Kerberos, должно иметь встроенную поддержку Kerberos. Большинство
приложений, таких как клиенты telnet или ftp были переписаны с поддержкой
kerberos. Важно знать, что локальные приложения вашей компании могут
потребовать доработки, чтобы сделать их совместимыми с kerberos.
Как это работает:
Клиент (или сервис, или пользователь) посылает запрос на получение билета
(авторизации для клиента, позволяющей использовать определенный сервис в
течение определенного периода времени) на сервер Kerberos, именуемый KDC
(Key Distribution Center – центр распределения ключей – этот сервер содержит
базу паролей клиентов). KDC генерирует билет (TGT : Ticket Granting Ticket),
шифруя его паролем клиента, и отсылает обратно. Клиент расшифровывает билет
и использует его для доступа к сервису.
Настройка:
Kerberos использует следующие конфигурационные файлы:

/etc/kerberos/krb5kdc/kdc.conf

/etc/kerberos/krb5kdc/kadm5.acl
Затем нужно предпринять следующие шаги:

Создать базу данных с помощью основной утилиты Kerberos: kdb5_util

Добавить администраторов Kerberos с помощью kadmin

Запустить демоны Kerberos:

/etc/rc.d/init.d/kadmin

/etc/rc.d/init.d/kprop

/etc/rc.d/init.d/krb524

/etc/rc.d/init.d/krb5kdc

/etc/rc.d/init.d/krb5server

Создать хосты и сервисы в базе KDC с помощью kadmin

Установить Kerberos на клиентские машины
Быть в курсе
Очень важно регулярно просматривать главные списки рассылки, посвященные
безопасности. В них публикуется информация о новых уязвимостях.
Существует несколько списков рассылки, относящихся к безопасности:

BugTraq (www.securityfocus.com) - наиболее известный список рассылки,
посвященный компьютерной безопасности. Почти все уязвимости попадают в
этот список, иногда с инструкциями по их эксплуатации или описанием.

CERT / CC (Computer Emergency Response Team / Coordination Center
www.cert.org) - Центр экспертизы безопасности Интернета. Обрабатывает
информацию об уязвимостях, поддерживая базу данных, а также
предоставляют услуги по обучению в области безопасности (сертификация и
т.п.)

CIAC (www.ciac.org) - консультативная служба компьютерных сбоев,
поддерживаемая Министерством Энергетики США. Выполняет почти ту же
работу, что и CERT/CC, но для Министерства Энергетики.
Выявление открытых почтовых ретрансляторов
Открытый почтовый ретранслятор (open relay) - это почтовый сервер,
принимающий соединения от всех и вся. Такие серверы используются спамерами
для рассылки спама.
Проверка на то, что сервер является открытым релеем, довольно проста:
[user@test user]$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 test@domain.org ESMTP Sendmail 8.12.11/8.12.11; Wed, 18 Aug 2004 22:06:55
+0200
HELO test
250 test@domain.org Hello localhost [127.0.0.1], pleased to meet you
mail from: spammer@whatever.com
250 2.1.0 spammer@whatever.com... Sender ok
rcpt to: someone@domain.org
250 2.1.5 someone@domain.org... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
test open relay
.
250 2.0.0 i7IK6tPp009873 Message accepted for delivery
^]
telnet> Connection closed.
[user@test user]$
Почтовый сервер должен принимать «заказ» на отправку почты только от
известных пользователей. В наши дни, почтовые сервера по умолчанию
настроены на запрет открытой ретрансляции.
Системы обнаружения вторжений
Tripwire :
Tripwire - это утилита обнаружения вторжений. Эта программа осуществляет
мониторинг изменений ключевых файлов, отслеживая контрольные суммы,
размеры, и т.п.
Tripwire выявляет и генерирует отчеты об изменениях в тысячах стратегически
важных системных файлов. Если утилита обнаружила измененный файл, то вы
решаете, является ли это изменение результатом нормальных действий в системе.
Если это так, модифицируйте базу Tripwire, чтобы это изменение перестало
попадать в отчет. Если же изменение не является результатом нормальной
деятельности, исследуйте его на предмет потенциального взлома.
Настройка:
Два конфигурационных файла:
/etc/tripwire/twcfg.txt
ROOT
POLFILE
DBFILE
REPORTFILE
SITEKEYFILE
LOCALKEYFILE
EDITOR
LATEPROMPTING
LOOSEDIRECTORYCHECKING
MAILNOVIOLATIONS
EMAILREPORTLEVEL
REPORTLEVEL
MAILMETHOD
SYSLOGREPORTING
MAILPROGRAM
=/usr/sbin
=/etc/tripwire/tw.pol
=/var/lib/tripwire/$(HOSTNAME).twd
=/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
=/etc/tripwire/site.key
=/etc/tripwire/$(HOSTNAME)-local.key
=/bin/vi
=false
=false
=true
=3
=3
=SENDMAIL
=false
=/usr/sbin/sendmail -oi -t
Здесь мы задаем главные настройки Tripwire.
/etc/tripwire/twpol.txt
...
[пропущено]
...
@@section GLOBAL
TWROOT=/usr/sbin;
TWBIN=/usr/sbin;
TWPOL="/etc/tripwire";
TWDB="/var/lib/tripwire";
TWSKEY="/etc/tripwire";
TWLKEY="/etc/tripwire";
TWREPORT="/var/lib/tripwire/report";
HOSTNAME=localhost;
@@section FS
SEC_CRIT
= $(IgnoreNone)-SHa ;
SEC_SUID
= $(IgnoreNone)-SHa ;
set
SEC_BIN
= $(ReadOnly) ;
SEC_CONFIG
= $(Dynamic) ;
infrequently but accessed often
SEC_LOG
= $(Growing) ;
change ownership
SEC_INVARIANT = +tpug ;
permission or ownership
SIG_LOW
= 33 ;
security impact
SIG_MED
= 66 ;
significant security impact
SIG_HI
= 100 ;
points of vulnerability
# Critical files that cannot change
# Binaries with the SUID or SGID flags
# Binaries that should not change
# Config files that are changed
# Files that grow, but that should never
# Directories that should never change
# Non-critical files that are of minimal
# Non-critical files that are of
# Critical files that are significant
...
[SNIP]
...
(
rulename = "Kernel Administration Programs",
severity = $(SIG_HI)
)
{
/sbin/adjtimex
/sbin/ctrlaltdel
/sbin/depmod
/sbin/insmod
/sbin/insmod.static
/sbin/insmod_ksymoops_clean
/sbin/klogd
/sbin/ldconfig
/sbin/minilogd
/sbin/modinfo
->
->
->
->
->
->
->
->
->
->
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
$(SEC_CRIT)
;
;
;
;
;
;
;
;
;
;
#/sbin/nuactlun
#/sbin/nuscsitcpd
/sbin/pivot_root
/sbin/sndconfig
/sbin/sysctl
-> $(SEC_CRIT) ;
-> $(SEC_CRIT) ;
-> $(SEC_CRIT) ;
-> $(SEC_CRIT) ;
-> $(SEC_CRIT) ;
}
Здесь мы задаем то, какие атрибуты и для каких файлов мы собираемся
проверять.
Каждый файл является объектом, для которого задается маска свойств :
Свойство
Атрибут объекта
Свойство
Атрибут объекта
a
Время доступа
p
Права и режим доступа
b
Число занятых на диске
блоков
r
ID устройства, на
которое указывает
дескриптор
(допустимо только для
файлов устройств)
c
Время
создания/изменения
дескриптора файла
s
Размер файла
d
ID устройства, на
котором находится
дескриптор файла
t
Тип файла
g
ID группы, владельца
файла
u
ID владельца файла
i
Номер дескриптора
C
Хэш CRC-32
l
Файл увеличивается в
размере
H
Хэш Haval
m
Время модификации
M
Хзш MD5
n
Число ссылок
S
Хзш SHA
В Tripwire существует набор предопределенных переменных – комбинаций
свойств:
Переменная
Маска свойств
Что делает
$(ReadOnly)
+pinugtsdbmCM-rlacSH
Переменная ReadOnly подходит для
доступных всем файлов, которые, тем не
менее, должны оставаться доступными
только для чтения.
$(Dynamic)
+pinugtd-srlbamcCMSH
Dynamic подходит для мониторинга
каталогов и файлов, которые имеют
тенденцию к изменению.
$(Growing)
+pinugtdl-srbamcCMSH
Переменная Growing подходит для
файлов, которые должны только
увеличиваться в размере.
$(Device)
+pugsdr-intlbamcCMSH
Device хорош для устройств или других
файлов, которые Tripwire не должен
пытаться открыть.
$(IgnoreAll)
-pinugtsdrlbamcCMS
IgnoreAll отслеживает присутствие или
отсутствие файла, но не проверяет
другие свойства.
$(IgnoreNone)
+pinugtsdrbamcCMSH-l
IgnoreNone проверяет все свойства, и
предоставляет разумный начальный
вариант для задания вашей собственной
маски. (Например, mymask =
$(IgnoreNone) -ar;). Имейте в виду, что
свойство l (растущий файл) не
отслеживается маской $(IgnoreNone).
Третий конфигурационный файл: /etc/tripwire/twinstall.sh. Этот
скрипт должен быть запущен после установки.
[root@test tripwire]# ./twinstall.sh
---------------------------------------------The Tripwire site and local passphrases are used to
sign a variety of files, such as the configuration,
policy, and database files.
Passphrases should be at least 8 characters in length
and contain both letters and numbers.
See the Tripwire manual for more information.
---------------------------------------------Creating key files...
...
[пропущено]
...
---------------------------------------------Signing policy file...
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol
A clear-text version of the Tripwire policy file
/etc/tripwire/twpol.txt
has been preserved for your inspection. This implements
a minimal policy, intended only to test essential
Tripwire functionality. You should edit the policy file
to describe your system, and then use twadmin to generate
a new signed copy of the Tripwire policy.
[root@test tripwire]#
На следующем шаге необходимо инициализировать базу tripwire:
[root@test tripwire]# tripwire --init
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
*** Processing Unix File System ***
...
[пропущено]
...
Wrote database file: /var/lib/tripwire/test.twd
The database was successfully generated.
[root@test tripwire]#
Теперь мы можем проверить систему с помощью этой базы:
[root@test tripwire]# tripwire --check
...
[пропущено]
...
Tripwire(R) 2.3.0 Integrity Check Report
Report generated by:
Report created on:
Database last updated on:
Thu Aug 19 11:06:11 2004
Never
=============================================================================
Report Summary:
=============================================================================
Host name:
Host IP address:
Host ID:
Policy file used:
Configuration file used:
Database file used:
Command line used:
test
Unknown IP
None
/etc/tripwire/tw.pol
/etc/tripwire/tw.cfg
/var/lib/tripwire/test.twd
tripwire --check
=============================================================================
Rule Summary:
=============================================================================
----------------------------------------------------------------------------Section: Unix File System
----------------------------------------------------------------------------Rule Name
Modified
--------Invariant Directories
Temporary directories
* Tripwire Data Files
Critical devices
Severity Level
Added
Removed
--------------
-----
-------
-------
66
33
100
100
0
0
1
0
0
0
0
0
0
0
0
0
...
[SNIP]
...
----------------------------------------------------------------------------*** End of report ***
Tripwire 2.3 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered
trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY;
for details use --version. This is free software which may be redistributed
or modified only under certain conditions; see COPYING for details.
All rights reserved.
Integrity check complete.
[root@test tripwire]#
После проверки tripwire генерирует отчет с именем – временем запуска. Этот
отчет находится в каталоге /var/lib/tripwire/report :
[root@test root]# ls /var/lib/tripwire/report/
test-20040819-110611.twr
[root@test root]#
Если обнаруженные изменения - результат нормальной работы системы, то мы
можем обновить базу. Если это не так, мы должны проверить, что система не
была взломана.
Обновление базы tripwire:
[root@test tripwire]# /usr/sbin/tripwire --update --twrfile
/var/lib/tripwire/report/test-20040819-110611.twr
Please enter your local passphrase:
Wrote database file: /var/lib/tripwire/test.twd
[root@test tripwire]#
Snort :
Введение:
Snort - это система обнаружения вторжений с открытым исходным кодом,
способная выполнять анализ трафика в реальном времени и регистрацию пакетов
в IP-сетях. Утилита может выполнять анализ протоколов, поиск определенного
содержимого и может быть использована для обнаружения различных атак и
зондирований, таких как переполнение буфера, сканирование портов, атак на CGI,
зондирований SMB, попыток определения операционной системы и многого
другого.
Snort также может быть использован для прослушивания трафика:
[root@test root]# snort -v
Running in packet dump mode
Log directory = /var/log/snort
Initializing Network Interface eth0
--== Initializing Snort ==-Initializing Output Plugins!
Decoding Ethernet on interface eth0
--== Initialization Complete ==--*> Snort! <*Version 2.1.0 (Build 9)
By Martin Roesch (roesch@sourcefire.com, www.snort.org)
08/19-12:15:15.663264 0.0.0.0:68 -> 255.255.255.255:67
UDP TTL:128 TOS:0x0 ID:17587 IpLen:20 DgmLen:328
Len: 300
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
08/19-12:15:19.668662 0.0.0.0:68 -> 255.255.255.255:67
UDP TTL:128 TOS:0x0 ID:17589 IpLen:20 DgmLen:328
Len: 300
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
08/19-12:15:21.192426 ARP who-has 192.168.0.254 tell 192.168.0.42
08/19-12:15:21.192587 ARP reply 192.168.0.254 is-at 0:C0:9F:2F:7E:DD
08/19-12:15:21.192598 192.168.0.42:33122 -> 199.107.65.177:80
TCP TTL:64 TOS:0x0 ID:34789 IpLen:20 DgmLen:60 DF
******S* Seq: 0x2D71BAF6 Ack: 0x0 Win: 0x16D0 TcpLen: 40
TCP Options (5) => MSS: 1460 SackOK TS: 10370323 0 NOP WS: 0
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
...
[пропущено]
...
более подробный вывод:
[root@test root]# snort -vde
Running in packet dump mode
Log directory = /var/log/snort
Initializing Network Interface eth0
--== Initializing Snort ==-Initializing Output Plugins!
Decoding Ethernet on interface eth0
--== Initialization Complete ==--*> Snort! <*Version 2.1.0 (Build 9)
By Martin Roesch (roesch@sourcefire.com, www.snort.org)
08/19-12:16:23.135164 0:40:F4:98:D2:D9 -> 0:C0:9F:2F:7E:DD type:0x800
len:0x62
192.168.0.42 -> 4.2.2.1 ICMP TTL:64 TOS:0x0 ID:0 IpLen:20 DgmLen:84 DF
Type:8 Code:0 ID:35600
Seq:1 ECHO
F7 7D 24 41 E3 0F 02 00 08 09 0A 0B 0C 0D 0E 0F .}$A............
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
!"#$%&'()*+,-./
30 31 32 33 34 35 36 37
01234567
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
08/19-12:16:23.441050 0:C0:9F:2F:7E:DD -> 0:40:F4:98:D2:D9 type:0x800
len:0x62
4.2.2.1 -> 192.168.0.42 ICMP TTL:244 TOS:0x0 ID:17833 IpLen:20 DgmLen:84 DF
Type:0 Code:0 ID:35600 Seq:1 ECHO REPLY
F7 7D 24 41 E3 0F 02 00 08 09 0A 0B 0C 0D 0E 0F .}$A............
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ................
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
!"#$%&'()*+,-./
30 31 32 33 34 35 36 37
01234567
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Настройка:
Мы хотим запустить snort в режиме демона, обнаруживающего внешние
вторжения.
Главный конфигурационный файл snort /etc/snort/snort.conf :
#-------------------------------------------------#
http://www.snort.org
Snort 2.1.0 Ruleset
#
Contact: snort-sigs@lists.sourceforge.net
#-------------------------------------------------# $Id: snort.conf,v 1.133 2003/12/18 17:05:07 cazz Exp $
#
###################################################
# This file contains a sample snort configuration.
# You can take the following steps to create your own custom configuration:
#
# 1) Set the network variables for your network
# 2) Configure preprocessors
# 3) Configure output plugins
# 4) Customize your rule set
#
###################################################
...
[пропущено]
...
Эти комментарии отражают главные шаги настройки Snort:

Задание локальной сети: мы сообщаем snort наш IP-адрес, а также, что является
нашей сетью, а что внешней

Настройка процессоров: процессоры - это расширения snort выполняющие
какие-либо действия. Например, существуют процессоры, декодирующие
HTTP-трафик. Как правило, работа процессоров занимает существенную часть
процессорного времени.

Настройка подключаемых модулей вывода данных: позволяют выбрать,
осуществлять ли регистрацию данных в текстовом файле, базе данных SQL или
где-либо еще.

Настройка набора правил: правила задают то, что должен отслеживать snort.
Правила помещаются в несколько файлов, в зависимости от их типа. В этом
месте мы должны выбрать, что мы хотим отслеживать (например,
деактивируйте мониторинг сервера IIS, если его нет в вашей сети)
Правила Snort обычно находятся в /etc/snort/rules :
[root@test root]# ls /etc/snort/rules/
attack-responses.rules experimental.rules
shellcode.rules
web-cgi.rules
backdoor.rules
exploit.rules
smtp.rules
web-client.rules
bad-traffic.rules
finger.rules
snmp.rules
web-coldfusion.rules
chat.rules
ftp.rules
sql.rules
web-frontpage.rules
ddos.rules
icmp-info.rules
telnet.rules
web-iis.rules
deleted.rules
icmp.rules
tftp.rules
web-misc.rules
dns.rules
imap.rules
virus.rules
web-php.rules
dos.rules
info.rules
web-attacks.rules x11.rules
[root@test root]#
local.rules
p2p.rules
misc.rules
policy.rules
multimedia.rules
pop2.rules
mysql.rules
pop3.rules
netbios.rules
porn.rules
nntp.rules
rpc.rules
oracle.rules
rservices.rules
other-ids.rules
scan.rules
Простое правило выглядит следующим образом:
alert tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:"FTP CWD ...";
flow:to_server,established; content:"CWD"; nocase; content:"...";
classtype:bad-unknown; sid:1229; rev:5;)
Это правило означает, что snort должен подать сигнал тревоги, если он получит
пакет, пришедший из внешней сети и адресованный нашей локальной сети,
предназначенный для порта FTP и содержащий строку “CWD”.
Чтобы запустить демон snort:
[root@test root]# /etc/init.d/snortd start
Starting snort:
[root@test root]#
[
OK
]
1.1 Упражнения
Упражнение 1 :

Изучите основы kerberos

Посетите списки рассылки, посвященные компьютерной безопасности

Проверьте почтовый сервер на доступность спамерам
Упражнение 2 :

Установите и настройте tripwire

Настройте конфигурационный файл

Измените какой-нибудь файл и запустите проверку: tripwire –check
Упражнение 3 :

Настройте Snort

Протестируйте snort, выполнив какие-нибудь простые атаки, отслеживайте
записи в файлах журналов
1.1 Решения
Решение 1 :

http://www.securityfocus.com/archive/1

http://www.cert.org/

http://www.ciac.org/ciac/index.html

Следуйте инструкциям этой главы
Решение 2 :

Следуйте инструкциям этой главы
Устранение неполадок в работе сети
В этой главе
1.1 Поиск неисправностей в работе сети ..........................................
Устранение неполадок в работе сети .....................................................................................................
205
1 Поиск неисправностей в сети ................................................................................................................206
1 Поиск неисправностей в сети
Ключевые файлы, термины и утилиты:
/sbin/ifconfig
/sbin/route
/bin/netstat
/etc/network || /etc/sysconfig/network-scripts/
system log files such as /var/log/syslog &&
/var/log/messages
/bin/ping
/etc/resolv.conf
/etc/hosts
/etc/hosts.allow && /etc/hosts.deny
/etc/hostname || /etc/HOSTNAME
/sbin/hostname
/usr/sbin/traceroute
/usr/bin/nslookup
/usr/bin/dig
/bin/dmesg
host
1.2 Поиск неисправностей в работе сети
Когда у вас возникает проблема в работе сети, лучше всего искать её,
последовательно рассматривая все уровни сетевой топологии.
Например:

mii-tool или ethertool, проверка того, что сетевой кабель подключен к сетевой
карте

Проверка локального IP-адреса с помощью ping

Запуск ping для IP-адреса маршрутизатора, для DNS-сервера, ...

Запуск ping по имени компьютера

Обращение с помощью telnet или netcat к серверу

Проверка наличия трафика на маршрутизаторе

Запуск ping для компьютера вне локальной сети

Обращение с помощью telnet или netcat к серверу, расположенному вне
локальной сети
Наблюдайте за журналами syslog и другими регистрационными файлами на своём
компьютере и серверах в процессе выполнения проверок..
Всегда проверяйте содержимое /var/log/syslog и /var/log/message
Тест для закрепления знаний
В этой главе
Тест для закрепления знаний ...................................................................................................................208
1 Тест .........................................................................................................................................................209
2 Ответы к тесту .........................................................................................................................................212
3 Авторы .....................................................................................................................................................213
1 Тест
A) Как вывести на экран текущее содержимое кэша ARP ?
1.
netstat -arp
2.
arp -a
3.
arp -l
4.
cat /proc/arp
B) Вы хотите запретить доступ к вашему внутреннему HTTP-серверу из внешней сети.
Какое правило iptables следует добавить на межсетевом экране ?
1.
iptables -A FORWARD -p tcp -s ! $LOCAL_NET -d
$WEB_SERVER --dport 80 -j DROP
2.
iptables -A INPUT -p tcp -s $LOCAL_NET -d $WEB_SERVER -dport 80 -j DROP
3.
iptables -A INPUT -p tcp -s not $LOCAL_NET -d $WEB_SERVER
--dport 80 -j DROP
4.
iptables -A FORWARD -p tcp -s not $LOCAL_NET -d
$WEB_SERVER --dport 80 -j DROP
C) В чем состоит разница между параметрами «requisite» и «require» в технологии PAM
?
1.
Нет разницы
2.
require более строг
3.
requisite более строг
D) Какой файл необходимо изменить, чтобы перенаправить системный журнал в
/dev/tty12 ?
1.
/etc/securetty
2.
/etc/inittab
3.
/etc/syslog.conf
4.
/etc/sysconfig/tty
E) Как называется сервер репликаций OpenLDAP ?
1.
slapd
2.
slapd-slave
3.
smackd
4.
slurpd
F) При подключении к вашему DNS-серверу по SSH, вы получили сообщение:
“WARNING : REMOTE HOST AUTHENTICATION HAS CHANGED”. Что произошло ?
1.
Вы забыли перезапустить демон SSH после установки
2.
Вы переустановили сервер OpenSSH, очистив все его
конфигурационные файлы
3.
Ваш SSH-клиент не совместим с SSH-сервером
4.
Это бывает лишь с серверами в других сетях
G) Вам необходимо установить DHCP-сервер на предприятии, где вы работаете. DHCP
будет использоваться всеми машинами, но сервера должны получать статичные IPадреса. Как DHCPD распознает эти сервера ?
1.
По их IP-адресу
2.
По их имени хоста
3.
По их MAC-адресу
4.
Присвоить статичные IP-адреса машинам невозможно.
DHCP всегда выдает динамические IP-адреса.
H) Ваш DNS-сервер выдает ошибку при старте. Какую утилиту вы используете
для того, чтобы проверить конфигурационные файлы named ?
1.
bind-checkconf
2.
named-checkconf
3.
bind-conf
4.
named-conf
I) Что из перечисленного не является защищенным VPN-протоколом ?
1.
PPOE
2.
IPSEC
3.
PPTP
4.
CIPE
J) В Kerberos, клиенты получают билеты в :
1.
KSC
2.
KTC
3.
KDC
4.
KGC
K) В чем состоит отличие между Snort и Tripwire :
1.
Tripwire - это HIDS (система обнаружения вторжений
хоста), а Snort – NIDS (сетевая система обнаружения
вторжений)
2.
Tripwire следит за активностью на хосте, тогда как
Snort следит за активностью на хосте и в сети
3.
Tripwire может работать в режиме демона, а Snort нет
4.
Оба этих продукта используют базу данных
подозрительных действий
1 Ответы к тесту
A) 2
B) 1
C) 3
D) 3
E) 4
F) 2
G) 3
H) 2
I) 1
J) 3
K) 1
2 Авторы
Данный материал разработан компанией LynuxTraining.
Перевод на русский язык: Агапова Ксения, Шабунио Юлия, Шер Павел
Координатор перевода: Синицын Валентин
Словарь терминов
10BaseT
Сеть Ethernet по UTP-кабелям, с использованием концентраторов для получения топологии
звезды; теоретически имеет максимальную скорость передачи 10 Mbit/s.
100BaseT
Сеть Ethernet по UTP-кабелям, с использованием концентраторов для получения топологии
звезды; теоретически имеет максимальную скорость передачи 100 Mbit/s.
ALT
ANSI
Клавиша Alt (Alternative) на клавиатуре.
Национальный Институт Стандартизации США (American National Standards Institute). Набор
стандартов, которым отвечают большинство протоколов.
API
Программный интерфейс приложения (Application Programming Interface). Спецификация,
позволяющая при написании программ иметь простой доступ к функциям библиотеки или другим
системным ресурсам; функциональность операционной системы доступна через API.
ARP
ASCII
ATA
Протокол разрешения адреса (Address Resolution Protocol), см. RFC826. Низкоуровневый протокол
который по IP адресу в локальной сети определяет Ethernet MAC адрес соответствующего
интерфейса.
Американский национальный стандартный код для обмена информацией (American National
Standard Code for Information Interchange). Спецификация символов, широко используемая в мире
UNIX и не только в нем.
Популярный 16-битный стандарт интерфейса, который позволяет ISA шине в IBM PC-AT
присоединять внешние устройства; включает 5 поколений; первоначальный ATA больше известен
как IDE.
ATAPI
Пакетный интерфейс периферийных устройств для АТ-совместимых компьютеров (AT Attachment
Packet Interface). Усовершенствование протокола ATA, позволяющее подключать приводы
компакт-дисков и прочее.
BIOS
BSD
Базовая система ввода-вывода (Basic Input/Output Operating System). Простая низкоуровневая
операционная система, которая обеспечивает единообразный API к высокоуровневым
операционным системам.
Система Беркли (Berkeley Systems Distribution). Вариант UNIX, первоначально разработанный в
Калифорнийском университете (University of California).
BUGTRAQ
Список почтовой рассылки для дискуссий, посвященных сетевой безопасности (демоны,
программы, операционные системы, маршрутизаторы).
C
C++
Компилируемый язык программирования, тесно связанный с UNIX.
Объектно-ориентированный язык программирования, базирующийся на языке C.
CD-ROM
Компакт-дисковое запоминающее устройство (Compact Disc Read Only Memory). Довольно
популярный съемный носитель, известный в нескольких вариациях, наиболее широко
используется ISO9660.
CERT
CGI
CHAP
char
CIDR
CIFS
CPU
Группа компьютерной "скорой помощи" (Computer Emergency Response Team). Коллектив людей,
изучающих безопасность Интернета и обеспечивающих службу устранения неполадок; см.
http://www..
Общий шлюзовой интерфейс (Common Gateway Interface). Стандарт, позволяющий приложениям
сервера запускаться в ходе выполнения HTTP-запроса.
Протокол аутентификации с предварительным согласованием вызова (Challenge Handshake
Authentication Protocol).
Тип данных C (обычно один байт), используемый для представления символов.
Бесклассовая маршрутизация между доменами (Classless Inter-Domain Routing). См RFC1519; ср.
Маска подсети переменной длины.
Общий протокол доступа к файлам Интернет (Common Internet File System). Преемник SMB от
Microsoft, набор протоколов для доступа в файлам и службам печати.
Центральный процессор (Central Processing Unit). Главный компонент, позволяющий компьютеру
работать; в настоящее время часто называется "микропроцессор" и располагается в отдельной
кремниевой микросхеме (ср. Процессор).
CSLIP
Сокращенный протокол интерфейса линии последовательной передачи (Compressed Serial Line IP).
SLIP с добавленным VJ сжатием заголовков IP. См RFC1144.
CTRL
Клавиша Control на клавиатуре.
Debian
DEBorah & IAN (Murdock). Дистрибутив GNU/Linux, распространяемый организацией
добровольцев.
DEL
DES
DHCP
DMA
DNS
EIDE
Клавиша Delete на клавиатуре.
Стандарт шифрования данных (Data Encryption Standard). Стандарт для шифрования данных,
одобренный правительством США, в настоящее время считается незащищенным от мощных атак.
Протокол динамической конфигурации узла (Dynamic Host Configuration Protocol). Обеспечивает
автоматическое назначение IP-адресов и других данных конфигурации от сервера к клиенту.
Позволяет использовать IP-адреса повторно, так что число узлов может превышать число
доступных IP адресов. См. RFC2131, ср. BOOTP.
Прямой доступ к памяти (Direct Memory Access). Протокол оборудования, позволяющий
специальному устройству (контроллеру DMA) передавать блоки данных от буферной памяти
периферийного устройства непосредственно основной памяти без привлечения CPU; ср. PIO.
Служба имен доменов (Domain Name System). Иерархически построенная распределенная служба
каталогов, которая переводит имена, распознаваемые человеком, такие как www.lpi.org в
соответствующие IP-адреса. См. RFC's 1034 и 1035, а также 1032 и 1033.
Улучшенный IDE (Enhanced IDE). Запатентованное Western Digitals расширение стандарта
интерфейса IDE с свойствами ATA-2 и ATAPI, используемое при подключении жестких дисков и
приводов компакт-дисков к ПК.
e-mail
Электронная почта.
ESC
Клавиша Escape на клавиатуре.
Ethernet
Разновидность интерфейса для компьютерной сети LAN, использующая коаксиальный кабель
(10Base2 или 10Base5) или кабели UTP (10BaseT или 100BaseT). Спецификации описаны в IEEE
стандарте 802.2. ср. MAC.
FAT
FHS
Таблица размещения файлов (File Allocation Table). Простая файловая система, использующая
таблицу для индексирования файлов на блочном устройстве (гибком или жестком диске). Имеет
разновидности FAT-12 (MS-DOS), FAT-16 (MS-DOS, MS-Windows 3.x) и "FAT-32" (MS-Windows
9x).
Стандарт иерархии файловых систем (Filesystem Hierarchy Standard). Предлагаемый стандарт для
расположения файлов в системе Unix. См. http://www.pathname.com/.
forwarding
Действие, заключающееся в получении электронной почты и пересылке ее на другой адрес.
FSF
Фонд Свободного Программного Обеспечения (Free Software Foundation) : освобождающая от
уплаты налогов благотворительная организация, привлекающая средства для оплаты работ над
проектом GNU; см. http://www.fsf.org.
FSSTND
Стандарт для расположения файлов в системе Linux; заменен на FHS.
FTP
GB
GID
GNU
GPL
Протокол передачи файлов (File Transfer Protocol). Протокол для передачи файлов по Интернету, а
также приложение, совершающее эту передачу. См. RFC959.
Гигабайт, Gb : 1000 (реже 1024) MB (1,000,000,000 или 1,048,576,000 или 1,073,741,824 байт)
ID группы.
ГНУ (GNU's Not Unix). Проект FSF для Unix(R)(TM)-совместимых утилит и программ,
основанный исключительно на свободном исходном коде.
Универсальная Общественная Лицензия (General Public License). Лицензия для распространения
свободного программного обеспечения, которая разрешает копирование, изменение и
перераспространение. Создана FSF для проектов, подобных GNU, также применима и к Linux. См.
http://www.gnu.org/copyleft/gpl.html.
HDLC
Высокоуровневый протокол управления каналом (High-level Data Link Control). Стандарт ISO/IEC
3309; соответствует PPP.
HOWTO
Набор документов определенной тематики, формирующий ощутимую часть документации по
Linux. Происходит от LDP, и, большей частью, публикуется им же.
HTML
HTTP
Язык гипертекстовой разметки (HyperText Markup Language). Стандарт для определения
структуры документа, определяемой тегами в тексте документа; используется в WWW совместно
с HTTP.
Протокол гипертекстовой передачи (HyperText Transfer Protocol). Серия протоколов на уровне
приложения, используемых для связи между WWW-браузером и WWW-сервером. См. RFC2616.
I/O
ICMP
ID
IDE
IEEE
IMAP
IP
IRQ
ISA
ISDN
ISO
KB
kbit/s
Ввод/Вывод (Input/Output).
Протокол управляющих сообщений в сети Internet (Internet Control Message Protocol).
Необходимый протокол (RFC792) для уведомления об ошибках между шлюзами и узлами в сетях
на основе IP. Действует на уровне протокола IP внутри сетевого уровня.
Идентификатор.
Встроенный интерфейс дисковых устройств (Integrated Drive Electronics). Популярный интерфейс
для подключения жестких дисков к ПК, при этом электронные устройства контроллера
расположены не на отдельной карте ПК, а встроены в дисковое устройство; См. также ATA.
Институт инженеров по электротехнике и электронике (Institute of Electrical and Electronics
Engineers). Базирующаяся в США международная организация профессиональных инженеров;
также орган стандартизации.
Протокол доступа к сообщениям в сети Интернет (Internet Message Access Protocol). См. RFC2060
на IMAP4.
Протокол Интернета (Internet Protocol). Протокол сетевого уровня, используемый в IP-сетях. См.
RFC791.
Запрос на прерывание (Interrupt ReQuest).
Архитектура, соответствующая промышленному стандарту (Industry Standard Architecture).
Устаревший стандарт PC-шины.
Цифровая сеть связи с комплексными услугами (Integrated Services Digital Network). Протокол для
узкоканальной передачи, используемый телефонными компаниями для получения одного, двух,
или более B-каналов (каналов-носителей) со скоростью передачи 64 Kbit/s каждый, по медным
проводам длиной до 5.5 км. Каждый B-канал может быть использован для обеспечения
высококачественной голосовой связи, службы факсов или передачи данных.
Международная организация по стандартизации (International Standards Organization). Один из
нескольких органов, учреждающих стандарты, в том числе и компьютерные.
Килобайт, kb, kB, 1024 байт.
Килобит в секунду, kbps, Kbps, Kbit/s. Скорость передачи данных, равная 1000 бит в секунду.
Kbyte/s
Килобайт в секунду, kbps, Kbps, KBps, KB/s, kbyte/s. Скорость передачи данных, равная 1024 байт
в секунду.
LAN
LDP
LILO
Локальная сеть (Local Area Network). Небольшая сеть, как правило, из одного или нескольких
сегментов, поддерживающая широковещательные передачи и прямые соединения между узлами;
например, Ethernet, Token Ring, Appletalk и ARCNet; ср. WAN.
Проект документирования Linux (Linux Documentation Project).
Загрузчик Linux (Linux Loader). Загрузчик: программа, загружающая ядро Linux, с тем чтобы
Linux мог запуститься; также может загружать другие операционные системы..
LLC
LPI
MAC
Управление логическим соединением (Logical Link Control). Сетевой стандарт IEEE (#802.2),
который действует внутри уровня 2 ISO/OSI : канального уровня, над подуровнем MAC. Имеет
дело с определением ошибок, контролем переполнения и форматом кадров.
Институт профессиональных пользователей Linux (Linux Professional Institute). Некоммерческая
организация, основанная для создания широко поддерживаемых программ сертификации для
Linux; см. http://www.lpi.org/.
Управление доступом к носителю (Media Access Control). Уровень сетевого стандарта IEEE
(#802.x) действующий в уровне 2 ISO/OSI: уровень связи данных, под подуровнем LLC. Имеет
дело с методами доступа, определением ошибок, и форматами передач. Известными
спецификациями IEEE MAC является Ethernet в своих разновидностях (#802.2) и Token Ring
(#802.5?).
MandrakeSoft
Коммерческий дистрибутив Linux.
MB
Мегабайт, мег, Mb 1000 (или иногда 1024) KB (1,000,000 или 1,024,000 или 1,048,576 байт).
Mbit/s
Мегабит в секунду, Mbps. Скорость передачи данных, равная 1,000,000 бит в секунду.
MBR
Главная загрузочная запись (Master Boot Record). Область на внешнем цилиндре жесткого диска
ПК, содержащая таблицу разделов. Таблица разделов состоит из четырех записей, определяющих
тип, стартовый цилиндр и размеры разделов жесткого диска, коих может быть четыре штуки.
Одна из этих записей помечена как 'активная'; это означает, что загрузка компьютера
осуществляется с этого раздела. Гибкие диски не имеют MBR, поскольку у них нет таблицы
разделов. Вместо этого, у них есть просто загрузочный сектор ( как у логического диска),
содержащий таблицу описания носителя (Media Descriptor Table или MDT) и загрузчик
операционной системы. MDT описывает формат гибкого или логического диска.
MS-Windows NT
32-битовая операционная система от Microsoft(C)(R)(TM).
MTU
Максимальная единица передачи (Maximum Transfer Unit). Максимальный размер IP пакета,
который принимается для передачи и не разбивается на датаграммы меньших размеров.
NetBEUI
Текущая реализация протокола NetBIOS, используемая в MS-DOS, MS-Windows и OS/2.
NetBIOS по TCP/IP
Уровень кода, реализующий API NetBIOSа, но применяющий датаграммы TCP и UDP, которые, в
свою очередь, инкапсулированы в IP датаграммы. Поскольку IP является маршрутизируемым, это
позволяет преодолеть самое существенное ограничение NetBIOS. См RFC's 1001, 1002, 1088.
NetBIOS
Облегченный транспортный протокол, разработанный Sytek, IBM и Microsoft для использования
на персональных компьютерах.
NFS
NIS
Сетевая файловая система (Network File System). Протокол, разработанный Sun Microsystems,
позволяющий Unix машине присоединять область удаленного диска как часть локальной
файловой системы; широко распространена, но сомнительной безопасности.
Сетевая информационная система (Network Information System). Протоколы, обеспечивающие
сетевые сервисы (такие как аутентификация) для NFS.
offline
Не подключенный к компьютерной системе или сети; ср. online.
online
Подключенный к компьютерной системе или сети; ср. Offline.
OSI
PAP
PCI
PID
PIO
PLIP
PnP
POP
Взаимодействие открытых систем (Open Systems Interconnection). Концепция "связки" протоколов
(поскольку "TCP/IP stack", как и "This damn Microsoft TCP/IP stack is so broken...") происходит из
семиуровневой модели OSI, хотя и в TCP/IP имеется примерно четыре различных уровней
(некоторые уровни объединены). См. физический, канальный, сетевой, транспортный, сеансовый,
представительский и прикладной уровни (модель OSI); уровень сетевого доступа, сетевой
уровень, транспортный и прикладной уровни, (набор TCP/IP).
Протокол аутентификации по паролю (Password Authentication Protocol).
Интерфейс периферийных компонент (Peripheral Components Interface). Шина ПК, для связи карт с
процессором, заменившая первоначальную шину ISA.
ID процесса (Process ID). Числовая переменная, используемая ядром для отслеживания процессов.
Программируемый ввод/вывод (Programmed I/O). Технология, при помощи которой CPU
выполняет нагруженный кодом цикл, в котором он копирует данные из буферной памяти
периферийного устройства и записывает их в основную память; использовался в ранних версиях
ATA, но был заменен DMA.
IP по параллельной линии (Parallel Line IP). Протокол IP для параллельного кабеля (между двумя
машинами, соединенными физически и не сильно отдаленными друг от друга).
“Включай и работай” (Plug and Play).
Почтовый протокол (Post Office Protocol). Протокол для извлечения почты с почтового сервера.
См. RFC1939 (POP3). Различные серверные приложения имеют обычно имена, производные от
'pop': ipop3d, ipop2d, и popper.
Postscript
Язык описания страницы, разработанный и распространяемый Adobe Inc. Широко используется в
лазерных принтерах, особенно в случаях, когда требуется высокое разрешение (например, при
фотопечати). В Linux, различные приложения зачастую эмулируют его и для не-Postcript
принтеров.
PPID
PPP
RARP
ID родительского процесса (Parent Process ID).
Протокол двухточечного соединения (Point-to-Point Protocol). Протокол физического уровня
(RFC1661), который может быть использован для инкапсуляции IP и других сетевых протоколов,
обеспечивая отличное расширение протоколов LAN для пользователей коммутируемого доступа.
Протокол определения сетевого адреса по местоположению узла (Reverse Address Resolution
Protocol), rarp. Низкоуровневый протокол, который, по адресу оборудования (Ethernet MAC) в
локальной сети возвращает соответствующий IP адрес, ср. ARP.
README
Важный документ, обычно поставляемый с пакетом программ, где уделяется внимание важным
вопросам; Имя файла, как правило, пишется заглавными буквами, так что он оказывается вверху
содержимого каталога.
Red Hat
Коммерческий дистрибутив Linux.
RFC
root
RPC
RPM
SCSI
Запросы на комментарии (Request For Comments). Официальная спецификация протоколов и
стандартов Интернета.
Учетная запись администратора (UID 0) на системах *nix, который имеет все привилегии; ср.
Суперпользователь, а также самый верхний, первый, основной уровень (например: корневой
каталог, "/").
Удаленный вызов процедуры (Remote Procedure Call).
Управление пакетами Red Hat (Red Hat Package Management). Система, облегчающая установку,
проверку, обновление и удаление пакетов Linux. За более подробной информацией обратитесь к
HOWTO.
Интерфейс малых компьютерных систем, произносится “скази” (Small Computer Systems Interface).
Многоточечная архитектура шины, особенно удобная при одновременном внешнем и внутреннем
подключении запоминающих устройств, таких как жесткие диски, ленточные накопители и
приводы компакт-дисков.
SGID
Set Group ID, sgid.
SLIP
SMB
SMTP
SNR
SUID
SuSE
TCP
Межсетевой протокол для последовательного канала (Serial Line Internet Protocol). Способ
инкапсуляции IP датаграммы для передачи по асинхронным модемным соединением. Смотри
RFC1055, "A Non-Standard for Transmission of IP Datagrams over Serial Lines"; ср. PPP.
Блок серверных сообщений (Server Message Block). Протокол, разработанный Microsoft,
предназначенный для передачи вызовов API (первоначально MS-DOS, затем OS/2 и MS-Windows)
и их аргументов по локальной сети NetBIOS; под Linux первоначально использовался как
протокол для совместного использования файлов и принтеров с Windows машинами.
Простой протокол электронной почты (Simple Mail Transfer Protocol). Общепринятый протокол,
используемый почтовыми серверами для доставки электронной почты по Интернету. См. RFC821.
Отношение сигнал/помеха (signal-to-noise ratio). Относительное количество полезной информации
в сигнале, по сравнению с шумом, содержащимся в нем.
Set User ID, suid. Для файлов Unix-совместимой файловой системы – разрешающий бит,
делающий возможным порожденному процессу (то есть, полагая файл исполняемым) иметь те же
права доступа к другим ресурсам, что у пользователя, создавшего файл, а не пользователя,
создавшего процесс.
Коммерческий дистрибутив Линукс.
Протокол управления передачей (Transmission Control Protocol). Потоковый транспортный
протокол, ориентированный на сеанс, обеспечивающий упорядочение, обнаружение и устранение
ошибок, управление потоками, контроль перегрузки и мультиплексирование; ср. UDP. См.
RFC793.
TCP/IP
Transmission Control Protocol / Internet Protocol. Комплект протоколов для передачи данных по
сети Интернет.
TIPS
Test Item Processing System. Набор Python-скриптов, обеспечивающих web-интерфейс для
управления тестами LPI. Смотри http://www.lpi.org/cgi-bin/tips.py.
TFTP
UDP
UID
UN*X
URL
USB
Тривиальный FTP. Протокол, подобный FTP, но более простой и менее безопасный; используется
главным образом для взламывания компьютеров и загрузки бездисковых сетевых клиентов.
Смотри RFC1350.
Протокол пользовательских датаграмм (User Datagram Protocol). Не ориентированный на
соединение, не гарантирующий доставку транспортный протокол, обеспечивающий
многократность и обнаружение ошибок в приложениях, требующих малотребовательный
протокол для одноразовых транзакций; ср. датаграмма, пакет, TCP. См. RFC768.
ID пользователя (User ID).
Термин для обозначения любого варианта операционной системы UNIX(R)(TM), включая Linux и
большое число других свободных и коммерческих систем; также *NIX.
Универсальный локатор ресурса (Universal Resource Locator). Идентификатор для адреса в
Интернете, которому предшествует имя протокола, используемого для достижения этого адреса
(например: ftp://ftp.kernel.org/ ).
Универсальная последовательная шина (Universal Serial Bus). Недавно разработанный стандарт
шины для последовательного подключения периферийных устройств.
user mask
umask
UTC
UTP
WAN
Официальное мировое время.
Неэкранированная витая пара (Unshielded Twisted Pair). Разновидность сетевого кабеля,
содержащего несколько параллельных проводов, используемого для Ethernet. Сеть, как правило,
имеет топологию звезды, содержит концентраторы и не требует терминаторов.
Глобальная сеть (Wide Area Network). Сеть, связывающая географически разделенные объекты (и
зачастую локальные сети в них), используя сетевые соединения типа “точка-точка” (выделенная
линия, SLIP, PPP) или пакетную коммутацию (X.25, frame relay) и не поддерживающая такие
свойств локальных сетей, как широковещательная передача и прямое соединение.
Win-модем
Модем, имеющий только цифровой обработчик сигналов ( Digital Signal Processor) и
использующий приложения для MS-Windows на CPU компьютера для кодирования и
декодирования данных.
WINS
WWW
X
XML
Служба имен Интернет для Windows (Windows Internet Name Service). Автоматическая база
данных имен NetBIOS для разрешения имен NetBIOS в адреса IP.
Всемирная паутина (World Wide Web, web). Повсеместно распространяемый архив HTML
документов, связанных посредством HTTP.
X-Window. Система X Window : графический пользовательский интерфейс, разработанный в MIT
и имеющий несколько разновидностей.
Язык расширяемой разметки (eXtensible Markup Language).
агент передачи сообщений
Программа, маршрутизирующая электронную почту, основанную на заголовке RFC822 и
вызывающая необходимого агента доставки, главным образом SMTP (RFC821) для
маршрутизации почты к произвольному назначению. Например : exim, qmail, sendmail, smail.
Смотри также RFC1711 и пользовательский почтовый посредник.
адрес
Область памяти или уникальный идентификатор, присвоенный интерфейсу какого-нибудь
сетевого устройства, например, интерфейсу сетевого адаптера.
активный
Контекст, в котором процесс получает доступ к терминалу для вывода данных, то есть
выполняется не в фоновом режиме.
алгоритм
Формальное описание процедуры, которая, будучи снабженной подходящими входными данными,
выдаст результат, удовлетворяющий некоторым требованиям.
аналоговый
Соответствующий физическому количеству, принимающему любое значение из непрерывного
диапазона. Например, таковым будет напряжение, используемое для кодирования громкости при
передаче сигнала, передаваемого по стандартной медной телефонной линии. ср. Цифровой.
аргумент
Часть информации, передаваемой функции или команде.
архив
Резервные данные, хранимые в виде файла, содержащего один или более компонентов и их
перечень (например, в формате tar, cpio, rpm или deb).
ассемблер
Программа, которая компилирует программу, написанную на языке ассемблера, в объектный код.
база данных
Как правило, большой набор упорядоченных и доступных данных.
байт
Тип данных, состоящий из 8 битов.
библиотека
Набор процедур (как правило, взаимосвязанных) для подключения к программе.
бит
Наименьшая единица информации : может принимать только одно из двух значений (0-1, вклвыкл, открыто-закрыто, и тп.).
бит фиксации
Sticky bit. Разрешающий бит для исполняемого файла, позволяющий ядру хранить в памяти образ
процесса после его завершения, во избежание издержек новой загрузки при повторном запуске
файла.
блочное устройство
Устройство, обменивающееся с операционной системой данными в виде блоков большого размера
(например, 512 байт) за один прием.
буфер
Временное хранение; ср. Кэш.
ввод
Любые данные, вводимые в работающую программу или в файл.
ветвление
Когда исполняющийся процесс создает точно такой же (за исключением PID) выполняющийся
дубликат самого себя; см. дочерний процесс, порождать.
взламывать
Получать доступ к компьютерной системе без соответствующей авторизации (например, путем
угадывания пароля легального пользователя), и, быть может, мешать ее нормальной работе или
целостности.
взломщик
Тот, что пытается совершить взлом; ср. Хакер.
виртуальная консоль
Виртуальный терминал, VT, VC.
виртуальная память
Дополнительная память, доступная системе, располагающаяся на жестком диске, и,
следовательно, практически неограниченная, хотя и намного более медленная, нежели истинная
ОЗУ. Часто называется подкачкой.
виснуть
ср. крах.
владелец
Учетная запись, чей номер UID связан с файлом.
вызывать
Приводить в исполнение.
вывод
Любые данные, созданные процессом.
выгружать
Освободить сервер от служб или приложений для высвобождения большего количества ресурсов
(времени CPU, дискового пространства, и т.д.).
выполнить
Привести (программу) в состояние работы; ср. Запустить.
гибкий диск
Флоппи-диск. Магнитный носитель с гибким диском внутри; ср. жесткий диск.
глобальный
Переменная, раздел настройки, процедура, и тп, с неограниченной областью видимости (то есть,
применимая везде, до тех пор пока не будет изменена локально).
графика
Картинки, рисунки; в отличие от текста.
графический пользовательский интерфейс, GUI
Интерактивный интерфейс, использующий графический дисплей. N.B. Используйте этот термин,
только если он действительно графический (например, как X). Не используйте его для
интерактивных программ на текстовых терминалах (на основе ncurses или slang). Для обозначения
и тех, и других используйте "интерактивный интерфейс". Ср. Интерфейс командной строки.
группа
Относится к списку из одного или большего количества пользователей, обладающими
одинаковыми правами доступа; см. /etc/groups.
грязный
Не чистый.
дамп памяти
Содержимое памяти, записанное в файл на диске (часто называемый "core") при крахе программы.
данные
"То, что дано", например, для ввода в компьютер; ср. Информация.
датаграмма
Пакет, используемый, главным образом, в UDP (Примечание: не только в IP – другие протоколы
тоже используют термин “датаграмма” в собственной документации).
двоичный файл
Файл, который предназначен для чтения не человеком, а приложениями или операционной
системой.
деинсталлировать
Удалить оборудование или приложения из компьютерной системы.
демон
Программа, которая выполняется в фоновом режиме и обеспечивает системные службы.
диалап
Соединение, совершаемое по коммутируемой телефонной сети общего пользования (Public
Switched Telephone Network PSTN), в отличие от постоянного соединения по выделенной линии.
диск
Вращающийся магнитный носитель, который поддерживает прямой доступ и произвольную
выборку; ср. гибкий диск, жесткий диск.
дистрибутив
Полная (как правило) совокупность программного обеспечения, необходимого для пользования
компьютером, содержащая ядро Linux, разнообразные утилиты и приложения.
домен
Одна или более компьютерных сетей, служащих организационной группой. Имя присваивается
сетевому домену.
дочерний процесс
Любой процесс, созданный другим, так называемым родительским процессом; как правило,
используется с указанием родительского процесса.
жесткая ссылка
В файловых системах Unix-элемент каталога, указывающий на файл в другом каталоге того же
диска или раздела и имеющий ту же узловую точку; ср. символическая ссылка.
жесткий диск
Устройство, использующее твердые диски в качестве магнитного носителя для хранения данных,
ср. гибкий диск.
журнал
Запись действий.
завершить
Разорвать, закончить, выйти, остановить, и тп.
зависимость
Состояние, когда для работы программы требуются другие библиотеки|программы|пакеты.
загрузить
Передать с диска в память.
загрузить (ОС)
Привести операционную систему в состояние исполнения.
загрузчик
Программа, обычно устанавливаемая в MBR на машинах Intel, которая загружает ядро
операционной системы и запускает его.
задание
Задача, посылаемая в фоновый режим или отложенная для более позднего выполнения.
запустить
Позволить (программе) работать; ср. Выполнить.
излишний
Ненужный; говорится об информации в контексте сжатия, или представления целостности
данных.
интегрированная среда разработки
IDE (Integrated Development Environment). Интегрированная среда разработки.
интерактивный
Имеющий свойство взаимодействовать, то есть отвечать на действия извне. Используется в
контексте программ или интерфейсов.
интерактивный интерфейс
Взаимодействие между компьютером и пользователем, позволяющее им влиять друг на друга и
обмениваться вводом и выводом (команд и данных).
Интернет
Компьютерная сеть на основе протокола IP, распространенная по всему миру.
интерпретатор
Программа, проверяющая скрипт или исходный код программы и исполняющая его, строка за
строкой.
интерфейс
Соединение (посредством устройства или программы) между различными компонентами
компьютерной системы (как правило, производящее преобразования между внутренними
протоколами компонентов); используется главным образом в контексте соединения по сети, или
связи между компьютерными системами и пользователями.
интерфейс командной строки
Интерактивный пользовательский интерфейс, позволяющий компьютерной программе или
оболочке получать команды через текстовый терминал (или эмулятор терминала в окне внутри
графического пользовательского интерфейса).
интранет
Сеть (обычно локальная сеть) основанная на IP, но, в отличие от Интернета, разрешающая только
ограниченный доступ.
информация
Что-нибудь, стоящее познания, в отличие от просто данных.
испорченный
Поврежденный (о файле или содержимом диска).
исполняемый
Двоичный файл или скрипт, который может быть запущен как программа (может потребовать
разрешения на исполнение).
исходники
Файлы, содержащие исходный код программы или системы программ, из которых можно
скомпоновать исполняемую программу или библиотеку, а также перенести ее на другую
компьютерную платформу.
исходный код
Текст (набранный, как правило, человеком), детально определяющий действия программы,
написанный на языке программирования. Для получения исполняемой компьютерной программы
его следует обработать компилятором.
кадр
канал
Пакет, собранный и переданный физическом уровне сети (например, Ethernet, Token Ring, и тп).
Структура данных, соединяющая файл, присоединенный к одному процессу с файлом, с
присоединенным к другому; по соглашению, стандартный поток вывода одного процесса к
стандартному потоку ввода следующего. В командной строке принято обозначать символом '|' .
карта
Любое устройство, которое можно подключить в компьютерное гнездо расширения.
каталог
Специальный тип файлов, содержащий информацию о других файлах, например имя файла,
месторасположение, разрешения, размер, и тд.
концентратор
Вообще говоря, устройство, соединенное с несколькими другими устройствами; применительно к
компьютерным сетям, повторитель в основе сети с топологией звезды, как правило, с 10BaseT или
100BaseT Ethernet.
клавиатура
Устройство ввода с большим количеством кнопок, помеченных буквами и другими символами.
клиент
Компьютер или процесс, который соединяется и получает сервис от серверного компьютера или
процесса.
ключ
Маркер, используемый для шифрования текста или дешифрования кодированного текста в
системах шифрование.
коаксиал
Коаксиальный (со-осный) кабель. Кабель с внутренней и внешней обмотками, используемый в ТВ
кабелях и локальных сетях Ethernet, где компьютеры обычно имеют T-узлы для соединения в
единую цепь кабелей, которую необходимо ограничивать резисторами-терминаторами.
компилятор
Программа, проверяющая исходный программный код и транслирующая его в эквивалентный
объектный файл; ср. Интерпретатор.
компоновать
Связать программу с процедурами, на которые она ссылается (вызывает). Эти процедуры обычно
располагаются в объектных модулях или библиотеках.
компьютер
Цифровой электронный многоцелевой программируемый автомат, обрабатывающий информацию.
консоль
Первичный непосредственный пользовательский интерфейс компьютера. Некоторые функции
системного администрирования могут быть произведены только в консоли.
крах
кэш
Неожиданное завершение нормального выполнения. Предполагается, что жесткие диски
испытывают иногда поломки, когда головки чтения/записи разрушают носитель, возможно,
приводя носитель в негодность; таким образом, крах – непреднамеренное прекращение работы
программы или устройства из-за какой-нибудь неисправности или ошибки, в особенности при
завершении пагубным или неприятным образом.
Любая легко доступная область хранения, используемая для содержания данных для быстрого
доступа, при необходимости иметь частый доступ к ним; цель этого – ускорить доступ к данным
и улучшить производительность системы.
кэширующий DNS
Сервер доменных имен, который не содержит собственных доменных файлов.
Линукс (Linux)
Unix-подобная операционная система, названная по имени Линуса Торвальдса (Linus Torvalds),
впервые разработавшего и до сих пор поддерживающего ее. Свободно доступна по GPL. Если Вам
это еще не известно, то вы вообще здесь делаете?
логический
На жаргоне инженеров-электронщиков : электронная компоненты и схемы устройства. Этого
термина лучше избегать, дабы не путать его с общепринятым значением, встречающимся в
программировании : абстрактное формальное умозаключение.
локальный
Легко достижимый, находящийся в локальной сети, не удаленный.
маска сети
Сетевая часть IP адреса; ср. маска подсети переменной длины.
маска подсети переменной длины
маскарадинг
Притворяться другим узлом с целью совместного использования одного IP-адреса несколькими
локальными узлами, спрятанными от внешнего мира в силу нехватки ресурсов или по
соображениям безопасности, ср. NAT.
маршрут
Путь от одного узла к другому через одну или более сетей. При проверке IP-адреса назначения,
датаграмма направляется к следующему маршрутизатору по пути назначения или же
непосредственно к цели.
маршрутизатор
Шлюз, передающий IP-датаграммы между сетями. Функционирует на третьем (сетевом) уровне
модели ISO/OSI, и полагает, что наличие адреса влечет наличие определенного пути (маршрута)
для достижения назначения. В настоящее время принимается, что в качестве шлюза выступает
компьютер общего назначения с операционной системой общего назначения [например, Linux],
которая может выполнять и другие операции; в то время как маршрутизатор –
специализированный компьютер со специальной операционной системой [например IOS], как
правило, от поставщика [например Cisco]). ср. Мост.
межсетевой экран
Шлюз, ограничивающий передачу данных между "внутренней" сетью и Интернетом ("внешним"
по отношению к экрану).
мини-HOWTO
Более скудный и более сосредоточенный документ, нежели HOWTO.
модем
Устройство, совершающее преобразование цифровых сигналов компьютера в аналоговые сигналы
для связи по телефонной линии.
мост
Устройство, распространяющее пакеты между двумя компьютерными сетями; функционирует на
втором уровне (канальный уровень) в модели ISO/OSI, и осуществляет широковещательную
рассылку пакетов на основе адреса. Маршрутизация при этом не проводится. Ср. повторитель,
маршрутизатор.
мышь
Устройство ввода, позволяющее указывать, выделять и активировать объекты, отображаемые, как
правило, в графическом пользовательском интерфейсе.
налаживать
Делать небольшие изменения в конфигурации для того, чтобы получить большую
производительность.
ненадежный
В контексте TCP/IP: протокол, не совершающий исправления ошибок (полагающий, что ошибки,
возникающие, как правило, вследствие повторных передач, обнаружены и исправлены верхними
уровнями модели OSI).
низкоуровневый
О языке программирования, в котором операторы похожи на инструкции процессора (или же: в
котором операторы более сходны с объектным кодом, нежели в языке высокого уровня).
носитель
Физическое устройство, через которое передаются данные или (главным образом) где они
хранятся.
оболочка
Программа, служащая посредником между пользователем и операционной системой, как правило,
принимающая команды и вызывающая соответствующие программы. В мире UNIX, термин
“оболочка” обычно относится к интерфейсам командной строки с возможностью запускать
сценарии, таким как bash, csh и zsh. Однако, существуют и графические оболочки, например
Windowmaker, KDE и GNOME.
обновить
Поменять оборудование или приложения в лучшую сторону.
объектный код
Инструкции, которые может выполнять процессор компьютера.
однопользовательский режим
Режим с уровнем запуска 1.
ОЗУ
окно
Оперативное запоминающее устройство, Random Access Memory, RAM. Легко, быстро
изменяемая память, используемая компьютером как основная. Имеет такие разновидности как
EDO, ECC, SDRAM, и т.п., которые не эквивалентны, но, с точки зрения системного
администратора, очень похожи при обычном использовании. Ср. ПЗУ.
Область графического рабочего стола, интерфейс пользователя для взаимодействия с дочерним
процессом рабочего стола.
окружение
Совокупность переменных, связанных с процессом, предназначенных для определения
привилегий пользователя и конфигурации системы; дочерний процесс наследует эти переменные.
операционная система
ОС. Основной набор программ, управляющих различными компонентами и устройствами
компьютера, а также их взаимодействием с приложениями и пользователями; например. MS-DOS,
MS-Windows NT, MacOS, Unix, Linux.
очередь
Структура данных, реализующая список по принципу “первый вошел-первый вышел” (first-in,
first-out); например очередь печати, которая содержит список заданий, которые следует выполнить
по порядку.
пакет
Квант данных, передаваемых по сети; а именно : единица трафика TCP, несущая необходимую
информацию по доставке самой себя, особенно для протокола UDP (датаграмма).
пакет программ
Совокупность связанных файлов и программ; часто также файл архива (tar, rpm), их содержащий.
память
Место, где компьютер хранит данные и|или программы для прямого доступа CPU : ОЗУ или ПЗУ
(а также кэш-память), не диски.
панель управления
Набор кнопок, переключателей, индикаторов или изображений, используемый для настройки и
управления маршрутизатором, принтером, компьютером или другим устройством.
параллельный
Несколько битов за один акт передачи (по нескольким проводам).
параметр
Переменная, чье значение имеет смысл для функции, принадлежащей команде или функции
программы; ср. аргумент.
пароль
Фраза, которая идентифицирует пользователя во время входа в систему.
ПЗУ
Постоянное запоминающее устройство, Read Only Memory, ROM. Память компьютера,
относящаяся, как правило, к некоторому долгосрочному носителю, например, кремниевой
микросхеме или оптическому диску, которая может быть считана, но не изменена; это доставляет
неудобства, когда данные следует изменить. Может сбить с толку то, что на некоторые ПЗУ все
же можно записывать при определенных условиях, ср. ОЗУ.
переменные окружения
Переменные, определяющие окружение.
периферийное
Устройство, являющееся необязательной принадлежностью основных компонентов компьютера
(CPU и память).
пиксель
Элемент изображения (picture element) : точка, точка сетки экрана дисплея, наименьшая единица,
которую можно отобразить на экране дисплея.
ПК
Персональный компьютер.
плавающая точка
Используется для представления чисел, которые могут быть дробными; ср. Целое.
по умолчанию
То значение параметра, которое использует программа, если оно не задано явно.
порт
Имя, данное индивидуальному, пронумерованному "слоту", который доступен сетевым
приложениям. Например, HTTP-серверы, как правило, используют портом 80. См. /etc/services ;
также см. порт ввода/вывода.
порт ввода/вывода
Адрес, используемый периферийными устройствами для связи с CPU; см /proc/ioports.
поток
Последовательность байтов данных с контролем упорядоченности и переполнения. Потоковым
протоколом в сетях TCP/IP является TCP.
пользователь
Человек, использующий ресурсы компьютера, а также его учетная запись или процесс; данные о
идентификации, перечисленные в /etc/passwd.
подкачка
Виртуальная память; названа “подкачкой” из-за процессов обмена страницами между быстрой
ОЗУ и и медленной виртуальной памятью при смене их приоритетов.
повторитель
Устройство, распространяющее сигналы между кабелями; в компьютерных сетях оно
функционирует на первом, физическом уровне модели ISO/OSI, и не выполняет ни фильтрации
пакетов, ни маршрутизации, ср. концентратор, мост, маршрутизатор.
пользовательский почтовый посредник
Пользовательская программа, используемая для доступа, обработки, чтения, архивирования,
написания и отправки сообщений электронной почты. См. RFC1711. Такие почтовые программы
часто включают некоторые возможности "агента передачи сообщений", в частности,
использование SMTP для отправки электронной почты на почтовый сервер-назначение, а также
протоколы POP3 или IMAP4 для загрузки почты с почтового сервера входящей почты, ср. Агент
передачи сообщений.
порождать
Создавать дочерний процесс с помощью fork() и exec().
представительский уровень
Шестой уровень в семиуровневой модели ISO/ OSI , определяющий представление символов
(например ASCII) и графические форматы, такие как NAPLPS (North American Presentation Layer
Protocols). В TCP/IP, уровень представления включен в уровень приложения, возможно,
ближайшими эквивалентными форматами являются ASN.1, ANSI и HTML/XML.
привод
Любое устройство, где могут храниться и считываться данные, записанные на съемном или
встроенном в устройство носителе.
приглашение
Сигнал, производимый оболочкой или приложением и указывающий, что они готовы к
дальнейшему вводу команд или данных.
прикладной уровень
Название самого верхнего уровня как в семиуровневой ISO/OSI модели, так и в четырехуровневой
связке протоколов TCP/IP. Включает в себя такие протоколы, как telnet, FTP, HTTP, SMTP, и т.п.
приложение
Программа, которая выполняется на самом верхнем уровне операционной системы.
поставщик услуг Интернета (ISP)
Компания, обеспечивающая подключение к Интернету.
программа
Последовательность инструкций для компьютера, реализующая алгоритм, зачастую хранимая в
файле в форме либо непосредственно исполняемого объектного кода, либо исходного кода для
интерпретатора или компилятора. При загрузке в память и выполнении программа-объектный код
обычно становится процессом.
программное обеспечение
Компьютерные программы.
прокси сервер
Процесс, как правило, часть шлюзового окна, который связывает протоколы между
компьютерными системами клиента и сервера. Прокси-сервер (англ. “proxy”-посредник)
выступает в роли сервера для клиента и в роли клиента для сервера (переложение RFC2828).
протокол
Определение структур данных и форматов для передачи между двумя программами по сети.
процесс
Выполняющаяся программа; экземпляр выполняющейся программы.
процессор
Главное устройство, позволяющее компьютеру работать; в настоящее время часто называется
"микропроцессор" и располагается на отдельной кремниевой микросхеме (ср. CPU).
простаивающий
Неактивный; ждущий задания или пробуждения.
псевдоним
Внутри оболочки: слово-подстановка для командной строки или дополнительный IP-адрес на
интерфейсе.
рабочая станция
Компьютер, как правило, с графическим дисплеем, для индивидуального интерактивного
использования; ср. Сервер.
рабочее пространство
Компьютерные ресурсы, приписанные к пользователю компьютера.
рабочий стол
В X – экран, из которого запускаются и выполняются все программы.
раздел
Произвольная область запоминающего устройства ( практически всегда жесткого диска),
созданная программой разбиения до записи данных. Специально для IBM PC совместимых : одна
из нескольких различных областей жесткого диска (количеством не более четырех), которые
можно отвести под различные операционные системы.
разрешение на выполнение
Разрешение, устанавливаемое на файле файловой системы Unix и указывающее, что его можно
запускать как программу в операционной системе.
реализовать
Создать реальный объект (программу, устройство), который соответствует абстрактным
требованиям.
регулярное выражение
Формальное выражение шаблона строки, которую можно искать и обрабатывать программами,
поддерживающими обработку шаблонов, такими как vi, grep, awk или perl.
резервная копия
Копия важных данных, хранимая на системном или внесистемном запоминающем устройстве для
страховки от сбоев системного оборудования, программного обеспечения или пользователя.
родительский процесс
Процесс, который запустил один или более других процессов, называемых дочерними.
руководство
Документ, часто в книжном объеме, в котором описывается дизайн или работа пакета приложения
или устройства.
сборка
Запуск последовательности шагов компиляции и компоновки для получения новой версии
исполняемой программы.
свободный
Ничего не стоящий, бесплатный.
сеансовый уровень
Пятый ISO/OSI уровень – уровень сеанса. Устанавливает и контролирует системнозависимые
аспекты сеансов связи между определенными узлами сети. Ликвидирует разрыв между службами,
поставляемыми транспортным уровнем и логическими функциями, выполняющимися в
операционной системе на узле, участвующем в сеансе связи. В наборе сетевых протоколов TCP/IP
уровень сеанса отсутствует, и его функции частично реализованы в транспортном уровне, и
частично – в уровне приложений.
сервер доменных имен
DNS, сервер имен.
сегмент
Кусок кабеля конечной длины – сегменты могут быть соединены повторителями (реже), мостами
(чаще), маршрутизаторами или переключателями ( аппаратными логическими мостами и
маршрутизаторами).
серийный
Последовательный, один бит за другим (по одному проводу).
сервер
Процесс или компьютер, обеспечивающий клиентские процессы определенными службами;
например, web-сервер, сервер печати.
сетевой уровень
Сетевой уровень в наборе протоколов TCP/IP: для того, чтобы отличать его от самого низкого
сетевого (физического) уровня, также используется термин “уровень internet”. Ср. Протокол
Интернета.
сетевой уровень
Уровень в наборе сетевых протоколов, обрабатывающий адресацию и доставку датаграмм в сети
или в Интернете. Уровень номер три в семиуровневой модели ISO/OSI.
сеть
Взаимосвязанная совокупность узлов и других сетевых устройств, имеющих общий физический
уровень, например, Ethernet, X.25, и тп.; ср. LAN, WAN.
сжатие
Удаление излишней информации из файла или потока для уменьшения его размера, при этом
сокращается место, требуемое для хранения и время, необходимое для пересылки. Сжатие с
потерями не сохраняет информацию, которая считается излишней, и хорошо работает для
графических или звуковых данных.
сигнал
Логическое прерывание процесса, которое процесс должен сразу же обработать. Одна из форм
организации межпроцессного взаимодействия.
символ
Буква или знак, представимый, как правило, одним байтом в коде ASCII.
символическая ссылка
В файловых системах Unix: элемент каталога, указывающий на другой файл в файловой системе;
ср. жесткая ссылка.
символьное устройство
Устройство, обменивающееся данными с операционной системой по одному символу (или байту,
или даже слову) за один акт.
синхронизировать
Делать содержимое и состояние данных, хранящихся в двух различных источниках, идентичным
(например, кэш, FTP сайты).
синтаксис
Формальные правила, определяющие, в каком порядке ключевые слова или команды, а также их
составляющие, должны следовать при написании исходных кодов программ или при
формировании команд оболочки.
системный администратор
Системный администратор: человек, который администрирует компьютерную систему и следит за
ее работой.
скрипт (сценарий)
Компьютерная программа, написанная на интерпретируемом языке программирования, и,
следовательно, пригодная для чтения человеком, ср. исполняемый, двоичный.
служба
Процесс, принимающий запросы и возвращающий ответы в бесконечном цикле; демон.
сокет
Соединение на TCP-уровне приложения.
стандартный поток ошибок
Стандартное устройство вывода ошибок в Unix (по умолчанию – экран терминала).
стандартный поток ввода
Стандартное устройство ввода в Unix (по умолчанию – клавиатура терминала).
стандартный поток вывода
Стандартное устройство вывода в Unix (по умолчанию – экран терминала).
страница руководства
Стандартная страница руководства по Unix ( в компьютерной системе обычно доступна в формате
nroff, вызывается командой `man`).
суперпользователь
Супер пользователь, su, туз. Пользователь, имеющий учетную запись root и имеющий полный
контроль над системой
текст
Набор символов, которые можно отобразить на дисплее терминала или напечатать на принтере
для чтения человеком.
текущий рабочий каталог
cwd
терминал
Выход компьютера, обычно включающий дисплей для вывода текста (и, возможно,
графики),клавиатуру (а, возможно, и мышь) для ввода, используемый как устройство организации
для взаимодействия компьютера и пользователя. Ср. Рабочая станция.
терминатор
Нагрузка сопротивления, указывающая на конец в цепи устройств, как правило, SCSI-цепи или
цепи коаксиальной сети.
топология
В компьютерных сетях: схематическое расположение соединений между узлами.
транспортный уровень
Транспортный уровень – центральный (четвертый) в семиуровневой модели ISO/OSI. Он
обеспечивает сквозной контроль сеанса связи по мере того, как установлен путь, позволяя
процессам обмениваться данными гарантированно и последовательно, независимо от того, какие
системы участвуют в обмене и где они расположены.
удалить
Уничтожить или стереть файл|символ|каталог.
узловая точка
В файловых системах Unix, блок данных для файла на дисковом разделе, использующихся в
администрировании.
умереть
Прекратить выполнение, главным образом окончательно.
уровень запуска (уровень выполнения)
Режим работы системы Unix, предлагающий запуск определенного набора служб; см. /etc/inittab.
уровень канала
Уровень номер два в семиуровневой модели ISO/OSI. Отвечает за установление безошибочных
путей связи между узлами сети на физическом уровне, также формирует сообщения для передачи,
проверяет целостность полученных сообщений, управляет доступом и использованием носителей
и гарантирует правильную последовательность передаваемых данных. Эти функции, как правило,
обеспечиваются драйвером сетевой карты. Серия 802.x стандартов IEEE разделяет этот уровень на
два : уровень LLC и подчиненный уровень MAC.
уровень сетевого доступа
Самый низкий уровень в наборе протоколов TCP/IP, также известный как "физический" или
"аппаратный" уровень.
установить
Перенести новую программу в компьютер на постоянное хранение (например, на жесткий диск) и
произвести необходимую настройку и администрирование.
устранение неполадок
Процесс обнаружения причин(ы) проблем(ы) в сети|программе|устройстве.
устройство
"Периферийная" часть оборудования, которая является необязательной или может быть
присоединена к компьютеру (даже если изначально она расположена внутри корпуса) :
интерфейсные карты, приводы, принтеры, и т.п.
утилита
Программа, облегчающая выполнение работы.
файл
Последовательность (поток) байтов в известном расположении в области хранения.
файл include
Файл, содержащий постоянные и параметры, быть может, используемый двумя и более
программами, включаемый в исходный код при компиляции данных программ.
файловая система
Структура данных, размещенная на логическом диске или разделе (с помощью mkfs),
позволяющая операционной системе записывать информацию о хранимых файлах.
физический уровень
Самый низкий уровень семиуровневого набора сетевых протоколов ISO/OSI.
фильтровать
Отбрасывать ненужные данные.
флоппи-дисковод
Устройство, которое может считывать и записывать информацию на гибкие диски.
фоновый
Состояние исполнения процесса, когда не происходит вывода на терминал.
формат
Спецификация, касающаяся способа хранения данных.
хакать
Достигать результата нетривиальным способом.
хакер
Тот, кто хакает : так называют людей с неординарными компьютерными способностями; ср.
взломщик.
хост(узел)
Любой компьютер, подсоединенный к сети на основе IP, в особенности компьютер, который
может служить в качестве сервера для клиентских программ или других компьютеров.
чистый
Чистый привод – тот, что был правильно отмонтирован и, таким образом (теоретически) не
нуждается в проверке; иначе привод называется “грязным”.
цилиндр
Набор дорожек, расположенных на одном радиусе на различных поверхностях жесткого диска.
Жесткий диск с четырьмя пластинами внутри имеет восемь поверхностей, так что при каждом
положении головок чтения/записи, восемь дорожек могут быть считаны без их перемещения. Эти
восемь дорожек и формируют цилиндр.
цифровой
Относится к объекту, который может принимать только ограниченное количество дискретных, а
не произвольных значений; например, двоичный. ср. Аналоговый.
целое
Тип данных, используемый для представления целых (недробных) чисел внутри ограниченного
диапазона.
целостность
Правильность.
цветовая таблица
Цветовая карта (color map или color-map). Таблица, используемая для кодирования палитры цветов
в изображениях.
шаблон
Символ-заполнитель, используемый для указания некоторого символа или группы символов.
шина
Провод (кабель) для передачи сигналов между различными компонентами одного компьютера.
широковещание
Кадр или датаграмма, предназначенная всем интерфейсам сети.
шлюз
Устройство или механизм передачи, связывающий две или более компьютерных сети, и
передающий пакеты между сетями в Интернете. В настоящее время принято считать, что в
качестве шлюза выступает компьютер общего типа с операционной системой общего типа
[например, Linux], которая может выполнять и другие операции, и в этом качестве он
функционирует на третьем (сетевом) уровне, в модели ISO/OSI; в то время как маршрутизатор –
специализированный компьютер со специальной операционной системой [например IOS], как
правило, от поставщика [например Cisco]). ср. Мост.
шрифт
Форма каждой из букв в наборе символов.
экранный дисплей
Устройство, показывающее текст, графику или другую информацию для восприятия человеком.
эмулировать
Имитировать действия устройства или программы так, чтобы эта имитация выполняла те же
самые функции, что и оригинал.
эмулятор
Программа, эмулирующая функции некоторых устройств или других программ.
эргономичный
Удобный для использования людьми.
ядро
Основа операционной системы, обеспечивающее многозадачность (создание процессов,
защищенность процессов, связь между процессами), управление памятью, и базовое управление
вводом-выводом.
язык ассемблера
Низкоуровневый язык программирования, который может быть непосредственно транслирован в
объектный код процессора.
Глоссарий
bash: 227
BIOS: 214
CERT: 214p.
comments:
2
DHCP: 215
DNS: 215, 226, 231
FHS: 216
FTP: 216, 221, 229, 231
GID: 216, 220
grep: 230
HOWTO:
216, 220, 227
IDE:
214p., 217, 224
LDP: 217
lilo:
217
lp:
208p.
LPI:
208p., 215, 218, 221
man: 2, 232
mkfs: 233
NFS: 218
PAP Password Authentication Protocol: 219
RPM: 220, 222, 228
sendmail:
222
SUID: 220
tar:
228
TCP: 218pp., 227pp., 231pp.
TCP/IP: 218pp., 227, 229, 231, 233
UDP: 218, 220p., 223, 228
UID:
220p., 223
umask: 221
WINS: 221
/etc/group:
223
/etc/passwd:
229
/etc/services: 229
/proc: 229
библиотеки: 224
комментарии: 220
раздел подкачки (swap):
223
символическая ссылка:
224
скрипт: 220
стандартный поток ввода:
225
стандартный поток вывода: 225
устройства:
233
Скачать