Меню

Access control list windows 10

Access Control Lists

An access control list (ACL) is a list of access control entries (ACE). Each ACE in an ACL identifies a trustee and specifies the access rights allowed, denied, or audited for that trustee. The security descriptor for a securable object can contain two types of ACLs: a DACL and a SACL.

A discretionary access control list (DACL) identifies the trustees that are allowed or denied access to a securable object. When a process tries to access a securable object, the system checks the ACEs in the object’s DACL to determine whether to grant access to it. If the object does not have a DACL, the system grants full access to everyone. If the object’s DACL has no ACEs, the system denies all attempts to access the object because the DACL does not allow any access rights. The system checks the ACEs in sequence until it finds one or more ACEs that allow all the requested access rights, or until any of the requested access rights are denied. For more information, see How DACLs Control Access to an Object. For information about how to properly create a DACL, see Creating a DACL.

A system access control list (SACL) enables administrators to log attempts to access a secured object. Each ACE specifies the types of access attempts by a specified trustee that cause the system to generate a record in the security event log. An ACE in a SACL can generate audit records when an access attempt fails, when it succeeds, or both. For more information about SACLs, see Audit Generation and SACL Access Right.

Do not try to work directly with the contents of an ACL. To ensure that ACLs are semantically correct, use the appropriate functions to create and manipulate ACLs. For more information, see Getting Information from an ACL and Creating or Modifying an ACL.

ACLs also provide access control to Microsoft Active Directory directory service objects. Active Directory Service Interfaces (ADSI) include routines to create and modify the contents of these ACLs. For more information, see Controlling Access to Active Directory Objects.

Источник статьи: http://docs.microsoft.com/en-us/windows/win32/secauthz/access-control-lists

Урок 39. Списки контроля доступа ACL (Access List Control)

Списки управления доступом являются частью комплексной системы безопасности сети. Они позволяют запретить/разрешить определенным хостам доступ к ресурсам сети. Например, в корпоративной сети администраторы могут запретить доступ в интернет определенным пользователям, а остальным наоборот — разрешить.

Запретить/разрешить мы можем на основе IP адресов, портов и задействованных протоколов. На этом принципе и работают списки управления доступом ACL ( Access Control List ).

Другим примером использования списков доступа является запрет поступающих на маршрутизатор пакетов протокола ICMP. Как мы знаем с помощью ICMP работают утилиты Ping, Traceroute/Tracert. С помощью данных утилит можно просканировать сеть, а это нежелательно с точки зрения политики безопасности каждой сети.

Списки доступа позволяют фильтровать трафик на входе и выходе интерфейса маршрутизатора.

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

Когда ACL настроены на выходе интерфейса, то трафик фильтруется сразу же после процесса маршрутизации:

Данная особенность может быть полезна при определенных обстоятельствах.

Так что же из себя представляют списки доступа и как они работают?

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

При поступлении трафика проверка списка доступа начинается сверху вниз, то есть с первой инструкции. Как только будет найдено совпадение проверка списка прекратится и будет выполнено действие, указанное в инструкции (заблокировать или пропустить).

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

Cisco IOS поддерживает 3 типа ACL:

  • стандартные списки
  • расширенные списки
  • именованные списки

Стандартные списки позволяют проверять только IP адрес отправителя. Например,в нашем 1-ом примере доступ в интернет Алисе и Кате можно закрыть с помощью стандартного списка. В данном случае блокируется абсолютно весь трафик, проходящий через маршрутизатор. Стандартные списки доступа рекомендуется устанавливать как можно ближе к отправителю.

Расширенные списки позволяют фильтровать пакеты на основе адресов, портов и протоколов получателя и отправителя.

Например, Алисе разрешается использовать электронную почту, но все еще запрещается использовать остальной доступ в интернет. Кате же разрешены звонки по интернет и запрещены все остальные службы интернет.

Электронная почта работает по протоколам POP/SMTP (порты 110/ 25). Следовательно можно внести исключение в списки доступа исходя из выше описанных условий.

То же самое касается и IP телефонии — выбираем задействованный протокол и порт и вносим в список доступа.

Расширенные списки рекомендуется устанавливать ближе к получателю.

