# ЕШДИ-Ready for Gov Companies

### Возможность работы через ЕШДИ (Единый шлюз доступа к Интернету)

**TRAIO совместим с инфраструктурой заказчиков, использующих ЕШДИ.**

* В TRAIO встроен сертификат доверия: система без проблем обращается к внешним сервисам (docker-репозитории, лицензии, обновления и пр.) за шлюзом.
* Нет необходимости вручную настраивать сертификаты или proxy для системы — всё “из коробки”.
* Для сканеров, которые обращаются к внешним ресурсам, в документации есть инструкция по использованию сертификата (см. ниже).

***

### Инструкция: использование корпоративного сертификата доверия для сканеров

Если сканер обращается к внешним ресурсам (например, для загрузки баз уязвимостей, обновлений и т.д.), необходимо убедиться, что используется корпоративный сертификат доверия при помощи скрипта

**Скрипт:**

```bash
echo "[START] Добавляем корпоративный сертификат" && \
echo "[1/4] Декодируем base64 → /tmp/myca.crt" && \
echo 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUdFRENDQS9pZ0F3SUJBZ0lCQVRBTkJna3Foa2lHOXcwQkFRc0ZBRENCb0RFTE1Ba0dBMVVFQmhNQ1Mxb3gKRXpBUkJnTlZCQWdUQ2s1MWNpMVRkV3gwWVc0eElEQWVCZ05WQkFvVEYxTjBZWFJsSUZSbFkyaHVhV05oYkNCVApaWEoyYVdObE1Rc3dDUVlEVlFRTEV3SklVVEV1TUN3R0ExVUVBeE1sVlc1cFptbGxaQ0JUZEdGMFpTQkpiblJsCmNtNWxkQ0JCWTJObGMzTWdSMkYwWlhkaGVURWRNQnNHQ1NxR1NJYjNEUUVKQVJZT2MzVndjRzl5ZEVCemRITXUKYTNvd0hoY05NVGt3T1RBeE1EQXdNREF3V2hjTk1qa3dPRE14TWpNMU9UVTVXakNCb0RFTE1Ba0dBMVVFQmhNQwpTMW94RXpBUkJnTlZCQWdUQ2s1MWNpMVRkV3gwWVc0eElEQWVCZ05WQkFvVEYxTjBZWFJsSUZSbFkyaHVhV05oCmJDQlRaWEoyYVdObE1Rc3dDUVlEVlFRTEV3SklVVEV1TUN3R0ExVUVBeE1sVlc1cFptbGxaQ0JUZEdGMFpTQkoKYm5SbGNtNWxkQ0JCWTJObGMzTWdSMkYwWlhkaGVURWRNQnNHQ1NxR1NJYjNEUUVKQVJZT2MzVndjRzl5ZEVCegpkSE11YTNvd2dnSWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUURoRUVsZWNBN2hPVk5wCnZXditmZUhmU1pZeEtuTjEwTjBaNVQ5eUtIZ1NkanZNbm9PejRnbTI1MUJFL0lrUC84WmN3NCs5UzVUcmluU1QKaTlFN244ZHdTZlZVRTdSaVIxbnNGbXFEc0dtRy9CSzc5bDEwVlh1NU4yWGxlRXErUVpJVStGR2JqUlhnOVkyeQpZM0ZaL3krTi9NQ21ZcklIcjBFN0Z0Z1NUaVBZU1Y2U1ZKRW9iYXhLWkNVaklDL1NXbURYY2xtcEdKeCtKWW9aClZnN3pGeXlxZmhlQ05WcUc5MWtiS1M3RHd5TlR3YVhxSkZLUWlmZVRiTTg4WHFzQ1orUVBuek1TZFhzTUJyY1IKakF6ekVYYW96dmU5T0dBU3pYVWU4Mk5IL2xQV2ltQXNBTnEyak9WRHQ0Y2phWFpsMlpMZ3VOOWYvVVYzMXhIWgpzdlkxaFBZamVBUWJMMGZDbWJmMjEvYTNVMExVelFmWEtjQmJwaFVvVGllc0xjZllkeW9qdDlDOXVGUy84dEw5Cm1TT3cwUkduOHEzd2tKa1FWdmpSN2xNL3dVK0ZWQ042aDR5d1gxZzRCM3RGbG5QU05WR2E0WTV4aWxndnRXTDkKQlFWL0NTanVNT1NQeHhxYitQUTRFZHIrc1k1RDhVNGlOZ21lZzgzTzZpdi9CL3JMMGJWVzdjU1NBdE10aXU1egoxZjZrdjZadlJYekswNVE3Zk9hK0N2clhLTTBqQ1IxbnBoWTdyZllFZUtFK203RHhhem0yREdNMWl1UlJFWWNrCitVaENYR080eU5EUWlncTVickVQeVNOcFZ2SlpXTkhMU3dVMWl6OEd3ZHcxR0xrNXJhZ2RHbmQ5ZzV6NDgxWUcKeVNUWUFFYnhUNEg2eThaRlF2b09vNzRqcFdPcjlRSURBUUFCbzFNd1VUQVBCZ05WSFJNQkFmOEVCVEFEQVFILwpNQTRHQTFVZER3RUIvd1FFQXdJQlJqQXVCZ05WSFI4RUp6QWxNQ09nSWFBZmhoMW9kSFJ3T2k4dlkyRXVjM1J6CkxtdDZMMk5sY25RdmNtVjJMbU55YkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVVmOTFDTlRKdXpuLytBd0IKbzRBdFp6WWp5dlE0WmpzNitqQWQ4KzJsNXJlZEptTVUzUjZsWFdsK3NUUFROOHZXY244VFpUbjQ1VGhGQVJyRwo2WVdoN1pHYTdsYVFHdXJsMitPUHhGeXdOUVJyTjJhWFlLNnlrRTR6SkJmb2c4M1grVGEvaGR6U0pyWjlOTWluCmlVRVQzSDVBMkdKS3oxR0N4V2s2YTlHMGRHem00Y0tHM0lIR3g5cml1d2Z0Sm5MSHI3ZkhFS0FaREhpUitHb3MKaDcwb3N6bEg5Um80dVRGTklRV1lOdE4rQWdKcFhXY0I1KzRIaWU5QXB1dlpvc2pVTHVYTm9ibGpPRzZtRC9YVQpLVFVWNlZMcXhmdzg4Wkp2Q003am5BRHp6NG1RYUhrTDVYelJBTVV6WFFNSUlzV3hmZjF4KzBZcHdMTWtRdHE3Cm5hcjlFMjdIZlg2eGNuMTdvWkNPVkVJZGUxUlhFNnNVUm41VDAxeFJsWDVRNTdMdzlsazRocElPUFJnSHZrbFYKSERyZHVqdktDUTdCSmZNS041Mml3a1RneXdDY3dMd29pcWR0TXFaSEFSc3lkR0VpZTJySXJwd3R6Rlhsa0xmVApQMU9CNFZTZjJnNlZkUVlFaG5ORzVjWGs5U25aNlFkK1VCMTdkL3FYc2lZQ25UcVJzcS9ZNlhScGlIVVBsdHpnCkNGWk9oaHdKd2ZKRXlybTVoQjZCelJ1RWt2WXFlVjNOUjAxR3J3SXhhUndQWVJqQm5ET1hVRjF1UkxUdDFtVFMKbzY1bG96ZlRQNUUwTlZRTFZJd1JLbTFSeUs2QzN1b1BrNGZiYkN3R0s3aUE5alJiTWR0dkdodlhQT0FRT0IzQQp2aDlHdTJmdjZCMW1WcnllQTBPRjVsRnBOdDg9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K' | base64 -d > /tmp/myca.crt 2>&1 && \
ls -l /tmp/myca.crt && \
echo "[2/4] Проверка, что файл не пустой" && \
[ -s /tmp/myca.crt ] && echo "OK: файл создан и не пустой" || { echo "ОШИБКА: файл пустой или не создался"; exit 1; } && \
echo "[3/4] Устанавливаем переменные для python/http-клиентов" && \
export REQUESTS_CA_BUNDLE=/tmp/myca.crt && \
export SSL_CERT_FILE=/tmp/myca.crt && \
echo "REQUESTS_CA_BUNDLE=$REQUESTS_CA_BUNDLE" && \
echo "[4/4] Запускаем основную программу" && \
ls -l /tmp/myca.crt && head -n 5 /tmp/myca.crt
# Дальше идут команды для запуска сканера
```

**В каждом сканере, который обращается к внешним ресурсам, этот блок должен быть добавлен в стартовый скрипт до основного запуска.** Это гарантирует, что все сетевые обращения проходят через доверенный сертификат и не блокируются ЕШДИ.
