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

Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

Ten dokument wyjaśnia, jak skonfigurować zestawy szyfrów na hostach wirtualnych i routerach w Apigee Edge.

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

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

Zestawy szyfrów w Apigee Edge warto zmodyfikować z następujących powodów:

  • Aby uniknąć niezgodności zestawów szyfrów między aplikacjami klienckimi a routerami Apigee
  • Aby używać bezpieczniejszych zestawów szyfrów do usuwania luk w zabezpieczeniach lub zwiększania bezpieczeństwa

Zestawy szyfrów można skonfigurować na hostach wirtualnych lub routerach Apigee. Apigee akceptuje zestawy szyfrów tylko w formacie ciągów szyfrów OpenSSL na hoście wirtualnym i routerze. Strona szyfrów OpenSSL zawiera zestawy szyfrów SSL lub TLS z odpowiedniej specyfikacji i ich odpowiedników w OpenSSL.

Przykład:

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

Zanim zaczniesz

Konfigurowanie zestawów szyfrów na hostach wirtualnych

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

Listę zestawów szyfrów obsługiwanych przez Apigee znajdziesz w sekcji Obsługiwane zestawy szyfrów.

Host wirtualny możesz skonfigurować, korzystając z jednej z tych metod:

  • Korzystanie z interfejsu Edge
  • Korzystanie z Edge API

Korzystanie z interfejsu Edge

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

  1. Zaloguj się w interfejsie użytkownika Edge.
  2. Kliknij Admin > Virtual Hosts (Administracja > Hosty wirtualne).
  3. Wybierz konkretne Środowisko, w którym chcesz wprowadzić tę zmianę.
  4. Wybierz konkretnego hosta wirtualnego, dla którego chcesz skonfigurować zestawy szyfrów.
  5. W sekcji Właściwości zaktualizuj wartość Ciphers, dodając rozdzielaną dwukropkami listę ciągów szyfrowania OpenSSL.

    Jeśli na przykład chcesz zezwolić na używanie tylko zestawów szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 i TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiadające mu ciągi szyfrów OpenSSL z instrukcji szyfrów OpenSSL, jak pokazano w tej tabeli:

    Pakiet szyfrów Ciąg szyfrowania 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 szyfrowania OpenSSL oddzielony dwukropkiem, tak jak na tym ilustracji:

    Przykład szyfrów

  6. Zapisz zmianę.

Korzystanie z 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ącego ładunku JSON konfiguracji hosta wirtualnego w properties przy użyciu odpowiednich ciągów szyfrowania OpenSSL.

    Jeśli na przykład chcesz zezwolić na używanie tylko zestawów szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 i TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiadające mu ciągi szyfrów OpenSSL z instrukcji szyfrów OpenSSL, jak pokazano w tej tabeli:

    Pakiet szyfrów Ciąg szyfrowania 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 Zaktualizuj 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 zestawów szyfrów na hostach wirtualnych

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

  1. Uruchom interfejs API Get virtual host, aby pobrać 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 ustawioną 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 powyższym przykładzie wartość parametru ssl_ciphers została ustawiona na nową.

  3. Jeśli nadal widzisz starą wartość ssl_ciphers, sprawdź, czy zostały wykonane wszystkie czynności opisane w artykule Konfigurowanie zestawów szyfrów na hostach wirtualnych. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie.
  4. Jeśli nadal nie możesz zaktualizować lub dodać zestawów szyfrów na hoście wirtualnym, skontaktuj się z zespołem pomocy Apigee Edge.

Konfigurowanie zestawów szyfrów w routerach

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

Aby skonfigurować zestawy szyfrów w routerach, wykonaj te czynności:

  1. Na routerze otwórz poniższy plik w edytorze. Jeśli jeszcze nie istnieje, utwórz go.

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

    Aby na przykład otworzyć plik za pomocą usługi 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 wartością:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Jeśli na przykład chcesz zezwolić na używanie tylko zestawów szyfrów TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 i TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, określ odpowiadające mu ciągi szyfrów OpenSSL z instrukcji szyfrów OpenSSL, jak pokazano w tej tabeli:

    Pakiet szyfrów Ciąg szyfrowania 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. Upewnij się, że ten plik właściwości należy do użytkownika apigee, tak 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ż jeden router, powtórz powyższe kroki na wszystkich routerach.

Weryfikuję pakiet szyfrów w routerach

W tej sekcji wyjaśniono, jak sprawdzić, czy zestawy szyfrów w routerach zostały zmodyfikowane.

  1. W routerze wyszukaj właściwość conf_load_balancing_load.balancing.driver.server.ssl.ciphers za pomocą narzędzia wyszukiwania Apigee z folderu /opt/apigee i sprawdź, czy została ona ustawiona z nową wartością 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 w routerze zostaną ustawione nowe zestawy szyfrów, powyższe polecenie wyświetli nowe wartości.

    Poniżej znajdziesz przykładowy wynik z polecenia search powyżej, gdy zestawy szyfrów były aktualizowane do wersji 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ładowych danych wyjściowych powyżej można zauważyć, że właściwość conf_load_balancing_load.balancing.driver.server.ssl.ciphers została ustawiona z nowymi wartościami zestawu szyfrów. Wskazuje to, że pakiet szyfrów został zaktualizowany do ciągów szyfrowania OpenSSL DHE-RSA-AES128-GCM-SHA25 i ECDHE-RSA-AES128-GCM-SHA256 w routerze.

  3. Jeśli nadal widzisz stare wartości zestawów szyfrów conf_load_balancing_load.balancing.driver.server.ssl.ciphers, sprawdź, czy zostały wykonane wszystkie czynności opisane w artykule Konfigurowanie zestawów szyfrów w routerach. Jeśli pominięto jakiś krok, powtórz wszystkie kroki ponownie.
  4. Jeśli nadal nie możesz zmodyfikować zestawów szyfrów w routerach, skontaktuj się z zespołem pomocy Apigee Edge.