Именованные списки являются теми же стандартными и расширенными ACL, однако предоставляют более гибкие возможности для редактирования (об этом немного позже).

Рассмотрим какие команды используются в каждом типе ACL, а затем применим их на примере.

Инструкция задается следующей командой:

Router(config)# access-list номер permit | deny IP_адрес_отправителя инвертированная_маска (wildcard mask)

Router(config)# access-list 1 deny 192.168.1.0 0.0.0.255

Router(config)# access-list 1 permit 10.1.0.0 0.0.255.255

Router(config)# access-list 1 deny any

Номер списка принимает значения от 1 до 99. Цифры не означают приоритет или упорядоченность. Это просто номер списка. Затем следует команда permit (разрешить) или deny (запретить). С помощью инвертированной маски (wildcard mask) мы можем определить диапазон адресов, на которые будет распространяться запрет/разрешение.

В первой команде мы запрещаем сеть 192.168.1.0/24, а во второй разрешаем сеть 10.1.0.0/16.

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

А как работает инвертированная маска (wildcard mask)?

Работа инвертированной маски основана на следующем принципе.

На тех битовых позициях, где установлен 0 IP адрес устройства должен совпадать с адресом, указанным в настройках ACL.

На тех битовых позициях, где установлена 1 IP адрес устройства может не совпадать с адресом, указанным в настройках ACL, то есть может принимать любые значения. Поясню сказанное на примерах.

Необходимо разрешить доступ диапазону адресов 192.168.1.0 — 192.168.1.255. Так как первые 3 октета должны совпадать полностью, а четвертый может принимать любые значения, то используем маску 0.0.0.255. Вот как это выглядит на рисунке

К диапазону 192.168.1.0-192.168.1.255 добавим еще один диапазон 192.168.2.0 — 192.168.2.255.

Теперь у нас должны совпадать первые 2 октета полностью и первые 6 бит третьего октета. Поэтому маска у нас 0.0.3.255. А в настройках ACL мы укажем адрес 192.168.0.0. Можно, конечно, указать сразу 2 отдельные команды на каждый диапазон, с помощью маски мы можем сократить запись

Необходимо разрешить/запретить диапазон 200.40.0.4 — 200.40.0.7. У нас совпадают полностью первые 3 октета и первые 6 бит четвертого октета:

После того, как список создан, необходимо определить направление (входящий или исходящий) трафика и на каком интерфейсе он будет фильтроваться:

Router(config-if)# ip access-group номер_применяемого_списка in | out

in — входящий трафик

Алгоритм работы стандартного списка выглядит так:

Расширенный список доступа

Расширенные списки доступа имеют номера от 100 до 199.

Команды имеют довольно широкий набор опций, поэтому покажу наиболее общий пример команды:

Router(config)#access-list номер permit | deny протокол IP_адрес_отправителя инвертированная_маска порт_отправителя IP_адрес_получателя инвертированная_маска порт_получателя

Router(config)#access-list 100 permit tcp 192.168.1.0 0.0.0.255 eq 80 10.1.1.0 0.0.0.255 eq 443

Данная команда разрешает TCP трафик от хостов с диапазоном 192.168.1.0/24 на хосты с диапазоном 10.1.1.0/24. Причем порты отправителя должны быть равны 80, а порты получателя — 443. Если все эти условия соблюдаются, то пакет пропускается, если нет, то переходит к следующей команде.

Router(config)#access-list 100 deny tcp any host 172.16.1.5 gt 5000

А вот эта команда запрещает весь TCP трафик от любого хоста на конкретный хост с адресом 172.16.1.5. Причем запрет действует при условии, что запросы идут на порты получателя от 5001 и выше.

В конце списка всегда следует неявная команда, запрещающая весь трафик.

Не забудь определить интерфейс и направление трафика для фильтрации.

Вот как выглядит алгоритм работы расширенных списков:

Для просмотра настроек используй следующие команды:

Router# show running-config

Router# show ip access-lists

Router# show ip access-lists interface название_интерфейса

Ничем не отличаются от стандартных и расширенных списков, однако позволяют гибко редактировать вновь созданные списки.

