Konfigurowanie zestawów szyfrów na wirtualnych hostach i routerach

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
info

Z tego dokumentu dowiesz się, jak skonfigurować zestawy szyfrów na hostach wirtualnych i routerach w Apigee Edge.

Zestaw szyfrów to zbiór algorytmów, które pomagają zabezpieczyć połączenie sieciowe korzystające z protokołu TLS. Klient i serwer muszą uzgodnić konkretny zestaw szyfrów, który będzie używany do wymiany wiadomości. Jeśli klient i serwer nie uzgodnią zestawu szyfrów, żądania zakończą się niepowodzeniem z powodu nieudanego uzgadniania połączenia TLS.

W Apigee zestawy szyfrów powinny być uzgadniane między aplikacjami klienckimi a routerami.

Możesz chcieć zmodyfikować zestawy szyfrów w Apigee Edge z tych powodów:

  • Aby uniknąć niezgodności zestawów szyfrów między aplikacjami klienckimi a routerami Apigee
  • Aby używać bezpieczniejszych pakietów szyfrujących w celu wyeliminowania luk w zabezpieczeniach lub zwiększenia bezpieczeństwa.

Zestawy szyfrów można skonfigurować na hostach wirtualnych lub routerach Apigee. Pamiętaj, że Apigee akceptuje zestawy szyfrów tylko w formacie ciągów szyfrów OpenSSL zarówno w przypadku hosta wirtualnego, jak i routera. Strona podręcznika OpenSSL ciphers zawiera pakiety szyfrujące SSL lub TLS z odpowiedniej specyfikacji i ich odpowiedniki w OpenSSL.

Na przykład:

Jeśli chcesz skonfigurować TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 mechanizm szyfrowania na hoście wirtualnym lub routerze Apigee, musisz zidentyfikować odpowiedni ciąg szyfrowania OpenSSL na stronie podręcznika szyfrów OpenSSL. Ciąg szyfru OpenSSL dla zestawu szyfrów TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 to ECDHE-RSA-AES128-GCM-SHA256.. Podczas konfigurowania zestawu szyfrów w hoście wirtualnym lub na routerze Apigee musisz użyć ciągu szyfru OpenSSL ECDHE-RSA-AES128-GCM-SHA256.

Zanim zaczniesz

Konfigurowanie pakietów szyfrujących na hostach wirtualnych

Z tej sekcji dowiesz się, jak skonfigurować zestawy szyfrów w hostach wirtualnych powiązanych z organizacją i środowiskiem. Pakiety mechanizmu szyfrowania można skonfigurować w hoście wirtualnym za pomocą właściwości ssl_ciphers, która reprezentuje listę pakietów mechanizmu szyfrowania obsługiwanych przez hosta wirtualnego.

Listę pakietów szyfrujących obsługiwanych przez Apigee znajdziesz w sekcji Obsługiwane pakiety szyfrujące.

Wirtualnego hosta możesz skonfigurować za pomocą jednej z tych metod:

  • Korzystanie z interfejsu Edge
  • Korzystanie z interfejsu Edge API

Korzystanie z interfejsu Edge

Aby skonfigurować hosta wirtualnego za pomocą interfejsu Edge, wykonaj te czynności:

  1. Zaloguj się w interfejsie Edge.
  2. Kliknij Administracja > Hosty wirtualne.
  3. Wybierz konkretne środowisko, w którym chcesz wprowadzić tę zmianę.
  4. Wybierz konkretny host wirtualny, dla którego chcesz skonfigurować zestawy szyfrów.
  5. W sekcji Properties (Właściwości) zaktualizuj wartość Ciphers (Szyfry) za pomocą listy ciągów szyfrów OpenSSL oddzielonych dwukropkami.

    Jeśli na przykład chcesz zezwolić tylko na zestawy szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiednie ciągi szyfrów OpenSSL na stronie podręcznika szyfrów OpenSSL, jak pokazano w tej tabeli:

    Zestaw szyfrów Ciąg szyfru OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Dodaj ciąg szyfru OpenSSL z dwukropkami jako separatorami, jak pokazano na ilustracji poniżej:

    Przykład szyfrów

  6. Zapisz zmiany.

Korzystanie z interfejsu Edge API

Aby skonfigurować zestawy szyfrów na hoście wirtualnym za pomocą interfejsu Edge API, wykonaj te czynności:

  1. Pobierz bieżącą konfigurację hosta wirtualnego za pomocą interfejsu API Pobierz hosta wirtualnego, jak pokazano poniżej:

    Użytkownik chmury publicznej:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Użytkownik Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  2. Dodaj właściwość ssl_ciphers do istniejącej konfiguracji hosta wirtualnego w treści JSON w sekcji properties z odpowiednimi ciągami szyfrującymi OpenSSL.

    Jeśli na przykład chcesz zezwolić tylko na zestawy szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiednie ciągi szyfrów OpenSSL na stronie podręcznika szyfrów OpenSSL, jak pokazano w tej tabeli:

    Zestaw szyfrów Ciąg szyfru OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Dodaj ten blok kodu properties:

    Przykładowa zaktualizowana konfiguracja hosta wirtualnego:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  3. Zapisz zaktualizowaną konfigurację hosta wirtualnego w pliku. Na przykład: virtualhost-payload.json.
  4. Zaktualizuj konfigurację virtualhost za pomocą interfejsu API Aktualizowanie hosta wirtualnego w ten sposób:

    Użytkownik chmury publicznej:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

    Użytkownik Private Cloud:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

