Pull to refresh
  • by relevance
  • by date
  • by rating

CakePHP. Разделение доступа без компонента ACL.

Lumber room
В данный момент я пишу систему на связке CakePHP и MS SQL. Сначала попробовал использовать стандартный компонент ACL, но выяснилось, что CakePHP не полностью поддерживает MS SQL (по крайней мере в этом компоненте). Поэтому пришлось придумать следующий метод разделения доступа.
Читать дальше →
Total votes 6: ↑2 and ↓4 -2
Views319
Comments 6

Интеграция Zend_Acl и MVC. Часть 1 (простейшее использование)

Zend Framework
Translation
Итак, что не так с Zend_Acl и текущей реализацией MVC в Zend Framework? Ничего неправильного нет, просто не слишком очевидно для разработчиков, как достичь оптимальной интеграции между этими двумя важными частями фреймворка.
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views1.1K
Comments 17

Интеграция Zend_Acl и MVC. Часть 2 (продвинутый вариант использования)

Zend Framework
Translation
На DevZone появилась вторая часть статьи о интреграции Zend_Acl в MVC Альдемара Бернала и я спешу предложить вам ее перевод.

В первой части мы говорили о том, как настроить экземпляр Zend_Acl и включить его в окружение MVC (с использованием плагина фронт-контроллера). Но как же настройки других действий для блокирования доступа, или как сделать редактирование статьи только её автором? Это и кое-что еще будет рассмотрено далее.

Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views1.2K
Comments 5

Руки прочь от автозапуска!

Information Security
Tutorial
Не правда ли, удалять с любимой флешки кучу вредоносных элементов, после каждого ее подключения к чужому компьютеру, несколько обременительно? А сколько нервных клеток уничтожают эти элементы? Моих — немеряно!

Все известные мне способы борьбы с подобного рода инцидентами (как то: пересесть на Линукс, отключить автозапуск, не тыкать флешкой куда попало и т.д.) не приемлимы для меня. Потому и пришлось выдумывать свой.

Наверняка кому-то этот метод покажется неэффективным, кому-то — неудобным. А кто-то вздохнет с облегчением или даже поможет менее опытным друзьям.

Должен отметить, что, на защищенной таким образом флешке, будут затруднены операции над элементами корневой папки. Именно на этом основан метод.

Суть: запретить кому бы то ни было запись/изменение корневого каталога.
Результат: вся нечисть, попавшая на флешку, ничем не сможет Вам помешать.

Читать дальше →
Total votes 87: ↑59 and ↓28 +31
Views2.6K
Comments 187

Cisco: Порядок обработки пакетов «в сложных конфигурациях»

Cisco
Регулярно сталкиваюсь с проблемой вспомнить, в какой последовательности
идет обработка пакета в Cisco, соответственно также регулярно ищу сей документ.

Может быть будет полезен кому-то кроме меня:

Пакет Inside−to−Outside
  1. if IPSec then check input access list
  2. decryption − for CET (Cisco EncryptionTechnology) or IPSec
  3. check input access list
  4. check input rate limits
  5. input accounting
  6. policy routing
  7. routing
  8. redirect to web cache
  9. NAT inside to outside (local to global translation)
  10. crypto (check map and mark for encryption)
  11. check output access list
  12. inspect (Context−based Access Control (CBAC))
  13. TCP intercept
  14. encryption
  15. queueing


Пакет Outside−to−Inside
  1. if IPSec then check input access list
  2. decryption − for CET or IPSec
  3. check input access list
  4. check input rate limits
  5. input accounting
  6. NAT outside to inside (global to local translation)
  7. policy routing
  8. routing
  9. redirect to web cache
  10. crypto (check map and mark for encryption)
  11. check output access list
  12. inspect CBAC
  13. TCP intercept
  14. encryption
  15. queueing


Извлечено из Cisco Document ID: 6209
Total votes 4: ↑2 and ↓2 0
Views9.3K
Comments 3

Система разделения прав доступа в веб-приложении

Website development
В этой статье мы пройдём с вами полный цикл от идеи, проектирования БД, написания PHP-Кода, и завершающей оптимизации. Постараюсь рассказать обо всем, как можно проще. Использовать для примеров буду PHP и Mysql. Заодно потренирую новичков :).

В этой статье я коснусь вопросов:
  1. Идея ACL
  2. Проектирование БД
  3. Нормализация БД
  4. Рефакторинг кода
  5. Оптимизация рабочего кода

Статья является ответом на Бинарное распределение прав доступа в CMS. Пока автором пишется практическая часть, я хочу предоставить мой вариант, который я использую довольно давно.
То, что я сейчас расскажу, похоже на ACL.

Читать дальше →
Total votes 94: ↑71 and ↓23 +48
Views53.3K
Comments 103

Оптимизации системы разделения прав доступа в веб-приложении

Website development
После написания прошлой статьи про реализацию системы разделения прав доступа в веб-приложении, появилось множество интересных комментариев. В них в основном велись споры о том, что можно сделать её ещё лучше.

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