Стандартные и расширенные списки редактировать нельзя. К примеру, нельзя в середину списка вставить команду или удалить ее. Для этого нужно сначала деактивировать список на самом интерфейсе , а затем полностью его удалить и настроить заново.

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

Синтаксис команд представлен ниже.

Router(config)# ip access-list standard название

Router(config-std-nacl)# permit host IP_адрес_отправителя

Router(config-std-nacl)# deny IP_адрес_отправителя инвертированная_маска

Router(config)# ip access-list extended название

Router(config-ext-nacl)# permit ip IP_адрес_отправителя инвертированная_маска IP_адрес_получателя инвертированная_маска

Router(config-ext-nacl)# deny tcp IP_адрес_отправителя инвертированная_маска порт_отправителя IP_адрес_получателя инвертированная_маска порт_получателя

Чтобы удалить ненужную команду достаточно узнать ее номер. Чтобы узнать номер введи команду:

Router# show ip access-list название

а затем укажи ее номер при удалении:

Router(config-ext-nacl)# no 10 — этого уже достаточно

Ну а чтобы добавить команду достаточно тоже указать номер и затем саму команду.

Обращаю твое внимание, что удаление и добавление строк списка происходит в режиме настройки ACL, например так:

Router(config-ext-nacl)# 5 deny ip any any

Пример использования списков доступа

  • Внутренняя сеть — основная инфраструктура локальной сети любого предприятия.
  • Демилитаризованная зона DMZ — в ней располагаются сервера, которые доступны из интернета. Доступ во внутреннюю сеть из этой зоны закрыт из соображений безопасности.
  • Внешняя сеть — связывается напрямую с провайдером. Обычно состоит из маршрутизаторов и сетевых экранов (firewalls).

Именно по этому принципу и строятся сети предприятий.

  1. Всем серверам из DMZ запретить доступ во внутреннюю сеть
  2. Всем серверам из DMZ разрешить двустороннюю связь в интернет
  3. Пользователям из интернета разрешить доступ на серверы в DMZ, учитывая протокол взаимодействия и порты TCP/UDP
  4. Разрешить доступ внутренним пользователям на серверы DMZ
  5. Запретить Алине и Саше доступ в интернет и DMZ, то есть они могут работать только во внутренней сети.

Пункт №1 можно решить с помощью расширенного списка на маршрутизаторе LAN_Router

На самом деле в данном примере серверы не имеет доступа к внутренним компьютерам, потому что подключены к различным интерфейсам маршрутизатора Firewall. Данный маршрутизатор ничего не знает о сети 192.168.1.0/24, поэтому не может перенаправить пакеты серверов к маршрутизатору LAN_Router. Однако достаточно маленькой ошибки в конфигурации и внутренние компьютеры станут доступны не только для DMZ, но и для внешней сети.

Поэтому список доступа на маршрутизаторе LAN_router безусловно необходим.

А какие ошибки могут привести к тому, что сеть LAN будет доступна для DMZ?

Например, на маршрутизаторе Firewall при настройке статического маршрута может быть по ошибке указан интерфейс, ведущий к маршрутизатору LAN_Router.

Или на маршрутизаторе LAN_Router будет выполнена команда redistribute connected . В данный момент между 2-мя маршрутизаторами настроен EIGRP. Если выполнить вышеназванную команду, то маршрутизатор Firewall узнает о сети LAN.

Пункты №2 и №3 не требуют списков доступа. Достаточно настроить правильно маршрутизацию и NAT на маршрутизаторе Firewall

Пункт №4. Внутренние пользователи уже имеют доступ в зону DMZ, однако связь будет работать только в одну сторону, так как мы закрыли доступ еще в п.1.

Как же сделать так, чтобы внутренние пользователи имели полноценный доступ ко всем серверам и в то же время запретить серверам доступ во внутреннюю сеть?

Решение простое — достаточно настроить NAT на маршрутизаторе LAN_Router. Тогда только внутренние пользователи смогут подключаться к серверам, а сервера уже не смогут из-за активированного списка доступа. Однако это не единственное решение

Пункт №5 решается с помощью стандартного списка

Источник статьи: http://easy-network.ru/67-urok-39.html


Adblock
detector