Obsługiwane zestawy szyfrów

Apigee obsługuje te zestawy szyfrów:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Weryfikowanie pakietów szyfrujących na hostach wirtualnych

W tej sekcji dowiesz się, jak sprawdzić, czy zestawy szyfrów zostały prawidłowo zmodyfikowane na hoście wirtualnym za pomocą interfejsu Edge API.

  1. Wykonaj wywołanie interfejsu API Pobierz hosta wirtualnego, aby uzyskać konfigurację virtualhost, jak pokazano poniżej:

    Użytkownik chmury publicznej:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Użytkownik Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
  2. Sprawdź, czy właściwość ssl_ciphers ma nową wartość.

    Przykładowa zaktualizowana konfiguracja hosta wirtualnego:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }

    W przykładzie powyżej zwróć uwagę, że parametr ssl_ciphers ma nową wartość.

  3. Jeśli nadal widzisz starą wartość ssl_ciphers, sprawdź, czy wszystkie kroki opisane w artykule Konfigurowanie pakietów szyfrujących na hostach wirtualnych zostały wykonane prawidłowo. Jeśli pominiesz któryś krok, powtórz wszystkie czynności.
  4. Jeśli nadal nie możesz zaktualizować ani dodać pakietów szyfrujących do hosta wirtualnego, skontaktuj się z zespołem pomocy Apigee Edge.

Konfigurowanie zestawów szyfrów na routerach

W tej sekcji opisujemy, jak skonfigurować zestawy szyfrów na routerach. Pakiety mechanizmu szyfrowania można skonfigurować za pomocą właściwości Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, która reprezentuje rozdzielone dwukropkiem akceptowane pakiety mechanizmu szyfrowania.

Aby skonfigurować zestawy szyfrów na routerach:

  1. Na komputerze z routerem otwórz w edytorze ten plik: Jeśli nie istnieje, utwórz go.

    /opt/apigee/customer/application/router.properties

    Aby na przykład otworzyć plik w aplikacji vi, wpisz:

    vi /opt/apigee/customer/application/router.properties
  2. Dodaj do pliku properties wiersz w tym formacie, zastępując wartość colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    Jeśli na przykład chcesz zezwolić tylko na zestawy szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiednie ciągi szyfrów OpenSSL z strony podręcznika szyfrów OpenSSL, jak pokazano w tej tabeli:

    Zestaw szyfrów Ciąg szyfru OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Następnie dodaj ten wiersz:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
  3. Zapisz zmiany.
  4. Sprawdź, czy plik właściwości należy do użytkownika apigee, jak pokazano poniżej:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. Ponownie uruchom router, jak pokazano poniżej:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. Jeśli masz więcej niż 1 router, powtórz powyższe czynności na wszystkich routerach.

Weryfikowanie zestawu szyfrów na routerach

Z tej sekcji dowiesz się, jak sprawdzić, czy zestawy szyfrów zostały prawidłowo zmodyfikowane na routerach.

  1. Na routerze wyszukaj właściwość conf_load_balancing_load.balancing.driver.server.ssl.ciphers za pomocą narzędzia wyszukiwania Apigee w folderze /opt/apigee i sprawdź, czy została ustawiona na nową wartość w ten sposób:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. Jeśli nowe zestawy szyfrów zostaną pomyślnie ustawione na routerze, powyższe polecenie wyświetli nowe wartości.

    Oto przykładowy wynik polecenia search, gdy zestawy szyfrów zostały zaktualizowane do DHE-RSA-AES128-GCM-SHA256 i ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties

    W przykładzie powyżej zwróć uwagę, że właściwość conf_load_balancing_load.balancing.driver.server.ssl.ciphers została ustawiona z nowymi wartościami zestawu szyfrów. Oznacza to, że zestaw szyfrów został zaktualizowany do ciągów szyfrów OpenSSL DHE-RSA-AES128-GCM-SHA25ECDHE-RSA-AES128-GCM-SHA256 na routerze.

  3. Jeśli nadal widzisz stare wartości pakietów szyfrującychconf_load_balancing_load.balancing.driver.server.ssl.ciphers, sprawdź, czy wszystkie kroki opisane w artykule Konfigurowanie pakietów szyfrujących na routerach zostały wykonane prawidłowo. Jeśli pominiesz któryś krok, powtórz wszystkie czynności.
  4. Jeśli nadal nie możesz zmodyfikować pakietów szyfrujących na routerach, skontaktuj się z zespołem pomocy Apigee Edge.