Skip to content

Сетевая безопасность

55 Темы 226 Сообщения

Защита сетевой инфраструктуры от несанкционированного доступа, атак и уязвимостей, включая фаерволы, IDS/IPS и VPN.

  • API для получения IP-адресов и URL-адресов Webex

    5
    0 Голоса
    5 Сообщения
    0 Просмотры
    P
    Команда, Мой клиент спрашивает, есть ли API, который можно использовать для получения списка текущих сетей IP-адресов и URL-адресов службы Webex. Их текущая политика безопасности заключается в том, чтобы разрешать доступ к Webex только с внутренних IP-адресов и URL-адресов. Они хотят еженедельно проверять и генерировать оповещения о любых добавленных адресных пространствах или URL-адресах, которые могут потребоваться для их службы Webex. Я объяснил, что это происходит нечасто, но они все равно хотят автоматизировать оповещения внутри компании. Заранее большое спасибо!
  • FTD - DHCPRelayService

    6
    0 Голоса
    6 Сообщения
    1 Просмотры
    K
    Здравствуйте, через API-Explorer с put dhcprelayservices все работает нормально, но через ansible я получаю только первое значение, но не записи о сервере и агенте. Код через API-Explorer работает: { "version": "m2l3jneotn6e4", "name": "NAME_DHCP-RELAY-SERVER", "ipv4RelayTimeout": 60, "ipv6RelayTimeout": 60, "servers": [ { "server": { "type": "networkobject", "name": "IPv4_DHCP1" }, "interface": { "type": "subinterface", "name": "Interfacename who the dhcp running" }, "type": "dhcprelayserver" }, { "server": { "type": "networkobject", "name": "IPv4_DHCP2" }, "interface": { "type": "subinterface", "name": "Interfacename who the dhcp running" }, "type": "dhcprelayserver" } ] "agents": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "setRoute": false, "interface": { "type": "subinterface", "name": "Interface-Name" }, "type": "dhcprelayagent" }, { "enableIpv4Relay": true, "enableIpv6Relay": false, "setRoute": false, "interface": { "type": "subinterface", "name": "Interface-Name" }, "type": "dhcprelayagent" } ] "type": "dhcprelayservice" } } Код Ansible (все значения ID считываются до выполнения этого скрипта): --- name: Execute upsertDHCPRelayService operation M-NET HB ftd_configuration: operation: upsertDHCPRelayService data: version: "{{ dhcprelay.version }}" name: NAME_DHCP-RELAY-SERVER description: "NAME_DHCP-RELAY-SERVER" ipv4RelayTimeout: 60 ipv6RelayTimeout: 60 servers[0]: [ {"server": {"type": "networkobject","name": "IPv4_dhcpserver1"},"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayserver"} ] servers[1]: [ {"server": {"type": "networkobject","name": "IPv4_dhcpserver2"},"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayserver"} ] agents[0]: [ {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"} ] agents[1]: [ {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"} ] agents[2]: [ {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"} ] agents[3]: [ {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX.id }}' },"type": "dhcprelayagent"} ] agents[4]: [ {"enableIpv4Relay": true,"enableIpv6Relay": false,"setRoute": false,"interface": {'type':'subinterface','id':'{{ subinterface_interfaceX_f.id }}' },"type": "dhcprelayagent"} ] type: dhcprelayservice Если я не использую номер сервера и агентов, то получаю следующую ошибку от ansible. "msg": { "Invalid data provided": { "required": [ "servers[0].server.id", "servers[1].server.id" Вывод Ansible: changed: [ftd-name] => { "ansible_facts": {}, "changed": true, "invocation": { "module_args": { "data": { "agents[0]": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "interface": { "id": "39f2769f-9062-11ee-8f5f-9fdadd220530", "type": "subinterface" }, "setRoute": false, "type": "dhcprelayagent" } ], "agents[1]": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "interface": { "id": "2f321ffb-9063-11ee-8f5f-0d83eeffbb9c", "type": "subinterface" }, "setRoute": false, "type": "dhcprelayagent" } ], "agents[2]": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "interface": { "id": "b2bd3384-9063-11ee-8f5f-cb99fc234435", "type": "subinterface" }, "setRoute": false, "type": "dhcprelayagent" } ], "agents[3]": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "interface": { "id": "b96eea77-9063-11ee-8f5f-81d10b4858ef", "type": "subinterface" }, "setRoute": false, "type": "dhcprelayagent" } ], "agents[4]": [ { "enableIpv4Relay": true, "enableIpv6Relay": false, "interface": { "id": "c01297aa-9063-11ee-8f5f-b5272134f9bc", "type": "subinterface" }, "setRoute": false, "type": "dhcprelayagent" } ], "description": "NAME_DHCP-RELAY-SERVER", "id": "c25e5737-9be2-11ed-8442-7f729e5d90b5", "ipv4RelayTimeout": 60, "ipv6RelayTimeout": 60, "name": "NAME_DHCP-RELAY-SERVER", "servers[0]": [ { "interface": { "id": "5318e182-9065-11ee-8f5f-39e51efbc113", "type": "subinterface" }, "server": { "name": "IPv4_name", "type": "networkobject" }, "type": "dhcprelayserver" } ], "servers[1]": [ { "interface": { "id": "5318e182-9065-11ee-8f5f-39e51efbc113", "type": "subinterface" }, "server": { "name": "IPv4_name", "type": "networkobject" }, "type": "dhcprelayserver" } ], "type": "dhcprelayservice", "version": "oodxtfoeskckb" }, "filters": { "name": "NAME_DHCP-RELAY-SERVER" }, "operation": "upsertDHCPRelayService", "path_params": { "objId": "c25e5737-9be2-11ed-8442-7f729e5d90b5" }, "query_params": null, "register_as": null } }, "response": {} } Но значения для сервера и агента не установлены. Есть какие-нибудь идеи? Вывод Ansible из getDHCPRelayService : ok: [ftd-name] => { "ansible_facts": { "dhcprelay": { "id": "c25e5737-9be2-11ed-8442-7f729e5d90b5", "ipv4RelayTimeout": 60, "ipv6RelayTimeout": 60, "links": { "self": "https://X.X.X.X/api/fdm/v6/devicesettings/default/dhcprelayservices/c25e5737-9be2-11ed-8442-7f729e5d90b5" }, "name": "NAME_DHCP-RELAY-SERVER", "type": "dhcprelayservice", "version": "oodxtfoeskckb" } }, "changed": false, "invocation": { "module_args": { "data": null, "filters": null, "operation": "getDHCPRelayService", "path_params": { "objId": "c25e5737-9be2-11ed-8442-7f729e5d90b5" }, "query_params": null, "register_as": "dhcprelay" } }, "response": { "id": "c25e5737-9be2-11ed-8442-7f729e5d90b5", "ipv4RelayTimeout": 60, "ipv6RelayTimeout": 60, "links": { "self": "https://x.x.x.x/api/fdm/v6/devicesettings/default/dhcprelayservices/c25e5737-9be2-11ed-8442-7f729e5d90b5" }, "name": "NAME_DHCP-RELAY-SERVER", "type": "dhcprelayservice", "version": "oodxtfoeskckb" } }
  • Документация по Rest API ASAv недоступна!

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    A
    Привет, я установил ASAv 9.9.2 на eve-ng и агент Rest API включен ciscoasa# sh run | in rest rest-api image disk0:/asa-restapi-132200-lfbff-k8.SPA rest-api agent ciscoasa# ciscoasa# show ver Программное обеспечение Cisco Adaptive Security Appliance версии 9.9(2)66 Расширяемая операционная система Firepower версии 2.3(1.178) Диспетчер устройств версии 7.9(2) Агент REST API версии 1.3.2.200 Скомпилировано в среду, 12 февраля 2020 г., в 18:56 по тихоокеанскому стандартному времени разработчиками Файл образа системы: «boot:/asa992-66-smp-k8.bin» Файл конфигурации при загрузке: «startup-config» ciscoasa работает 25 минут 39 секунд Оборудование: ASAv, 2048 МБ ОЗУ, процессор Xeon E5 серии 2304 МГц, идентификатор модели: ASAv10 Внутренний ATA Compact Flash, 8192 МБ Слот 1: ATA Compact Flash, 8192 МБ BIOS Flash Firmware Hub @ 0x0, 0 КБ Согласно документации, версии верны и должны работать https://www.cisco.com/c/en/us/td/docs/security/asa/compatibility/asamatrx.html#id_65991 ![Screenshot 2022-02-27 005816.png] ![Screenshot 2022-02-27 010049.png] ![Screenshot 2022-02-27 010117.png] Но здесь возникает сбой, пробовал полную перенастройку и т. д. Что я упускаю? [image: 21bb7f87f7c37870cc31d60b8b5a1a92ee6b1f78.png] [image: 1902f5b0af87d6942ad1e78a87a531a38288e27d.png] [image: 2dfed696188d5f24d78e6c5ecb19536c6a774402.png]
  • развертывание через Ansible на FMC

    16
    0 Голоса
    16 Сообщения
    0 Просмотры
    F
    Здравствуйте, команда! Пытаюсь использовать ansible на FMC 7.4.5 для обновления объектов хоста и ручных NAT. Удалось обновить объекты хоста, но возникли проблемы с их развертыванием. Это связано с тем, что при развертывании из графического интерфейса появляется запрос на игнорирование некоторых предупреждений, а не ошибок. Как учесть эти предупреждения из ansible playbook, чтобы не останавливать выполнение playbook? 2. Мне нужна помощь с обновлением ручных NAT, я не могу запустить его. С уважением,
  • StealthWatch API : Create tag without "ranges" (or empty "ranges")

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    L
    Здравствуйте, Я успешно создал метод в Python для создания тега (группы хостов) на основе этого примера: https://github.com/CiscoDevNet/stealthwatch-enterprise-sample-scripts/blob/master/python/add_tag.py Но в некоторых случаях мне нужно создать тег с пустыми «диапазонами», но с помощью этого API: 'https://' + SMC_HOST + '/smc-configuration/rest/v1/tenants/' + SMC_TENANT_ID + '/tags Но следующий JSON: request_data = [ { "name": "Sample Threat Feed", "location": "OUTSIDE", "description": "A sample of a threat feed", "ranges": [ "149.202.170.60", "23.129.64.101", "37.187.129.166", "91.146.121.3" ], "hostBaselines": False, "suppressExcludedServices": True, "inverseSuppression": False, "hostTrap": False, "sendToCta": False, "parentId": 0 } ] С таким JSON с пустыми «диапазонами» я получаю код ошибки «400»: request_data = [ { "name": "Sample Threat Feed", "location": "OUTSIDE", "description": "A sample of a threat feed", "ranges": [ ], "hostBaselines": False, "suppressExcludedServices": True, "inverseSuppression": False, "hostTrap": False, "sendToCta": False, "parentId": 0 } ] Поэтому я предполагаю, что «ranges» необходим. Есть ли способ создать тег с пустыми диапазонами? Возможно, я что-то упустил. Раньше я успешно делал это, редактируя XML Host Group, но мне не хватает этой части, чтобы полностью перейти на API. Я работаю с версией Cisco StealthWatch 7.1.2. С уважением.
  • автоматизация с помощью ISE ERS API

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    A
    Всем привет! Я пытаюсь автоматизировать добавление сетевых устройств в ISE с помощью вызовов API Python к ISE с помощью модуля requests и с использованием JSON для изменения данных. Вот пример кода: #### import requests import requests.auth import getpass import json Username = input("Введите имя пользователя API:") Password = getpass.getpass("Введите пароль API:") headers = {'Content-Type': 'application/json', 'Accept': 'application/json'} ISEjson= { "NetworkDevice" : { "id" : "123456789", "name" : "networkDevice1", "description" : "example nd", "authenticationSettings" : { "radiusSharedSecret" : "aaa", "enableKeyWrap" : True, "dtlsRequired" : True, "keyEncryptionKey" : "1234567890123456", "messageAuthenticatorCodeKey" : "12345678901234567890", "keyInputFormat" : "ASCII" }, "snmpsettings" : { "version" : "ONE", "roCommunity" : "aaa", "pollingInterval" : 3600, "linkTrapQuery" : True, "macTrapQuery" : True, "originatingPolicyServicesNode" : "Auto" }, "trustsecsettings" : { "deviceAuthenticationSettings" : { "sgaDeviceId" : "networkDevice1", "sgaDevicePassword" : "aaa" }, "sgaNotificationAndUpdates" : { "downlaodEnvironmentDataEveryXSeconds" : 86400, "downlaodPeerAuthorizationPolicyEveryXSeconds" : 86400, "reAuthenticationEveryXSeconds" : 86400, "downloadSGACLListsEveryXSeconds" : 86400, "otherSGADevicesToTrustThisDevice" : False, "sendConfigurationToDevice" : False, "sendConfigurationToDeviceUsing" : "ENABLE_USING_COA", "coaSourceHost" : "IseNodeName" }, "deviceConfigurationDeployment" : { "includeWhenDeployingSGTUpdates" : True, "enableModePassword" : "aaa", "execModePassword" : "aaa", "execModeUsername" : "aaa" } }, "tacacsSettings" : { "sharedSecret" : "aaa", "connectModeOptions" : "ON_LEGACY" }, "profileName" : "Cisco", "coaPort" : 1700, "dtlsDnsName" : "ISE213.il.com", "NetworkDeviceIPList" : [ { "ipaddress" : "1.1.1.1", "mask" : 32 } ], "NetworkDeviceGroupList" : [ "Location#All Locations", "Device Type#All Device Types" ] } } ISE = requests.post(" https://x.x.x.x:9060/ers/config/networkdevice ", verify=False, auth=(Username, Password), headers=headers, json=ISEjson) print(ISE.text) print(ISE.status_code) print(ISE.headers) #### Проблема, с которой я столкнулся, заключается в том, что при попытке отправить данные в ISE я получаю следующее: <!doctype html><html lang="en"><head><title>HTTP Status 401 – Unauthorized</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;размер шрифта: 14px;} body {семейство шрифтов: Tahoma, Arial, sans-serif; цвет: черный; цвет фона: белый;} b {семейство шрифтов: Tahoma, Arial, sans-serif; цвет: белый; цвет фона: #525D76;} p {семейство шрифтов: Tahoma, Arial, sans-serif; фон: белый; цвет: черный;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 401 – Неавторизованный</h1><hr class="line" /><p><b>Тип</b> Отчет о статусе</p><p><b>Описание</b> Запрос не был обработан, поскольку не содержит действительных учетных данных для аутентификации целевого ресурса.</p><hr class="line" /><h3></h3></body></html> 401 {'WWW-Authenticate': 'Basic realm="ERSRealm"', 'Content-Type': 'text/html;charset=utf-8', 'Content-Language': 'en', 'Content-Length': '1014', 'Date': 'Tue, 09 Jul 2019 02:02:03 GMT', 'Server': ''} Я не понимаю, почему аутентификация не проходит, ведь я могу использовать модуль запросов для GET и DELETE в ISE с этой же учетной записью. Кто-нибудь может прояснить ситуацию?
  • FMC REST API и объекты удаленного доступа VPN

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    P
    Здравствуйте, необходимо перенести конфигурацию ASA в Firepower Management Center. Существует инструмент для миграции, но он не выполняет некоторые задачи, например, клиентские VPN. У меня много групповых политик, и заполнять их в графическом интерфейсе — ужасная работа. Я обнаружил, что для конфигурации FMC можно использовать REST API. Я некоторое время изучал его, но не смог найти в REST API объекты, связанные с VPN. Кто-нибудь имеет опыт в этом вопросе и может подтвердить мои опасения, что FMC в текущей версии не поддерживает объекты VPN через REST API? Или, если да, где я могу их найти? С уважением, Петр
  • Cisco ISE и автоматизация ServiceNow!!!

    7
    0 Голоса
    7 Сообщения
    0 Просмотры
    M
    Привет всем, Я пытался найти документацию Cisco, где можно получить информацию об автоматизации Cisco ISE и Servicenow. Я пытаюсь автоматизировать добавление/удаление сетевых устройств с помощью Servicenow. Буду благодарен за любую документацию или ссылку, которые помогут мне понять этот процесс.
  • CDO API возвращает пустой ответ

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    N
    Я использую API CDO (SCC) для подключения FTD с серийным номером с помощью ZTP, но когда я отправляю свой запрос POST с приведенными ниже данными { "fmcAccessPolicyUid":"<access_policy_uid>", "licenses":"[BASE]", "name":"<device_name>", "serialNumber":"<device_serial>", "adminPassword":"<admin_password>" } и эти заголовки { «Content-Type»: «application/json», "Accept": "application/json", "Authorization": "Bearer <api_key>" } когда я получаю ответ, я получаю ошибку клиента 400, но никаких других сообщений об ошибках я не вижу. Я использовал эту документацию https://developer.cisco.com/docs/cisco-security-cloud-control/onboard-ftd-device-using-zero-touch-provisioning/ , в которой сказано, что я должен посмотреть ошибку, которую выдает API, но я не получаю никаких сообщений об ошибках. Я пробовал отправлять запрос как в Postman, так и в чистом Python, где я скопировал пример из документации. Буду благодарен за любую помощь.
  • получить список пользователей из fmc

    4
    0 Голоса
    4 Сообщения
    0 Просмотры
    P
    Мне нужно настроить всех пользователей в FMC, какой будет вызов API? Я также пытаюсь пройти через коллекцию ansible fmcansible.
  • ошибка FMC CURL generatetoken

    2
    0 Голоса
    2 Сообщения
    1 Просмотры
    J
    Всем привет, Я пытаюсь сгенерировать токен и получаю следующее сообщение об ошибке. curl -k -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"grant_type": "password","username": "api", "password": "password"}' 'https://<ip_address>/api/fmc_platform/v1/auth/generatetoken' {"error":{"category":"FRAMEWORK","messages":[{"description":"User authentication failed."}],"severity":"ERROR"}} % Кто-нибудь знает, как я могу это исправить? Спасибо
  • CISCO ISE + NETCONF

    5
    0 Голоса
    5 Сообщения
    0 Просмотры
    P
    Привет, ребята, у меня вопрос: можно ли настроить Cisco ISE (2.6) с помощью NETCONF? Спасибо
  • конечная точка API для заблокированного IP-адреса из FMC

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    J
    Здравствуйте, Я хотел бы узнать, есть ли в fmc специальный API-конечный пункт, с помощью которого я могу получить список всех заблокированных IP-адресов. Заранее спасибо.
  • доступ API к изменениям конфигурации журнала аудита cdFMC

    4
    0 Голоса
    4 Сообщения
    0 Просмотры
    R
    Здравствуйте, Я попытался опубликовать это в форумах «Технологии» и «Поддержка», но через несколько минут мой пост был помечен как спам. Получить четкую информацию об API-конечных точках, к которым мы пытаемся получить доступ, было настоящим кошмаром, и это сообщество — моя единственная надежда... Так что ДА, это повторная публикация моей ранее размещенной темы, но это НЕ СПАМ. Я пытаюсь получить здесь помощь! Мой коллега-разработчик и я (инженер по обнаружению) хотели бы вызвать следующую конечную точку API: GET ​/api​/fmc_platform​/v1​/domain​/{domainUUID}​/audit​/configchanges Однако, согласно документации в API Explorer, для этого вызова требуется параметр snapshotId, который нигде больше не упоминается и даже не отображается в графическом интерфейсе. Кроме того, нет конечной точки API, которая бы возвращала действительные идентификаторы snaphot. Кто-нибудь знает, что означает этот параметр и как получить любое или все действительные значения snapshotId для арендатора? Заранее спасибо.
  • Stealtwatch SMC: ошибка REST API Invalid JSON

    6
    0 Голоса
    6 Сообщения
    0 Просмотры
    M
    Здравствуйте, команда! Когда я выполняю POST (PowerShell), SMC возвращает ошибку: { "errors" : [ { "code" : 5060, "message" : "The Request received is invalid" }, "Invalid JSON." ] } Вот часть скрипта PowerShell, который я использую: # JSON query body $body = '{ "startDateTime": "2026-02-10T08:00:00Z", "endDateTime": "2026-02-10T08:05:00Z", "recordLimit": 10, "subject": { "orientation": "CLIENT", "ipAddresses": { "includes": ["192.168.0", "10.20"] } }, "peer": { "ipAddresses": { "includes": ["192.168.0", "10.20"] }, }, "flow": { "tcpUdpPorts": { "includes": ["80-9000/tcp", "67-68/udp"] }, "flowDirection": "BIDIRECTIONAL", }' # POST query curl.exe -k -X POST "https://{smc-address}/sw-reporting/v2/tenants/{tenant-id}/flows/queries" -H "Cookie: stealthwatch.jwt=$JWT" -H "X-XSRF-TOKEN: $XSRF_TOKEN" -H "Content-Type: application/json" -d $body Идентификатор арендатора и теги (имя, ID) извлечены успешно Все, что я делаю, соответствует этой документации: https://developer.cisco.com/docs/stealthwatch/enterprise/reporting-api-version-2/ Возможно, я что-то упустил в своем json Версия Stealthwatch — 7.5.3