Автор работы: Пользователь скрыл имя, 03 Декабря 2011 в 17:59, реферат
Атака на права доступа - когда кто-нибудь пытается получить права доступа или добраться до специальных учетных записей пользователей в системе, которыми ему не разрешено пользоваться. Это может быть рассержено пользователь, который пытается получить права доступа пользователя root (Администратор), чтобы притворить неприятности, или же кто-то из внешней сети, которая делает попытки получить доступ к файлам. Количество атак можно уменьшить, но Администратор, который заботится о защите, виновной предотвращать появление очевидных дыр в защите.
Параметры определения правил
Параметры ipchains создают правила, определяя, какие типы пакетов отвечают критериям. Если каждой йз этих параметров опущений из спецификации правила, он предусматривается за умалчиванием.
-p [!]protocol
Указывает протокол, который отвечает правилу. Допустимо имена протоколов tcp, udp, icmp или all. Можно задать номер протокола для протоколов, которые здесь не определены. Например, 4 для протокола ipip. Если задан префикс!, правило превращается в негативное, и принимаются все пакеты, которые не отвечают этому протоколу. Значение за умалчиванием: all.
-s [!]address[/mask] [!] [port] Указывает исходная адреса и порт, из которого пришел пакет. Адреса может задавать имя машины, имя сети или IP-адреса. Опция mask задает сетевую маску. Она может быть задана в обычной форме (например, /255.255.255.0) или в новой (например, /24). Опция port задает порт TCP или UDP, или тип пакетов ICMP. Вы можете задать спецификацию порта только, если задали параметр -p с одним из протоколов tcp, udp или icmp. Порты могут быть определены как диапазон, определяя верхние и нижние границі йз двоеточием как разделитель. Например, 20:25 определяет порты с 20 по 25 включительно. Символ! превращает правило в полную его противоположность.
-d [!]address[/mask] [!] [port]
Задает адреса и порт назначения. Во всем другому аналогичный параметру -s.
-j target Указывает, что делать при срабатывании правила. Допустимые действия: ACCEPT, DENY, REJECT, REDIR и RETURN. Раньше я уже описав значение каждого действия. Вы можете также задать имя обусловленной пользователем цепочки, в которой продлится обработка. Если этот параметр опущений, будут только изменены данные пакетов и счетчиков, но ничего йз этим пакетом сделано не будет.
-и [!]interface-name
Задает
интерфейс, из которого пришел пакет, или
через какой пакет будет
[!] –f Указывает, что это правило применяется к первому фрагменту фрагментированного пакета.
Опции
Опции ipchains имеет больше широкое значение. они предоставляют доступ к тайным свойствам этой программы.
-b Генерирует сразу два правила. Первое точно отвечает заданным параметрам, вторую делает теми же именно, но прямо противоположными параметрами.
-v Предлагает ipchains выдавать подробную информацию.
-n Предлагает ipchains использовать IP-адреса и порты, не пытаясь превратить их в имена.-l
Включает протокол ядра о соответствии пакетов. Любой пакет, который отвечает правилу, будет запротоколирован ядром, используя его функцию printk(), что обрабатывается программой sysklogd. Это удобно для выявления необычных пакетов.
-о[maxsize] Вынуждает IP chains копировать все подходящим правилам пакеты в устройство “netlink”. Параметр maxsize ограничивает число байтов из кожного пакета, которые будут переданы на устройство netlink. Эта опция имеет большое значение для розроблювачів, но может эксплуатироваться пакетами користувальницьких программ в будущем.
-m markvalue
Все
пакеты, которые удовлетворяют
-t andmask xormask
Позволяет
управление битами TOS (“type of service”) в
заглавии IP любого пакета, который удовлетворяет
правилам. Биты типа сервиса используются
интеллектуальными
-x Любые числа у вывода ipchains будут точными (округление не используется).
-в Задает правило, которое будет отвечать любому пакету TCP с установленным битому SYN и неустановленными битами ACK и FIN. Это используется, чтобы фильтровать TCP-запросы.
Пример:
Опять допустим, что ми имеем сеть в нашей
организации, и используем Linux firewall для
предоставления доступу к нашим серверам
WWW из Internet, но при этом хотим блокировать
любой другой трафик.
ipchains:
# ipchains -F forward
# ipchains -P forward DENY
# ipchains -A forward -s 0/0 80 -d 172.16.1.0/24 -p tcp -у -j DENY
#
ipchains -A forward -s 172.16.1.0/24 -d 0/0 80 -p tcp -b -j ACCEPT
Если
ми теперь хотим прибавить правила,
какие предоставят только пассивный
режим доступа к FTP-серверу снаружи
сети, ми прибавим правила:
# ipchains -A forward -s 0/0 20 -d 172.16.1.0/24 -p tcp -у -j DENY
# ipchains -A forward -s 172.16.1.0/24 -d 0/0 20 -p tcp -b -j ACCEPT
# ipchains -A forward -s 0/0 21 -d 172.16.1.0/24 -p tcp -у -j DENY
#
ipchains -A forward -s 172.16.1.0/24 -d 0/0 21 -p tcp -b -j ACCEPT
Чтобы
перечислить наши правила в команде
ipchains, используется параметр -L argument. Точно
как из ipfwadm, там могут быть заданы
аргументы, которые позволять
# ipchains -L -n
Chain input (policy ACCEPT):
Chain
forward (policy DENY):
target | prot | opt | source | destination | ports |
DENY | TCP | -y---- | 0.0. 0.0/0 | 172.16. 1.0/24 | 80 -> * |
ACCEPT | TCP | ------ | 0.0. 0.0/0 | 172.16. 1.0/24 | 80 -> * |
ACCEPT | TCP | ------ | 172.16. 1.0/24 | 0.0. 0.0/0 | * -> 20 |
ACCEPT | TCP | ------ | 0.0. 0.0/0 | 172.16. 1.0/24 | 20 -> * |
ACCEPT | TCP | ------ | 172.16. 1.0/24 | 0.0. 0.0/0 | * -> 21 |
ACCEPT | TCP | ------ | 0.0. 0.0/0 | 172.16. 1.0/24 | 21 -> * |
Если Вы не указали имя цепочки, ipchains выведет все правила йз всех цепочек. В нашем примере параметр -n сообщает ipchains, чтобы той не превратил бу-яку адресу или порт во имя.
Netfilter Обратная совместимость из ipfwadm и ipchains
Прекрасная гибкость Linux netfilter иллюстрируется способностью наследовать интерфейсов ipfwadm и ipchains. Эмуляция делает переход к новому поколению программного обеспечения firewall немного проще.
Два модуля ядра из netfilter с именами ipfwadm.o и ipchains.o обеспечивают обратную совместимость из ipfwadm и ipchains. Можно загрузить одновременно только один из этих модулей и использовать его только при условии, что модуль ip_tables.o не загруженный. Когда соответствующий модуль загружен, netfilter работает аналогично заданной реализации firewall.
Чтобы
netfilter копировал интерфейс ipchains скомандуйте:
# rmmod ip_tables
# modprobe ipchains
#
ipchains
Использование iptables
Утилита iptables используется для настройки правил netfilter. Синтаксис заимствован в ipchains, но имеет важное отличие: он расширился. Значат, что функциональные возможности могут быть расширены без перекомпиляции пакета. Для этого используются поділювані библиотеки. Есть стандартные расширения, ряд которых ми в настоящий момент выучим.
Перед использованием команды iptables Вы должны загрузить модуль ядра netfilter, что позволяет ей работать. Проще всего сделать это командой modprobe: # modprobe ip_tables
Команда iptables используется для настройки IP filter и Network Address Translation. Для этого используются две таблицы: filter и nat. Если не задана опция -t, используется таблица filter. Доступные пять убудованих цепочек (наборов правил): INPUT и FORWARD для таблицы filter, PREROUTING и POSTROUTING для таблицы nat и OUTPUT для всех таблиц.
Как и раньше, ми допускаем, что есть сеть какой-то организации, на Linux-машине запущен firewall. Все внутренние пользователи имеют доступ к WWW-серверам в Internet, но и только.
Если
сеть использует сетевую маску у
24 бита (класс C) и имеет адресу сети
172.16.1.0, нужно использовать правила iptables:
# modprobe ip_tables
# iptables -F FORWARD
# iptables -P FORWARD DROP
# iptables -A FORWARD -m tcp -p tcp -s 0/0 -іsport 80 -d 172.16.1.0/24 / -іsyn -j DROP
# iptables -A FORWARD -m tcp -p tcp -s 172.16.1.0/24 -іsport / 80 -d 0/0 -j ACCEPT
#
iptables -A FORWARD -m tcp -p tcp -d 172.16.1.0/24 -іdport 80 -s 0/0
-j / ACCEPT
В этом примере iptables работает точно как команда ipchains. Вся разница в том, что нужно предварительно загрузить модуль ip_tables.o. Обратите внимание, что iptables не поддерживает опцию -b, так что ми должны отдельно задать правило для кожного направления.
Типы пакетов ICMP
Каждая
из команд конфигурации firewall позволяет
определять типы пакетов ICMP. В отличие
от портов TCP и UDP, нет никакого удобного
файла конфигурации, которая перечисляет
типы пакетов и их значения. Типы пакетов
ICMP определены в RFC-1700 (Assigned Numbers RFC). Они
также перечислены в одном из стандартных
библиотечных файлов C. Файл /usr/include/netinet/ip_icmp.
Таблица №5.4
Типы пакетов ICMP
Номер типа | Позначення iptables | Опис |
0 | echo-reply | Echo Reply |
3 | destination-unreachable | Destination Unreachable |
4 | source-quench | Source Quench |
5 | redirect | Redirect |
8 | echo-request | Echo Request |
11 | time-exceeded | Time Exceeded |
12 | parameter-problem | Parameter Problem |
13 | timestamp-request | Timestamp Request |
14 | timestamp-reply | Timestamp Reply |
15 | none | Information Request |
16 | none | Information Reply |
17 | address-mask-request | Address Mask Request |
18 | address-mask-reply | Address Mask Reply |