- •1 Основные команды Linux.
- •2 Программы-фильтры и их использование.
- •3 Управление пользователями: добавление, удаление, смена пароля, изменение параметров.
- •4 Управление группами: создание, удаление, список членов группы, добавление и удаление пользователей.
- •5 Организация хранения парольной информации в Linux. Системные аутентификационные файлы и их формат.
- •6 Средства удаленного управления Linux. Вопросы обеспечения безопасности при удаленном управлении.
- •7 Права доступа к файлам и каталогам: традиционные права доступа, управление доступом. Права доступа к файлам и каталогам
- •8 Права доступа к файлам и каталогам: acl, управление доступом. Использование posix acl
- •Создание файловой системы
- •10 Монтирование устройств, файлов, каталогов.
- •9 Работа с разделами диска. Создание файловых систем на разделах. Создание раздела
- •11 Включение/выключение маршрутизации в Linux.
- •12 Настройка сетевого интерфейса. Управление статическими маршрутами.
- •13 Настройка межсетевого экрана. Создание разрешающих и запрещающих правил. Создание правил
- •Цепочки
- •-M state
11 Включение/выключение маршрутизации в Linux.
Включаем маршрутизацию
Включением и выключением маршрутизации в ядре ОС управляет переменная sysctl net.ipv4.ip_forward для IPv4, и sysctlnet.ipv6.conf.all.forwarding для IPv6.
Установив их значения в 1 мы включаем маршрутизацию, сбросив в 0 - выключаем:
# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward 0 --> 1
# sysctl net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.forwarding 0 --> 1
Для применения этих значений после перезапуска требуется отредактировать файл /etc/sysctl.conf - раскомментировать или добавить (если их еще нет) строчки:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Естественно, что если Вы хотите включить только, например, IPv4 маршрутизацию - то можно изменять только одну переменную.
12 Настройка сетевого интерфейса. Управление статическими маршрутами.
Для получения текущей таблицы маршрутизации служит команда:
route
Команда отображает таблицу из восьми полей.
-
Поле
Описание
Destination
IP-адрес компьютера получателя или сети получателя
Gateway
IP-адрес шлюза
Genmask
Маска маршрута
Flags
Состояние и тип маршрута:
U - маршрут включен;
H - хост;
G - шлюз;
R - восстановленный маршрут;
D - маршрут, созданный динамически;
! - нерабочий маршрут.
Metric
Число шлюзов до получателя
Ref
Число ссылок на данный маршрут
Use
Число обращений к данному маршруту
Iface
Имя интерфейса для передачи пакетов
Эта же команда служит для добавления и удаления записей в таблице маршрутизации.
Добавить новый маршрут можно командой:
route add -net IP_адрес_сети netmask маска_сети gw IP_адрес_шлюза
или
route add -host IP_адрес_хоста netmask маска_сети gw IP_адрес_шлюза
Удалить маршрут можно командой:
route del -net IP_адрес_сети netmask маска_сети gw IP_адрес_шлюза
или
route del -host IP_адрес_хоста netmask маска_сети gw IP_адрес_шлюза
Установить IP-адрес шлюза по умолчанию:
route add default gw IP_адрес_шлюза
Удалить IP-адрес шлюза по умолчанию:
route del default
Для настройки постоянных статических маршрутов служит файл /etc/sysconfig/static-routes. Формат файла следующий:
интерфейс net адрес_сети netmask маска_сети gw адрес_шлюза
В случае указания адресов в виде доменных имен необходимо преобразование доменных имен в IP-адреса с помощью DNS-серверов. Список используемых DNS-серверов указывается в файле /etc/resolv.conf .
13 Настройка межсетевого экрана. Создание разрешающих и запрещающих правил. Создание правил
Практически все правила можно привести к виду:
iptables -t ТАБЛИЦА -A ЦЕПОЧКА ПАРАМЕТРЫ_ПАКЕТА -j ДЕЙСТВИЕ
Цепочки
Цепочка |
Таблица |
||
|---|---|---|---|
filter |
nat |
mangle |
|
INPUT |
X |
|
X |
FORWARD |
X |
|
X |
OUTPUT |
X |
X |
X |
PREROUTING |
|
X |
X |
POSTROUTING |
|
X |
X |
Фильтрация пакетов осуществляется в таблице фильтр, в которой существуют 3 цепочки:
INPUT - пакеты предназначающиеся Вашему узлу. То есть входящий трафик. Транзитный трафик сюда не попадает.
FORWARD - пакеты которые предназначены для другого узла, то есть транзитный трафик.
OUTPUT - пакеты, которые уходят от нашего узла, или исходящий трафик. Транзитный трафик сюда не попадает.
Имена таблиц всегда пишутся маленькими буквами, имена цепочек всегда пишутся большими буквами.
Работают с цепочками так:
iptables <опция> <цепочка>
Для работы с цепочками предусмотрены следующие опции:
-A - добавление нового правила в цепочку. Правило будет добавлено в конец цепочки.
-I - добавление правила не в конец, а туда куда вы укажите. Например команда:
iptables -I INPUT 2 bla-bla-bla - сделает наше правило вторым.
-D - удаление правила. Например для удаления пятого правила введите:
iptables -D INPUT 5
-F - сброс всех правил цепочки. Нужно, например,при удалении ненужной цепочки.
-N - создание пользовательской цепочки. Если не хотите создавать кашу в каждой цепочке, то создайте несколько дополнительных цепочек. Синтаксис такой: iptables -N ЦЕПОЧКА.
-X - удаление пользовательской цепочки. Удалить цепочки INPUT, FORWARD, OUTPUT нельзя.
-P - установка политики для цепочки. Например:
iptables -P ЦЕПОЧКА ПОЛИТИКА
Параметры пакетов
-s , -d – адрес источника, приемника. Можно писать IP хоста, подсети или доменное имя. Также можно использовать отрицание (знак !).
-p - указывает на протокол. Можно использовать all, icmp, tcp, udp или номер протокола (из /etc/protocols).
--sport, --dport – порт источника, приемника. Для указания порта необходимо указать протокол (tcp или udp). Можно использовать отрицание.
Действия над пакетами
Основные действия:
ACCEPT - разрешить пакет.
DROP - уничтожить пакет.
REJECT - будет отправлено ICMP сообщение, что порт недоступен.
LOG - информация об этом пакете будет добавлена в системный журнал (syslog). Не прерывает цепочку.
В качестве действия можно указать и имя пользовательской цепочки. Например перекинем все пакеты с локальной сети в цепочку, где будет производиться дополнительная проверка:
iptables -A INPUT -s 192.168.200.0/24 -j LOCAL_NET
Модули
Использование модулей позволяет расширить возможности iptables. Для указания модуля используется опция -m.
-m owner
Добавляет следующие опции (опции только для цепочки OUTPUT):
--uid-owner UID - UID программы пославшей пакет.
--gid-owner GID - GID программы пославшей пакет.
--pid-owner PID - PID программы пославшей пакет.
--sid-owner SID - SID (идентификатор сессии) производится проверка SID пакета, значение SID наследуются дочерними процессами от "родителя".
--cmd-owner NAME - имя программы пославшей пакет.
-m multiport
Позволяет указывать не по одному порту, а сразу несколько:
--source-ports порт1,порт2 - список портов, с которых пришел пакет;
--sports порт1,порт2 - укороченый аналог --source-ports;
--destination-ports порт1,порт2 - список портов назначения;
--dports порт1,порт2 - укороченый аналог --destination-ports;
--ports порт1,порт2 - проверяет как исходящий так и входящий порт пакета.
