Необходимые знания:
UTM - Unified Thread Management.
Линейка защитных сервисов UTM:
UTM крутится на data plane (сервис называется utmd) и обрабатывает трафик при first-path и при fast-path.
В схеме flow-module utm работает в броке services.
Для работы UTM нужно использовать версии srx с индексом H или H2, в этих версиях больше оперативной памяти.
Объем доступной оперативной памяти и загрузка cpu влияет на размер и количество одновременно сканируемых антивирусом или контент фильтром файлов.
Статус UTM и отдельных компонент можно посмотреть след. командами:
{primary:node0} admin@msk-02-srx3-n0> show security utm session node0: -------------------------------------------------------------------------- UTM session info: Maximum sessions: 4000 Total allocated sessions: 0 Total freed sessions: 0 Active sessions: 0 {primary:node0} admin@msk-02-srx3-n0> show security utm status node0: -------------------------------------------------------------------------- UTM service status: Running {primary:node0} admin@msk-02-srx3-n0> show security utm ? Possible completions: anti-spam Show anti-spam information anti-virus Show anti-virus information content-filtering Show content-filtering information session Show security utm session status Show security utm status web-filtering Show web-filtering information
Лицензии требуются на:
Лицензии не требуются на:
Посмотреть лицензии можно командой “show system license”, в данном случае UTM лицензий нет, есть AppSec.
{primary:node0} admin@msk-02-srx3-n0> show system license License usage: Licenses Licenses Licenses Expiry Feature name used installed needed idp-sig 0 1 0 2017-11-21 03:00:00 GMT-3 dynamic-vpn 0 2 0 permanent ax411-wlan-ap 0 2 0 permanent appid-sig 0 1 0 2017-11-21 03:00:00 GMT-3 Licenses installed: License identifier: JUNOS111111 License version: 4 Valid for device: DEVICE-SERIAL-NUMBER Features: idp-sig - IDP Signature date-based, 2016-11-22 03:00:00 GMT-3 - 2017-11-21 03:00:00 GMT-3 License identifier: JUNOS222222 License version: 4 Valid for device: DEVICE-SERIAL-NUMBER Features: appid-sig - APPID Signature date-based, 2016-11-22 03:00:00 GMT-3 - 2017-11-21 03:00:00 GMT-3
Есть два способа ловить спам:
Требования:
В SBL обычно попадают:
Можно руками задавать ip адреса, домены и почтовые адреса с которых надо отклонять\принимать почту. SRX посмотри в заголовки и примет решение - дропнуть\пропустить\пометить как спам (добавить запись в тему или в заголовок).
Для доменов можно использовать вайлдкарты - * или ?. При использовании вайлдкарты имя почтового домена должно начинаться с “http:”.
“*” - используется в начале имени (http:*.juniper.net).
“?” - используется в конце имени.
Имя домена в локальных списках проверяется в несколько этапов.
Если почта отправлена с домена mail.juniper.net, то сначала через списки пройдет имя mail.juniper.net. Если не будет найдено совпадений, то пойдет проверка имени juniper.net и если еще раз не будет совпадений, то будем проверять имя net. Проверка идет до первого совпадения.
—-
Используется два метода сканирования:
Этот метод сканирования предполагает полную загрузку файла в оперативную память srx перед началом сканирования.
Можно сканировать аттачи в почтовых сообщениях http и ftp трафик. В http ответах ищется “скрытые” вредоносные скрипты. Что бы можно было сканировать ftp трафик надо что бы был включен “alg ftp”.
Метод хорошо ловит вирусы, но требователен к ресурсам - все сканирование идет на cpu.
Антивирусный движок и базу сигнатур поставляет Касперский. Для закачки сигнатур нужна лицензия. Когда лицензия закончится ранее закаченные сигнатуры продолжат работать, но новые нельзя будет скачать.
Количество и размер фалов, которые можно сканировать, определяется мощностью процессора и объемом памяти.
Второй способ сканирует на файлы на лету, не ждем полной загрузки файлов. Сканирование идет на отдельном чипе CSA (Content Security Accelerator) и работает быстрее по сравнению с Full file-based.
База сигнатур меньше и содержит информацию только о самых распространенных вирусах.
Настройки где можно задать критерии белого списка для трафика который не будет проверяться антивирусом.
[edit security utm] root@bluebox# set custom-objects ? Possible completions: + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > custom-url-category Configure category-list object > filename-extension Configure extension-list object > mime-pattern Configure mime-list object > protocol-command Configure command-list object > url-pattern Configure url-list object
Основное место где настраивается антивирусный движок.
Можно сделать несколько профилей в каждом из которых описать то или иное поведение движка - таймауты, способы оповещения, действий при фоллбэке и пр.
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST3 ? Possible completions: + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > fallback-options Anti-virus fallback options > notification-options Anti-virus notification options > scan-options Anti-virus scan options > trickling Anti-virus trickling [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST3 fallback-options ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups content-size Fallback action for content over size limit corrupt-file Fallback action for corrupt file decompress-layer Fallback action for over decompress layer limit default Default action engine-not-ready Fallback action for engine not ready out-of-resources Fallback action for out of resources password-file Fallback action for password file timeout Fallback action for engine scan timeout too-many-requests Fallback action for requests exceed engine limit | Pipe through a command [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST3 notification-options ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > fallback-block Fallback block notification > fallback-non-block Fallback non block notification > virus-detection Virus detection notification | Pipe through a command [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST3 scan-options ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups content-size-limit Content size limit (20..20000) decompress-layer-limit Decompress layer limit (1..4) intelligent-prescreening Anti-virus intelligent pre-screening no-intelligent-prescreening Don't anti-virus intelligent pre-screening scan-extension Scan engine filename extension scan-mode Anti-virus scan mode timeout Scan engine timeout (1..1800) | Pipe through a command [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST3 trickling ? Possible completions: <[Enter]> Execute this command timeout Trickling timeout (0..600) | Pipe through a command [edit security utm] root@bluebox# show feature-profile { anti-virus { kaspersky-lab-engine { profile KAV-PROFILE-TEST2 { scan-options { no-intelligent-prescreening; } notification-options { virus-detection { no-notify-mail-sender; } } } profile KAV-PROFILE-TEST1 { scan-options { timeout 30; } trickling timeout 10; } profile KAV-PROFILE-TEST3 { fallback-options { content-size log-and-permit; } scan-options { scan-mode all; } } } } }
Тут могут применяться ранее заданные белые списки адресов майм типов.
[edit security utm] root@bluebox# set feature-profile anti-virus ? Possible completions: + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > kaspersky-lab-engine Anti-virus kaspersky-lab-engine profile or pattern-update > mime-whitelist Anti-virus MIME whitelist > sophos-engine Anti-virus sophos-engine > traceoptions Trace options for anti-virus feature type Anti-virus engine type url-whitelist Anti-virus URL white list
Тут же задается тип антивирусного движка - KAV или Sophos.
[edit security utm] root@bluebox# set feature-profile anti-virus type ? Possible completions: sophos-engine Anti-virus sophos-engine kaspersky-lab-engine Anti-virus kaspersky-lab-engine type
Настройки, которые фактически определяют профиль антивируса (ранее насроенный или дефолтный) который будет использоваться при сканировании трафика.
Антивирус подерживает сканирование файлов в след типах трафика :
[edit security utm] root@bluebox# set utm-policy KAV3 ? Possible completions: > anti-spam Anti-spam profile > anti-virus UTM policy anti-virus profile + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > content-filtering Content-filtering profile > traffic-options Traffic options > web-filtering Web-filtering profile root@bluebox# set utm-policy KAV3 anti-virus ? Possible completions: + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > ftp FTP profile http-profile Anti-virus profile imap-profile Anti-virus profile pop3-profile Anti-virus profile smtp-profile Anti-virus profile [edit security utm] root@bluebox# set utm-policy KAV3 anti-virus smtp-profile ? Possible completions: <smtp-profile> Anti-virus profile KAV-PROFILE-TEST1 [security utm feature-profile anti-virus kaspersky-lab-engine profile] KAV-PROFILE-TEST2 [security utm feature-profile anti-virus kaspersky-lab-engine profile] KAV-PROFILE-TEST3 [security utm feature-profile anti-virus kaspersky-lab-engine profile] junos-av-defaults [security utm feature-profile anti-virus kaspersky-lab-engine profile] junos-sophos-av-defaults [security utm feature-profile anti-virus sophos-engine profile] [edit security utm] root@bluebox# show ... utm-policy AV1 { anti-virus { http-profile junos-av-defaults; } } utm-policy KAV1 { anti-virus { http-profile KAV-PROFILE-TEST1; pop3-profile KAV-PROFILE-TEST2; } } utm-policy KAV2 { anti-virus { http-profile junos-av-defaults; } } utm-policy KAV3 { anti-virus { smtp-profile KAV-PROFILE-TEST3; } }
Имя UTM политики (в данном случае AV1, KAV[1..3]) в дальнейшем будет использоваться в политиках безопасности.
Есть два режима сканирование:
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST1 scan-options scan-mode ? Possible completions: all Scan all files by-extension Scan files with specified extension
Поддерживаемые файлы:
[edit security utm] root@bluebox# run show configuration groups junos-defaults security utm custom-objects filename-extension junos-default-extension { value [ 386 ACE ARJ ASP BAT BIN BZ2 CAB CHM CLA CMD COM CPL DLL DOC DOT DPL DRV DWG ELF EMF EML EXE FON FPM GEA GZ HA HLP HTA HTM HTML HTT HXS ICE INI ITSF JAR JPEG JPG JS JSE LHA LNK LZH MBX "MD?" MIME MSG MSI MSO NWS OCX OTM "OV?" PDF PHP PHT PIF PK PL PLG "PP?" PRG PRJ RAR REG RTF SCR SH SHS SWF SYS TAR TGZ THE TSP VBE VBS VXD WSF WSH "XL?" XML ZIP ]; }
Делаем свой список поддерживаемых файлов:
[edit security utm] root@bluebox# show custom-objects { filename-extension { CUSTOM-FILENAME-EXTENSIONS-1 { value [ EXE ZIP ]; } } } feature-profile { anti-virus { kaspersky-lab-engine { ... profile KAV-PROFILE-TEST4 { scan-options { scan-mode by-extension; scan-extension CUSTOM-FILENAME-EXTENSIONS-1; } } } } } ...
По дефолту на сканирование файла дается 180 секунд, время можно менять в пределах 1-1800 секунд.
Если сканируется более установленного времени, то файл дропается. При желании действие можно поменять на log-and-permit.
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 scan-options timeout ? Possible completions: <timeout> Scan engine timeout (1..1800)
По дефолту сканируется не весь файл а только его начало. Если вначале файла ничего подозрительного не выявлено, то файл проаускается. Если появились подозрения, то файл сканируется целеком.
Что бы всега сканировать файлы целеком надо дать команду “no-intelligent-prescreening”.
[edit security utm] root@bluebox# show feature-profile { anti-virus { kaspersky-lab-engine { profile KAV-PROFILE-TEST2 { scan-options { no-intelligent-prescreening; } } }
Оповещение рассылается в трех случаях:
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 notification-options virus-detection ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups custom-message Custom message for notification custom-message-subject Custom message subject for notification no-notify-mail-sender Don't notify mail sender notify-mail-sender Notify mail sender type Virus detection notification type | Pipe through a command [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 notification-options virus-detection type ? Possible completions: message Notification in message protocol-only Notification in protocol level only
root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 notification-options fallback-block ? Possible completions: <[Enter]> Execute this command administrator-email Administrator e-mail address allow-email Administrator e-mail address + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups custom-message Custom message for notification custom-message-subject Custom message subject for notification display-host Display hostname no-notify-mail-sender Don't notify mail sender notify-mail-sender Notify mail sender type Fallback block notification type | Pipe through a command
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 notification-options fallback-non-block ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups custom-message Custom message for notification custom-message-subject Custom message subject for notification no-notify-mail-recipient Don't notify mail recipient notify-mail-recipient Notify mail recipient | Pipe through a command
Определяем дальнейшие действия srx когда он не смог завершить проверку файла.
Возможные варианты:
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 fallback-options ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups content-size Fallback action for content over size limit corrupt-file Fallback action for corrupt file decompress-layer Fallback action for over decompress layer limit default Default action engine-not-ready Fallback action for engine not ready out-of-resources Fallback action for out of resources password-file Fallback action for password file timeout Fallback action for engine scan timeout too-many-requests Fallback action for requests exceed engine limit | Pipe through a command [edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine profile KAV-PROFILE-TEST4 fallback-options too-many-requests ? Possible completions: block log-and-permit
По дефолту базы обновляются раз в 60 минут.
Full = http://update.juniper-updates.net/AV
Express = http://update.juniper-updates.net/EAV
[edit security utm] root@bluebox# set feature-profile anti-virus kaspersky-lab-engine pattern-update ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > email-notify Virus pattern file updated notification interval Interval to check the update (10..10080) no-autoupdate Don't automatically update anti-virus pattern > proxy Pattern update proxy server. url Server URL | Pipe through a command
[edit security utm] root@bluebox# run request security utm anti-virus ? Possible completions: kaspersky-lab-engine Request update of anti-virus pattern for kaspersky-lab-engine sophos-engine Request update of anti-virus pattern for sophos-engine [edit security utm] root@bluebox# run request security utm anti-virus kaspersky-lab-engine ? Possible completions: <[Enter]> Execute this command pattern-delete Delete kaspersky-lab-engine pattern pattern-reload Reload kaspersky-lab-engine pattern pattern-update Update kaspersky-lab-engine pattern | Pipe through a command [edit security utm] root@bluebox# run request security utm anti-virus kaspersky-lab-engine pattern-update ? Possible completions: <[Enter]> Execute this command | Pipe through a command
[edit security utm] root@bluebox# run show security utm anti-virus ? Possible completions: statistics Show anti-virus statistics status Show anti-virus status [edit security utm] root@bluebox# run show security utm anti-virus status UTM anti-virus status: Anti-virus key expire date: license not installed Update server: http://update.juniper-updates.net/AV/SRX100/ Interval: 60 minutes Pattern update status: update disabled due to no license Last result: N/A Anti-virus signature version: not loaded Anti-virus signature compiler version: N/A Scan engine type: kaspersky-lab-engine Scan engine information: last action result: Engine not ready [edit security utm] root@bluebox# run show security utm anti-virus statistics UTM Anti Virus statistics: Intelligent-prescreening passed: 0 MIME-whitelist passed: 0 URL-whitelist passed: 0 Scan Mode: scan-all: 0 Scan-extension: 0 Scan Request: Total Clean Threat-found Fallback 0 0 0 0 Fallback: Log-and-permit Block Engine not ready: 0 0 Password file: 0 0 Decompress layer: 0 0 Corrupt files: 0 0 Out of resources: 0 0 Timeout: 0 0 Maximum content size: 0 0 Too many requests: 0 0 Others: 0 0
Фича позволяет разрешать или запрешать трафик на на основании MIME (Multipurpose Internet Mail Extension) типов, расширения файлов и протоколов. Поддерживается для HTTP, FTP и почтового трафика. В случае блокировки трафика можно так или иначе оповестить получателя.
Не требуется лицензии.
MIME - стандарт описывающий тип (содержание) передаваемой информации.
video/avi
audio/mpeg
image/bmp
text/css
application/octet-stream
Критерии трафика:
Можем посмотреть ответ от HTTP сервера, найдем там какой-нибудь запрещенный MIME-type, например image/bmp, и запретим его.
Или можем следить за FTP командами, увидели запрещенную, дропнули её, коанда не дошла до сервера\клиента.
Критерии трафика для контент фильтра задаются на уровне [edit security utm custom-objects].
[edit security utm] root@bluebox# show custom-objects { mime-pattern { MIME-ALLOW { value video/quicktime; } MIME-DENY { value text/css; } } filename-extension { FILE-EXTEN { value EXE; } } protocol-command { PROTOCOL-COMMAND-ALLOW { value get; } PROTOCOL-COMMAND-BLOCK { value delete; } } }
Потом эти критерии используются на уровне [edit security utm feature-profile content-filtering].
[edit security utm feature-profile] root@bluebox# set content-filtering profile CONTET-FILTER-PROFILE-1 ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups block-command Block command list > block-content-type Content-filtering feature block content type block-extension Block extension list > block-mime Content-filtering feature block MIME > notification-options Notification options permit-command Permit command list | Pipe through a command [edit security utm feature-profile] root@bluebox# ...g profile CONTET-FILTER-PROFILE-1 block-content-type ? Possible completions: activex Block activex + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups exe Block Windows/dos exe file http-cookie Block HTTP cookie java-applet Block Java-applet zip Block zip file [edit security utm feature-profile] root@bluebox# show content-filtering { profile CONTET-FILTER-PROFILE-1 { permit-command PROTOCOL-COMMAND-ALLOW; block-command PROTOCOL-COMMAND-BLOCK; block-extension FILE-EXTEN; block-mime { list MIME-DENY; exception MIME-ALLOW; } } }
Настройки уведомлений о блокировки.
[edit security utm feature-profile] root@bluebox# set content-filtering profile CONTET-FILTER-PROFILE-1 notification-options ? Possible completions: <[Enter]> Execute this command + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups custom-message Custom notification message no-notify-mail-sender Don't notifiy mail sender notify-mail-sender Notifiy mail sender type Notification options type | Pipe through a command
Профиль к политике безопасности применяться через UTP политику. Так же как в антивирусе.
[edit] root@bluebox# run show security utm content-filtering statistics Content-filtering-statistic: Blocked Base on command list: 0 Base on mime list: 0 Base on extension list: 0 ActiveX plugin: 0 Java applet: 0 EXE files: 0 ZIP files: 0 HTTP cookie: 0
Есть возможность фильтровать HTTP трафик по конкретному url или категории.
Методы фильтрации:
[edit security utm] root@msk-02-srx2# set feature-profile web-filtering ? Possible completions: + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > juniper-enhanced Configure web-filtering juniper enhanced engine > juniper-local Configure web-filtering juniper local engine > surf-control-integrated Configure web-filtering surf-control integrated engine > traceoptions Trace options for web-filtering feature type Configure web-filtering engine type url-blacklist Configure custom URL for blacklist category url-whitelist Configure custom URL for whitelist category > websense-redirect Configure web-filtering websense redirect engine [edit security utm] root@msk-02-srx2# set feature-profile web-filtering type ? Possible completions: juniper-enhanced juniper-local surf-control-integrated websense-redirect
Если к политике безопасности одновременно применен web-filter и antivirus, то сначала применяется web-filter и если доступ к сайту запрещен, то сессия сразу дропается и antivirus в работу не вступает.
Каждый раз когда пользователь обращается к сайту, srx смотрит url и обращается к базе SC. SC возвращает категорию сайта. Разрешенный или запрещенные категории прописываются в политиках безопасности. Если запрещаем посещение сайта, то пользователю можно вывести сообщение. Ответы от SC кэшируются, по одному и тому же сайту два раза в SC ходить не надо.
База SC содержит:
The Integrated Web filtering is not supported from Junos OS Release 15.1×49-D10 onwards.
Integrated Web filtering solution is supported only on SRX210, SRX220, SRX240, SRX550, and SRX650 devices.
Стоит отдельный локальный сервер, который хранит базу данных с сайтами категориями и политиками фильтрации.
SRX перенаправляет URL запрашиваемого сайта на WS и он уже принимает решение о пропуске трафика.
База WS содержит:
Перехватываем HTTP запросы и ip адреса HTTPS запросов, отправляем их в Websense ThreatSeeker Cloud (TSC) нам возвращают категорию и репутацию сайта, на основе этой инфы принимаем решение о пропуске трафика.