В этой статье я рассмотрю:
  1. Битовые поля, оптимизация
  2. Serialize с денормализацией таблиц БД
  3. Вы узнаете, как работает система, подобная Zend ACL

Читать дальше →
Total votes 38: ↑30 and ↓8 +22
Views6.4K
Comments 47

ASA: списки доступа (продолжение цикла статей про ASA)

Cisco
Довольно простая глава. Списки доступа (ACL, Access Control List) – это правила проверки заголовка ip пакета до уровня 4 модели OSI. Списки доступа – это просто конструкции, состоящие из строчек. В каждой строчке – правило разрешить (permit) или запретить (deny). Строчки просматриваются сверху вниз на предмет точного совпадения заголовка пакета со строкой списка доступа. Списки доступа на ASA могут выполнять несколько ролей:

1. Фильтрация на интерфейсе входящего или исходящего трафика
2. Описание правил NAT (Policy NAT)
3. Описание правил редистрибуции маршрутов (в route-map)
4. Критерий попадания в класс трафика для дальнейшей обработки (Modular Policy Framework, MPF)
5. Описание «интересного трафика» для шифрования. Применяется список доступа в crypto map
6. Описание прав удаленного пользователя при подключении через IPSec или SSL VPN
Важно: в конце любого списка доступа стоит невидимое «запретить все» (implicit deny any), поэтому «мимо» списка доступа ни один пакет не пройдет.
Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views47K
Comments 7

Изучение шаблонов проектирования. Топик-вопрос

Lumber room
Здравствуй, Хабрасообщество. Пишу в личном блоге, так как этот топик является вопросом. Итак, совсем недавно я озаботился использованием вменяемых шаблонов проектирования в своих похапешных приложениях и мне встретился первый вопрос, который я не смог нагуглить.
Суть такова: допустим у нас есть доменные объекты «компания», «пользователь», «виртуальный файл», «виртуальная папка». Здесь более-менее все понятно — создаем фабрики, data mapper и хранилища. Но создатель файла может назначить права доступа к файлам для сотрудников, и тогда приходится делать проверку прав доступа. Первая мысль — передавать объект «Пользователь» в метод поиска хранилища, дабы этот метод провел проверку прав доступа, но по мне это выглядит варварством. Что если другая часть приложения захочет заполучить какой-то файл? Делать аргумент типа «Пользователь» необязательным?
Пересмотрел Фаулера, наткнулся на Service Layer. Он проксирует доступ клиентом к объектам домена. Но не сумел нагуглить ничего внятного.
Является ли акл частью бизнес-логики? Следует ли разграничивать акл и ему подобное от доменных объектов и их хранилищ?
Total votes 13: ↑3 and ↓10 -7
Views675
Comments 6

Обновление компонента Zend_Acl ломает функционал приложения

Zend Framework
Только что обновившись с версии 1.10.6 до версии 1.11 я обнаружил печальный факт того, что учетная запись администратора утратила доступ к большей части функционала.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views482
Comments 0

Сделай сам ACL. История разработки и написания несложной системы контроля доступов

PHP
Sandbox

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

Посмотрел я существующий код, желания в себе не почувствовал для переделки, — и решил подыскать готовое решение. Сразу скажу, — я большой противник «велосипедов», прежде чем что-то написать я всегда стараюсь найти готовое и подходящее решение. Так было и на этот раз, но достаточно безуспешно. Несколько решений есть, например, в коллекции PEAR, но подходящего я не выбрал. Много кода устарело (мы используем версию PHP 5.3), поэтому было принято решение писать ACL самостоятельно.

Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views10.7K
Comments 8

Трёхуровневая модель сети и технологии VLAN, DHCP, OSPF, STP, SNMP, ACL, NTP на Cisco и D-link

IT Infrastructure
Sandbox
Статья поможет новичкам понять как настраивать оборудование Cisco и D-Link в трёхуровневой модели сети. Конфигурация, представленная тут, не является эталонной или базовой — она для примера и понимания сути вещей, т.к. для каждого сетевого решения применяются свои параметры и технологии.
Читать дальше →
Total votes 62: ↑60 and ↓2 +58
Views67.1K
Comments 24

ACL: списки контроля доступа в Cisco IOS

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

Введение


ACL (Access Control List) — это набор текстовых выражений, которые что-то разрешают, либо что-то запрещают. Обычно ACL разрешает или запрещает IP-пакеты, но помимо всего прочего он может заглядывать внутрь IP-пакета, просматривать тип пакета, TCP и UDP порты. Также ACL существует для различных сетевых протоколов (IP, IPX, AppleTalk и так далее). В основном применение списков доступа рассматривают с точки зрения пакетной фильтрации, то есть пакетная фильтрация необходима в тех ситуациях, когда у вас стоит оборудование на границе Интернет и вашей частной сети и нужно отфильтровать ненужный трафик.
Читать дальше →
Total votes 45: ↑43 and ↓2 +41
Views388.1K
Comments 35

Обратная маска

System administration
Sandbox
Существующая маска для IP адреса выросла из классового деления адресов, на заре эпохи IP:
Класс A: 8 бит для номера сети 24 бита для номера хоста
Класс B: 16 бит на сеть и 16 бит на хост
Класс C: 24 бита на сеть 8 бит на хост

