пятница, 20 ноября 2009 г.

Оптимизация списков доступа (access-lists) при помощи object-groups.

Представим, что у нас есть сеть, где распределение прав реализовано на уровне адресов и портов. Есть ряд хостов, которым нужно предоставить доступ к строго определенным сетевым ресурсам, например:
компьютеры 172.16.0.1, 172.16.0.15, 172.16.0.21, 172.16.0.38 должны иметь право доступа на сайт Яндекса (93.158.134.8).
Для этого на входной интерфейс локальной сети вешаем именованный лист LAN-IN, куда добавляем несколько правил:
(config)# ip access-list extended LAN-IN
permit tcp host 172.16.0.1 host 92.158.134.8 eq 80
permit tcp host 172.16.0.15 host 92.158.134.8 eq 80
permit tcp host 172.16.0.21 host 92.158.134.8 eq 80
permit tcp host 172.16.0.38 host 92.158.134.8 eq 80
...
вроде бы 4 записи - ничего страшного, но когда будет нужно группе хостов дать доступ к сервисам другой группы хостов, количество записей резко возрастет, кроме этого, если у пользователя по каким-то причинам поменялся адрес, нужно четко отслеживать порядковый номер записи в листе. Более гибкий механизм - использование object-group.
Такие группы объединяют сетевые объекты (отдельные хосты и подсети - IP адреса) или сервисы (порты).
Например, кусок конфига с использованием сетевых объектов:
...
object-group network ICQUSERS
host 172.20.11.12
host 172.20.11.17
host 172.20.11.45
host 172.20.11.55
host 172.20.11.117
host 172.20.11.130
host 172.20.11.162
host 172.20.11.168
host 172.20.11.184
host 172.20.11.185
host 172.20.11.188
host 172.20.11.195
host 172.20.11.196
host 172.20.11.198
host 172.20.11.201
host 172.20.11.206
host 172.20.11.207
host 172.20.11.216
host 172.20.11.221
host 172.20.11.222
host 172.20.11.225
host 172.20.11.230
host 172.20.11.236
host 172.20.11.237
host 172.20.11.247
host 172.20.11.249
host 172.20.12.6
host 172.20.12.21
host 172.20.12.41
host 172.20.12.51
host 172.20.12.55
host 172.20.12.95
host 172.20.12.100
host 172.20.12.112
...
object-group network POISKUSERS
host 172.20.1.10
host 172.20.1.11
host 172.20.1.20
host 172.20.1.21
host 172.20.1.101
host 172.20.11.17
host 172.20.11.45
host 172.20.11.130
host 172.20.11.141
host 172.20.11.199
host 172.20.11.216
host 172.20.11.220
host 172.20.11.222
host 172.20.11.225
host 172.20.11.230
host 172.20.11.236
host 172.20.11.252
host 172.20.12.21
host 172.20.12.51
host 172.20.12.100
host 172.20.12.104
host 172.20.12.112
host 172.20.12.116
host 172.20.12.120
host 172.20.12.77
host 172.20.11.184
...
object-group network POISKOVIKI
host 209.85.229.104
host 93.158.134.8
host 81.19.70.3
...
ip access-list extended LAN-IN
...
permit tcp object-group POISKUSERS object-group POISKOVIKI eq 80 443
permit tcp object-group ICQUSERS any eq 5190
...
добавлять хосты в группы можно налету не меняя правил в списке доступа.

Настройка Центра Сертификации (СА) на Cisco IOS.

Для начала рекомендуется выставить временную зону и "подвести" часы, чтобы потом не было мучительно больно:
(config)# clock timezone MSK 3
# clock set 10:00:00 19 Nov 2009 (как пример)
Включим встроенный веб сервер:
(config)# ip http server
Создадим сервер сертификатов по имени самого рутера R0-CA (пока без изысков с дефолтными настройками):
(config)# crypto pki server R0-CA
no shutdown
В результате будет создан trustpoint R0-CA и в хранилище добавлен корневой сертификат.
Теперь создадим новый trustpoint для получения сертификата себе любимому:
(config)# crypto pki trustpoint FOR-ME
enroll url http://R0-CA:80
Аутентифицируем корневой сертификат траста и сделаем заявку:
(config)# crypto pki authenticate FOR-ME
(config)# crypto pki enroll FOR-ME
отвечаем на вопросы, что включать в параметры сертификата (серийник, IP) и вводим пароль на сертификат.
Иногда желательно "подкрутить" сервер сертификации (если флешка вместительная):
crypto pki server CA-3725
database level complete
lifetime crl 24
lifetime ca-certificate 1825
database url flash:
grant auto (будет одобрять все запросы сертификатов)
храним все сертификаты неурезанные на флеше, и корневой сертификат выдан на 5 лет
для просмотра запрошенных сертификатов:
# crypto pki server R0-CA info requests
для подтверждения выпуска сертификата по запросу:
# crypto pki server R0-CA grant # (или all для одобрения всех заявок).

понедельник, 2 ноября 2009 г.

Установить в Ubuntu RPM пакет.

Иногда попадаются готовые пакеты под "шапочку". Для его установки можно воспользоваться проектом Alien:

sudo apt-get install alien

sudo alien -i NNN.rpm

или сконвертить в deb:

sudo alien NNN.rpm

Подключение рутера из GNS3 к сети.

Для доступа к виртуальному маршрутизатору в GNS'е необходимо создать интерфейс TAP, сбриджевав его с реальным:

sudo brctl addbr br0 # создаем бриджевой интерфейс

sudo ip l s dev br0 up # переводим его в активное состояние

sudo tunctl -t tap0 -u user1 # создаем интерфейс tap0 с правами user1

sudo ip l s dev tap0 up # переводим его в активное состояние

sudo brctl addif br0 tap0 # вяжем бриджевой интерфейс с tap0

sudo brctl addif br0 eth0 # вяжем бридж с реальным интерфейсом

sudo ifconfig eth0 0.0.0.0 promisc # убираем дрес с реального интерфейса и переводим его в смешанный режим

sudo ip a a 192.168.0.1/24 dev br0 # присваиваем бриджевому интерфейсу адрес или для выдачи по DHCP: sudo dhclient br0

можно также добавить маршрут по-умолчанию:

sudo ip r a default via 192.168.0.2

Сносим паблик фолдеры Exchange 2007

Жестокое удаление паблик фолдеров

Get-PublicFolder -Server exch.test_my.local "\" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server exch.test_my.local -Recurse -ErrorAction:SilentlyContinue

Get-PublicFolder -Server exch.test_my.local"\Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server exch.test_my.local -Recurse -ErrorAction:SilentlyContinue


Кодировка cp1251 в MySQL

Чтобы не лицезреть результат интернационально-кракозябровой дружбы на страницах добавим в /etc/my.cnf строки:

В раздел [mysqld]:

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

В раздел [mysqldump] :

default-character-set=cp1251

Рестарт сервисов.




Кодировка cp1251 в gedit

Для добавления поддержки виндовой кодировки в настройках gconf-editor / gedit2 / preferences / encodings / добавим автопределение cp1251 (windows-1251).