?

Log in

No account? Create an account

Previous Entry | Next Entry

Часто в организациях политика запрещает скачивание из интернета .exe и аналогичных (bat, scr, sys и тд.) файлов. В инете не редкость рецепты блокирования, основанные на анализе имени файла (вернее расширения) и/или Content-Type.

Понятно, что обойти такую блокировку не составляет большого труда, достаточно выкладывать файлы с немного измененным расширением, например на ._xe, и вся защита остается в пролете. Аналогично и с Content-Type, который меняется на text/plain и продолжают качать.

Мы пойдем другим путем, а именно анализом содержимого ответа веб-сервера, вернее первых символов response body. Лучше это тем, что как файл не обзови, какой Content-Type ему не выстави, а все равно попадется. Хуже -- дополнительной нагрузкой на железку.

Для начала создадим регулярное выражение, характеризующее .exe-файл.

pixfirewall(config)# regex EXE "^MZ"

Конфигурируем Application Inspection

pixfirewall(config)# policy-map type inspect http ANTIEXE
pixfirewall(config-pmap)# match response body regex EXE
pixfirewall(config-pmap-c)# drop-connection log
pixfirewall(config-pmap-c)# exit
pixfirewall(config-pmap)# exit


Создаем Layer3/4 policy map и приминяем его на интерфейс

pixfirewall(config)# class-map inspection_default
pixfirewall(config-cmap)# match default-inspection-traffic
pixfirewall(config-cmap)# exit
pixfirewall(config)# policy-map INSIDE
pixfirewall(config-pmap)# class inspection_default
pixfirewall(config-pmap-c)# inspect http ANTIEXE
pixfirewall(config-pmap-c)# exit
pixfirewall(config-pmap)# exit
pixfirewall(config)# service-policy INSIDE interface inside


Сохраняемся, на всякий обновляем таблицу трансляций и для проверки включаем логирование.

pixfirewall(config)# wr mem
Building configuration...
Cryptochecksum: 30671444 8dc37a59 70faa0ad c27fc522

pixfirewall(config)# clear xlate
pixfirewall(config)# logging console informational
pixfirewall(config)# logging ena


Теперь для проверки пробуем скачать из инета .exe-шник, если увидили на консоли похожее на:

%PIX-5-415007: HTTP - matched response body regex EXE in policy-map ANTIEXE, Body matched - Dropping connection from inside:xxx.xxx.xxx.xxx/1248 to outside:yyy.yyy.yyy.yyy/80

а броузер застыл в ожидании ответа -- значит работает.

Метки:

Profile

hoarywolf
hoarywolf

Latest Month

Сентябрь 2010
Вс Пн Вт Ср Чт Пт Сб
   1234
567891011
12131415161718
19202122232425
2627282930  
Разработано LiveJournal.com
Designed by Tiffany Chow