Когда стало слишком расточительным делить адреса подобным образом появилась маска, представляющая собой 32-х битное (из стольких же бит состоит и IP адрес) поле из подряд идущих единиц с начала поля, и после подряд идущих нулей. Единицы определяют те биты в IP адресе которые формируют номер сети, нули те биты в адресе которые формируют номер хоста.
IP адрес, десятичное:     10.      10.       0.       1
IP адрес, двоичное: 00001010.00001010.00000000.00000001
Маска, двоичное:    11111111.11111111.11111100.00000000
Маска, десятичное:       255.     255.     252.       0

Представление маски подобным образом, вполне, соотносится с термином битовой маски, т.е. единицы и нули определяют действия над конкретными битами в исходном числе, но плохо соотносится с форматом IP адреса – номер сети всегда определяется битами вначале, номер хоста битами в конце. Поэтому представление маски в виде 32-х битного поля является избыточным. Для однозначного определения маски можно определить только количество подряд идущих единиц с начала IP адреса от 0 до 32 – префиксное обозначение, обычно записывается через дробь после IP адреса: для примера выше 10.10.0.1/22 – 22 бита номер сети и 32-22=10 бит номер хоста. Если говорит про IPv6 адрес, то там определяется только префиксная запись маски/адреса – 2001:d8:a15e::1/48
Читать дальше →
Total votes 54: ↑47 and ↓7 +40
Views97.5K
Comments 21

Heimdallr: защита полей модели и новый CanCan

Round Lake corporate blogRubyRuby on Rails
Translation
В процессе превращения большей части web-проектов в браузерные приложения, появляется много вопросов. И один из самых весомых из них – обработка прав доступа без лишнего кода. Размышления на эту тему привели нас к большой проблеме: комфортного способа реализовать защиту на уровне полей модели для ActiveRecord просто нет (Егор, привет! ;). CanCan добавляет ограничения на уровне контроллеров, но это слишком высокий уровень чтобы решить все проблемы.

Немножко пободавшись, мы написали два милых гема. Встречайте, Heimdallr (Хеймдаль) и его расширение Heimdallr::Resource. Они принесут в ваши модели мир и безопасность.
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views5.5K
Comments 6

Сети для самых маленьких. Часть пятая. ACL и NAT

System administrationNetwork technologies
Tutorial


Продолжаем развитие нашей маленькой уютной сети Лифт ми Ап. Мы уже обсудили вопросы маршрутизации и стабильности, и теперь, наконец, выросли для подключения к Интернету. Довольно заточения в рамках нашей корпоративной среды!
Но с развитием появляются и новые проблемы.
Сначала вирус парализовал веб-сервер, потом кто-то притаранил червя, который распространился в сети, заняв часть полосы пропускания. А ещё какой-то злодей повадился подбирать пароли на ssh к серверу.
А представляете, что начнётся, когда мы подключимся к Интернету?!
Итак, сегодня:
1) учимся настраивать различные списки контроля доступа (Access Control List)
2) пытаемся понять разницу между ограничением входящего и исходящего трафика
3) разбираемся с тем, как работает NAT, его плюсы, минусы и возможности
4) на практике организуем подключение к Интернету через NAT и увеличим безопасность сети, используя списки доступа.

Читать дальше →
Total votes 91: ↑90 and ↓1 +89
Views360K
Comments 48

Cisco IOS ACLs

Cisco
Всем доброго дня!

В этой статье я бы хотел поговорить про возможности Cisco IOS Access Control Lists (ACLs). Тема многим из вас должна быть знакомой, поэтому мне хочется обобщить информацию по разным типам ACLs. Я кратко пробегусь по основам, а затем поговорим про специальные типы ACLs: time-based (на основе времени), reflexive (отражающие), dynamic (динамические). Итак, начнем…
Читать дальше →
Total votes 18: ↑13 and ↓5 +8
Views126.4K
Comments 33

x-acl легковесная утилита для организации Access Control List (ACL)

Website developmentC++
Sandbox
Приветствую, хабра-сообщество!

У каждого проекта (веб-проекта) возникают вопросы по организации прав доступа. В данной области есть определенные готовые инструменты для различных фреймворков Zend, Symfony, Yii и т. д. Вероятно кто-то с чем-то сталкивался и в целом представляет себе, что это такое. Для тех же кто не сталкивался — советую открыть документацию любого из этих фреймворков и ознакомится. В частности автор поста очень плотно работал с Zend_Acl. Но относительно недавно решил изучить вопрос ACL в области C++
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views5.3K
Comments 12

ACL: в поисках идеального решения

ProgrammingSystem Analysis and DesignPerfect code
Новый проект. В очередной раз пришлось решать проблему с разграничением прав. В очередной раз пришлось изобретать велосипед. Вот я и подумал, а не проще ли разобраться с этой проблемой раз и навсегда. Хочу решить задачу «на бумаге», чтобы эти принципы можно было использовать независимо от технологии.
Поехали
Total votes 54: ↑48 and ↓6 +42
Views28.3K
Comments 20