Skip to content

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

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

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

  • API отчетности Stealthwatch Enterprise для хостов с тревожными сигналами

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    K
    Здравствуйте, Мой клиент хочет получить данные категории «Alarming Hosts» (Хосты с тревожными сигналами), а также хосты после нажатия на цифры в категории через API. ![Screen Shot 2019-11-20 at 02.35.17.png] Какие API подходят для этого в DevNet Stealthwatch Enterprise REST API ? https://developer.cisco.com/docs/stealthwatch/#!reporting-api-version-1 Я вижу там несколько, но не уверен, подходят ли они и как их использовать. ![Screen Shot 2019-11-20 at 02.32.25.png] Можете ли вы мне помочь? [image: 28819973a1acd73a0e30a119353fc7f0a52fb103.png] [image: d87d99bf9beafc727fb3335a3584f0a9978d51c6.png] [image: a2f3d66b84e8f9edf9d4df64965805b65a01ce72.png] [image: 17240364e06e75ecd00f74151916af17a04f074f.png]
  • Stealthwatch API 404 при получении тегов

    7
    0 Голоса
    7 Сообщения
    0 Просмотры
    E
    Здравствуйте, У меня возникла проблема: я могу пройти аутентификацию в API-запросе к моему производственному SMC и получить токен аутентификации, а затем успешно запросить tenant-id. Все последующие вызовы завершаются сбоем, и я не могу получить группы хостов/теги с помощью этого API-вызова: https://{{STEALTHWATCH-SMC}}/smc-configuration/rest/v1/tenants/{{tenant-id}}/tags/ Поскольку он заканчивается ошибкой 404. Кто-нибудь знает, в чем здесь проблема? Почему я могу аутентифицироваться/получить tenant-id, но не могу получить ничего другого? Я предположил, что это может быть проблема, связанная с ролями, но изменение ролей, похоже, ни на что не влияет. Спасибо
  • Вопрос: Есть ли способ обновить конечные точки в pxGrid без создания новых?

    5
    0 Голоса
    5 Сообщения
    0 Просмотры
    Y
    Я хочу обновлять конечные точки в pxGrid только в том случае, если они уже существуют. Согласно документации по конечным точкам , для этого существует операция opType UPDATE при публикации в /topic/com.cisco.endpoint.asset. Похоже, что она работает как upsert (создает новые устройства). На самом деле, я не вижу разницы между операциями UPDATE и CREATE, поскольку обе вставляют-обновляют конечные точки. Есть ли способ обновить конечные точки в pxGrid без создания новых? Пример конечной точки: TEST_ENDPOINT = { "opType" : "UPDATE" , "asset" : { "assetId" : "999" , "assetName" : "test_asset" , "assetHwRevision" : "5.6" , "assetProtocol" : "CIP" , "assetVendor" : "Cisco Systems" , "assetSwRevision" : "4.6" , "assetProductId" : "IE2000" , "assetSerialNumber" : "1212121213243" , "assetMacAddress" : "00:da:ba:da:ba:da" , "assetIpAddress" : "192.12.217.16" , "assetDeviceType" : "EtherNet IP Node" } } Спасибо!
  • FMC и аудит через API

    5
    0 Голоса
    5 Сообщения
    3 Просмотры
    R
    Здравствуйте, Я проверяю изменения в политиках контроля доступа, нажимая «Система » «Мониторинг — Аудит» > «Аудит» и выполняя поиск за последние 30 дней по изменениям в следующей подсистеме: Политики > Контроль доступа > Контроль доступа > Редактор политик брандмауэра В результате я получаю таблицу с датой и временем, пользователем, информацией о том, какая политика была изменена, а также IP-адресом пользователя, который выполнил изменение. Мне трудно понять, как я могу получить эту же таблицу через REST API. Кто-нибудь пробовал это сделать?
  • Пользовательский порт SSH cisco Nexus 3548

    5
    0 Голоса
    5 Сообщения
    2 Просмотры
    D
    Как настроить пользовательский порт SSH на устройстве «Cisco Nexus 3548»?
  • Вопрос о сертификате Firepower REST API.

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    D
    Я пытаюсь использовать REST API для получения сведений о внешних сертификатах CA, которые я загрузил через графический интерфейс FDM. Я заметил, что внешние сертификаты CA, поставляемые с устройством, отображаются со сведениями, но не те, которые я загрузил... Кто-нибудь знает, почему? Я спрашиваю, потому что хочу внести изменения в конфигурацию отзыва, а единственный способ сделать это — через REST API...
  • Загрузка SDK

    12
    0 Голоса
    12 Сообщения
    0 Просмотры
    B
    Кто-нибудь еще не может загрузить Java SDK для pxGrid? У меня появляется ошибка «Страница не найдена».
  • FTD — Rest API для поиска использования объекта

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    J
    Я пытаюсь удалить определенные объекты с помощью FTD Rest API, такие как сетевые объекты или URL-объекты. Если один из них используется правилом или группой, удаление не происходит. Я пытался найти способ получить все использования объекта, чтобы очистить его перед удалением, но не нашел такого способа. Есть ли API, который возвращает все ссылки на объект? Заранее спасибо.
  • автоматизация оценки безопасности и проблемы с PSIRT API

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    T
    Здравствуйте! Компания, в которой я работаю, поручила мне проверять рекомендации по безопасности, которые публикует Cisco. Эта задача казалась подходящей для автоматизации, особенно с учетом того, что Cisco предоставляет RESTful API, через который можно получить доступ ко всем публикуемым рекомендациям. Они заявляют, что могут предоставить чрезвычайно полезные и актуальные данные, такие как уязвимые продукты, оценка CVSS и письменное резюме уязвимости. Если вы хотите получить дополнительную информацию, такую как затронутые версии программного обеспечения, вам необходимо иметь определенный тип учетной записи в Cisco, которая, к счастью, у нас есть, чтобы получить доступ к API ошибок. Концепция этого API великолепна. В идеале у вас может быть инвентарь, который автоматически сравнивает модель и номер версии действующих устройств в вашей сети с рекомендациями и уведомляет вас только о тех, которые действительно применимы к вашим устройствам. Вы можете установить дополнительные правила, например, уведомлять меня только в том случае, если оценка CVSS высокая или выше и т. д. Проблема, с которой я сталкиваюсь, заключается в том, что данные, возвращаемые из API, неточны, неполны и непоследовательны. Из-за этого данные не заслуживают доверия, и я вынужден вручную читать каждое предупреждение. Возвращаемые данные часто не содержат информации об уязвимых продуктах и версиях. Естественным следующим шагом было бы полностью отказаться от API и использовать веб-парсинг для извлечения данных. Но это также невозможно, поскольку отдельные предупреждения не имеют единого формата и часто бывают неполными. В прошлом месяце было много рекомендаций, в которых не были указаны уязвимые версии, несмотря на то, что уязвимость касалась уязвимого программного обеспечения. Кроме того, я нашел другие API Cisco, связанные с безопасностью, в которые можно ввести номера моделей, и они вернут соответствующие рекомендации, но это доступно не для всех продуктов, которые предоставляет Cisco, и мы потенциально можем упустить что-то важное. Поэтому мой вопрос к сообществу: нашли ли вы способ автоматизировать обработку этих уязвимостей? Если да, то как?
  • сброс выхода из системы s2s vpn на fmc/ftd

    3
    0 Голоса
    3 Сообщения
    2 Просмотры
    A
    Здравствуйте, я пытаюсь найти способ программного сброса/выхода из L2L VPN. - Я проверил FMC/FTD API и не нашел никаких полезных конечных точек. - Я проверил модули Ansible, результат тот же. Поэтому я перешел на SSH: - Я подумываю попробовать Netmiko, но он не входит в список поддерживаемых устройств. - pyATS? genie? Paramiko? Есть ли у вас идеи, как я мог бы решить эту задачу?
  • Дополнительные проблемы с REST API ASA после обновления

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    0
    Привет всем, У меня есть скрипт, который в основном работает с сетевыми объектами и группами. Его основная функция — добавление, обновление и удаление сетевых объектов и групп. На версиях, равных или меньших, чем ASA 9.12.4, он работает отлично. На более поздних версиях я наблюдаю странное поведение. Последнее — ошибки HTTP 500. Как будто сервер выходит из строя. TAC не особо помогает, так как, по-моему, не многие используют REST API? В связи с этим я задаюсь вопросом, не трачу ли я зря свое время на поиск решения? Я не хочу устранять проблемы при каждом обновлении. К сожалению, мы вынуждены проводить обновления для обеспечения соответствия требованиям безопасности. Похоже, REST API не протестирован должным образом, и последняя проблема — это ошибка аутентификации, которая должна была выявитися в базовых тестах. Очень неприятно отказываться от проекта, который хорошо работал более года, из-за плохой реализации. Есть ли какие-либо альтернативные решения, кроме работы с REST API ASA?
  • проблемы с аутентификацией REST API

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    0
    После обновления наших ASA у нас возникли проблемы с доступом к REST API с использованием локальной учетной записи пользователя. Кто-нибудь может подсказать, в чем может быть проблема? При попытке войти на страницу документации API я также не могу получить доступ с локальной учетной записью пользователя. При отладке выводится следующее сообщение: [ra token-auth error]: REST API: Rest Authenticate: Primary server group lookup failed Проблема возникает в любой кодовой базе после версии 9.12.4. У меня также возникает такая же проблема при использовании последних версий ASAv, ASDM и API. Буду благодарен за любую помощь в решении этой проблемы.
  • FMC — удалить все правила в категории ACP

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    D
    Здравствуйте, Я пытаюсь удалить все правила ACP в данной категории (через REST API). Есть ли какой-нибудь способ получить ID правил доступа в этой категории? Я нашел только следующее: Когда я пытаюсь получить объект категории, я вижу следующие параметры: "metadata": { ....... "startIndex": 1, "endIndex": 4, .... } Однако это всего лишь индекс правила в категории... А не ID. Я не уверен, можно ли удалить правило по индексу Спасибо за любую помощь Роман
  • Подсети на устройстве в поддоменах

    5
    0 Голоса
    5 Сообщения
    0 Просмотры
    S
    Я пытаюсь настроить подинтерфейсы на устройстве, расположенном в поддоменах. Мне не удается это сделать. При использовании API-explore я получаю следующую ошибку. Я также попробовал использовать приведенный ниже код на языке Python. Устройства: FMC virtual 6.6.1 FTD virtual 6.6.1 Ошибка API-Explorer { «error»: { «категория»: «FRAMEWORK», «сообщения»: [ { "description": "У вас нет необходимых полномочий для выполнения этой операции." } ], "severity": "ERROR" } } Код API-Explorer { «тип»: «SubInterface», «vlanId»: 30, «subIntfId»: 12345, «enabled»: true, «MTU»: 1500, «managementOnly»: false, «enableAntiSpoofing»: true, «enableSGTPropagate»: true, «ifname»: «Intf_name», «name»: «GigabitEthernet0/1», «overrideDefaultFragmentSetting»: { «size»: 200, «chain»: 24, «timeout»: 5 }, "ipv4": { "static": { "address": "1.2.3.4", «сетевая маска»: «25» } } } ![sullinsms_0-1624735514001.png] ![sullinsms_1-1624735514016.png] Ошибка кода Python Тест ответа {"error":{"category":"FRAMEWORK","messages":[{"description":"Недопустимый запрос"}],"severity":"ERROR"}} Ответ <response [404]=""> Код Python def configure_subinterface(addr: str = None, token: str = None): print("" * 80) print("Создать подинтерфейсы") db_list0 = {} db_list1 = {} с os.scandir('./') как записи: for entry in entries: db_list0[entry.name] = entry.name print("" * 80) ftdinterface = selectFromDict(db_list0, 'FTD interface backup to restore') с open(ftdinterface) как readfile: subinterface = json.load(readfile) с os.scandir('./') как записи: for entry in entries: db_list1[entry.name] = entry.name print("" * 80) ftdrecord = selectFromDict(db_list1, 'FTD device to apply interface') print("" * 80) с open(ftdrecord) как readfile: devicerecord = json.load(readfile) domainuuid = ("e276abec-e0f2-11e3-8169-6d9ed49b625f/ " + devicerecord['items'][0]['metadata']['domain']['id']) deviceuuid = devicerecord['items'][0]['id'] payload = json.dumps([ { "type": "SubInterface", "vlanId": 30, "subIntfId": 12345, "enabled": True, "MTU": 1500, «managementOnly»: True, «enableAntiSpoofing»: True, «enableSGTPropagate»: True, «ifname»: «Intf_name», «name»: «GigabitEthernet0/1», «overrideDefaultFragmentSetting»: { «size»: 200, «chain»: 24, «timeout»: 5 }, «зона безопасности»: { "id": "a5d02a5e-d1ce-11eb-9144-f657a2d3df95", «тип»: «SecurityZone» }, «ipv4»: { «static»: { "address": "1.2.3.4", «netmask»: «25» } } } ]) api_uri = f"/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/ 7f180e2c-ce4a-489f-57df-000000000001/devices/devicerecords/{deviceuuid}/subinterfaces?bulk=true" url = "https://" + addr + api_uri headers = { "X-auth-access-token": token } response = requests.request("POST", url, headers=headers, data=json.dumps(payload), verify=False)</response> [image: 9096382007c44ccf4fd04e146c46f86c78262d53.png] [image: 9326751f7ed35a2c861ecc0b1ca928192c45a2c0.png]
  • модуль FTD Ansible

    4
    0 Голоса
    4 Сообщения
    1 Просмотры
    M
    Здравствуйте, Я пытаюсь обновить профиль подключения StoS с помощью модулей FTD Ansible. Я не могу пройти дальше первого сообщения. При запуске операции я постоянно получаю ошибку: fatal: [ftd]: FAILED! => {"changed": false, "msg": {"Invalid data provided": "'type'"}} В моем плейбуке я извлекаю настройки VPN в задаче и сохраняю результат как «stosprofile», который затем использую для заполнения всех обязательных полей в соответствии с документацией: https://developer.cisco.com/site/ftd-ansible/#!editstosconnectionprofile/ - name: edit outside stos vpn ftd_configuration: operation: editSToSConnectionProfile data: name: Name_Updated_2 ikev1AuthMethod: "{{ stosprofile.ikev1AuthMethod }}" ikev2AuthMethod: "{{ stosprofile.ikev2AuthMethod }}" ikev1Enabled: "{{ stosprofile.ikev1Enabled }}" ikev2Enabled: "{{ stosprofile.ikev2Enabled }}" rriEnabled: "{{ stosprofile.rriEnabled }}" dynamicRRIEnabled: "{{ stosprofile.dynamicRRIEnabled }}" ipsecLifetimeInSeconds: "{{ stosprofile.ipsecLifetimeInSeconds }}" ipsecLifetimeInKiloBytes: "{{ stosprofile.ipsecLifetimeInKiloBytes }}" ipsecLifetimeUnlimited: "{{ stosprofile.ipsecLifetimeUnlimited }}" type: "stosconnectionprofile" outsideInterfaces: "{{ stosprofile.outsideInterfaces }}" id: "{{ stosprofile.id }}" path_params: objId: <objid> Когда я запускаю операцию с check_mode: yes, я получаю успешное завершение Что я упускаю?
  • вызовы API Stealthwatch возвращают html

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    M
    Всем привет, При выполнении некоторых вызовов API, таких как «get users» или «get tenants», я получаю ответы в формате HTML вместо json. Я могу выполнить вызов API «get domains» и получить ответ в формате json без проблем, поэтому мне не ясно, в чем разница. Я пробовал настроить заголовки так, чтобы принимать json, но API предпочитает plain/text. Буду благодарен за любую помощь. Ниже приведен мой класс на Python: classStealthwatchProxy: """Библиотека прокси-сервисов для взаимодействия с Stealthwatch SMC""" def__init__(self, username, password, ip ![:disappointed_face:] self._username=username self._password=password self.logger=logging.getLogger(name) self._session=requests.Session self.login_url=f'https://{ip}/token/v2/authenticate' self.get_domain_url=f'https://{ip}/sw-reporting/v1/tenants' self.logout_url=f'https://{ip}/token' self.get_users_url=f'https://{ip}/users' self._verifyssl=False self._headers= {'Accept': 'application/json'} deflogin(self ![:disappointed_face:] """Тестирование входа в SMC""" self.logger.info('Выполняется вход') login_resp=self._session.post( self.login_url, data={'username': self._username, 'password': self._password}, verify=self._verifyssl ) cookies= [xforxinlogin_resp.cookiesifx.name== 'stealthwatch.jwt'] iflogin_resp.status_code==200andlen(cookies) ==1: returncookies[0].value raiseException('Аутентификация не удалась') defget_domains(self ![:disappointed_face:] """Тест может получить домены из SMC""" self.logger.info('Вызов Get Domains') resp=self._session.get( self.get_domain_url, verify=self._verifyssl ) returnresp.json deflogout(self) -> bool: """Выход из SMC""" self.logger.info('Вызов выхода из системы') resp=self._session.delete( self.logout_url ) returnresp.status_code==204 defget_users(self ![:disappointed_face:] """Получить пользователей из SMC""" self.logger.info('Вызов Get Users') resp=self._session.get( self.get_users_url, verify=self._verifyssl ) returnresp.json [image: 4cfe73c2926a0c085b44d50ae1aa85a6a5776620.png]
  • проблема с лицензией Stealthwatch Sandbox

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    O
    У меня возникла проблема с лицензией для устройств Stealthwatch, которые я создал в Sandbox: ![CiscoSW.PNG] ![CiscoSW2.PNG] Что мне делать в этой ситуации? Спасибо [image: 32b58dcbc4aa6b6d0ba2cb4855a9355b06d9dac9.png] [image: abb77305501d987bf85feb912a2be5875e2b56b8.png]
  • количество обращений к FMC Rest API

    3
    0 Голоса
    3 Сообщения
    0 Просмотры
    L
    Привет! Я пытаюсь запустить вызов REST API, но безрезультатно. Я хотел получить количество обращений для всех правил в ACP. Я вижу, что мне нужно указать ID устройства, но я пробовал FTD HA Pair ID и просто ID устройства, и каждый раз получаю сообщение, что ID устройства недействителен. Поэтому я задаюсь вопросом, действительно ли мой ID неверный или это проблема с запросом. Вот запрос, который я делаю Идентификатор устройства { "id": "210a246a-e468-11e8-bd5d-8ecb5cb2c3a9", "type": "Device", "links": { "self": "https://x.x.x.x/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords/210a246a-e468-11e8-bd5d-8ecb5cb2c3a9" }, "name": xxxxx REQUEST - https://x.x.x.x/api/fmc_config/v1/domain/global/policy/accesspolicies/780CF067-649A-0ed3-0000-042949674015/operational/hitcounts?filter="deviceId:{d10e2c32-ffbe-11e8-9e90-9055102fe195};fetchZeroHitCount:{false}" Для пары HA "items": [ { "id": "d10e2c32-ffbe-11e8-9e90-9055102fe195", "type": "DeviceHAPair", "links": { "self": "https://x.x.x.x/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devicehapairs/ftddevicehapairs/d10e2c32-ffbe-11e8-9e90-9055102fe195" }, "name": xxxxx REQUEST - https://x.x.x.x/api/fmc_config/v1/domain/global/policy/accesspolicies/780CF067-649A-0ed3-0000-042949674015/operational/hitcounts?filter="deviceId:{d10e2c32-ffbe-11e8-9e90-9055102fe195};fetchZeroHitCount:{false}" Получил тот же ответ, используя explorer { "error": { "category": "FRAMEWORK", "messages": [ { "description": "Неверное значение deviceId." } ], "severity": "ERROR" } }
  • Сертификат доверия ISE API

    2
    0 Голоса
    2 Сообщения
    0 Просмотры
    F
    Мы только начинаем работать с ISE API, и у меня есть вопрос, который, я уверен, является действительно базовым. Мы хотим использовать Python для поиска, создания и обновления данных конечных точек. В примерах ERS API, которые я могу найти, я обычно вижу следующий комментарий: # SECURITY WARNING - DO NOT USE THIS SCRIPT IN PRODUCTION! # The script allows connections to SSL sites without trusting the server certificates. For production, it is required to add certificate check. Для нашей производственной конфигурации ISE у нас есть сертификаты, выданные и установленные через наш внутренний AD CA. Как выполнить проверку сертификата? Я вижу очень общие ссылки, такие как: requests.get(url, verify=path_to_bundle_file) Я предполагаю, что URL — это адрес ISE PAN, но я немного запутался с path_to bundle_file. Что такое этот пакетный файл и как его сгенерировать? Я предполагаю, что путь находится на устройстве, на котором запущен скрипт Python. Если мой сервер ISE использует 10.10.10.10 и все стандартные порты с включенной ERS, каков точный URL?
  • FTD REST API — LdapAttributeMap v6.7

    4
    0 Голоса
    4 Сообщения
    0 Просмотры
    C
    Привет всем, я уверен, что этот вопрос не имеет большого шанса на успех, но я застрял. Смотрите приложенный документ, который мне предоставила компания TAC для создания LdapAttributeMap с помощью FTD REST API Explorer, интегрированного в FDM. Первый скриншот — это конкретный текст модели LdapAAttributeMap. Второй — весь документ, который мне прислал TAC. Мой код (который выдает ошибку) — мое первое предположение: API изменился с момента создания этого документа? Примеры значений содержат совершенно другую модель ldapAttributeToGroupPolicyMappings чуть ниже того места, где заканчивается пример Cisco? Кто-нибудь когда-нибудь справлялся с этим? Мой код: "name": "BW_Attributes", "ldapAttributeMaps": [ { "ldapName": "memberOf", "ciscoName": "GROUP_POLICY", "valueMappings": [ { "ldapValue": "CN=VPN Admins,OU=VPN Groups,OU=Cisco_Accounts,OU=Bobs_World,DC=bobworld,DC=int", "ciscoValue": "VPN_Admins", "type": "ldaptociscovaluemapping" }, { "ldapValue": "CA VPN - Staff,OU=VPN Groups,OU=Cisco_Accounts,OU=Bobs_World,DC=bobworld,DC=int", "ciscoValue": "Anyconnect_CA", "type": "ldaptociscovaluemapping" } ], "type": "ldapattributemapping" } Выдает ошибку " " description ": "InvalidTypeIdException: Отсутствует идентификатор типа при попытке разрешить подтип [простой тип, LdapAttributeMap]: отсутствует свойство идентификатора типа 'type'\n в [Источник: (UnclosableInputStream); строка: 1, столбец: 3]" ," Спасибо всем, [image: 1dcb4df3f9b03a2d96105e72b308fb84b7a2a4e9.png]