マネージャー、REST APIサーバーに接続する

UIに接続する

ブラウザウィンドウを開き、HTTPSを使用してマネージャーに接続します。EULAに同意した後、ユーザーはUIにアクセスできるようになります。

選択したデプロイメント方法に応じて、マネージャーのアドレスは次のようになります

  • Docker

  • LoadBalancerまたはIngressなしのKubernetes

  • LoadBalancerまたはIngressが構成されている

https://<manager_host_ip>:8443
https://<node_host_ip>:<NodePort>
https://<FQDN|IP>/

ナビゲーション

コンソールまたはREST APIを使用してSUSE® Securityを管理できます。

企業のファイアウォールが8443をブロックしている場合は、以下を参照してください。

ChromeブラウザがSUSE® Securityの自己署名証明書をブロックする場合は、次のセクションのChrome証明書アップロードを参照してください。

REST APIサーバーに接続する

SUSE® Security内のすべての操作は、コンソールの代わりにREST APIを通じて呼び出すことができます。REST APIサーバーは、Controller/Allinoneコンテナの一部です。REST APIの詳細については、ワークフローと自動化のセクションを参照してください。

デフォルトのユーザ名とパスワード

admin:admin

ログインに成功した後、管理者ユーザーはより安全なパスワードでアカウントを更新する必要があります。

追加ユーザーの作成

新しいユーザーは、設定の→ユーザーと役割メニューから追加できます。SUSE® Securityに事前定義されたグローバルロールがあります。

  • 管理連邦ポリシーを除くすべてのアクションを実行できます。

  • 連邦管理者。マスター/リモートクラスターの設定や連邦ポリシー(ルール)を含むすべてのアクションを実行できます。マルチクラスターが有効な場合のみ表示されます。

  • 表示専用(リーダー)。アクションは許可されず、表示のみです。

  • CI統合(ciops)。イメージスキャンなどのCI/CDスキャン統合タスクを実行できます。このユーザーロールは、Jenkins、BambooなどのビルドフェーズスキャンプラグインやREST API呼び出しでの使用を推奨します。スキャン機能に制限されており、コンソールでのアクションは実行できません。

ユーザーは、詳細設定を使用して1つ以上のネームスペースに制限できます。

カスタムロールの作成と高度なユーザー管理については、ユーザーとロールのセクションを参照してください。

接続タイムアウト設定

コンソールの右上にあるマイプロファイル→セッションタイムアウトで、コンソールがタイムアウトする秒数を設定できます。デフォルトは5分で、最大は3600秒(1時間)です。

マネージャーのHTTPを有効にする

HTTPSを無効にしてHTTPアクセスを有効にするには、環境変数セクション内のマネージャーまたはオールインワンのyamlセクションにこれを追加します。例えば、Kubernetesでは:

- name: MANAGER_SSL
  value: "off"

OpenShiftの場合、yamlのRouteセクションからこの設定も削除してください。

tls:
    termination: passthrough

これは、マネージャーをロードバランサーの背後に置く場合に便利です。

8443をブロックする企業ネットワークからのアクセスを有効にする

企業ネットワークがマネージャーコンソールへのポート8443のアクセスを許可しない場合、イングレスサービスを作成してそれをマッピングし、アクセスを許可することができます。

SUSE® Security UIコンソールはコンテナ内で非ルートユーザとして実行されているため、1024未満のポートでリスンすることはできません。これが、443に変更できない理由です。

企業ネットワークからコンソールにアクセスしようとしている場合。ClusterIPサービスとイングレスHTTPSリダイレクトを使用してそれを実現する方法は次のとおりです。

最初に、HTTPS終了用の証明書を作成します。以下に例を示します。

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=mycloud.domain.com" kubectl create secret tls neuvector-ingress-tls -n neuvector --key="tls.key" --cert="tls.crt"

次に、HTTPS接続をマネージャーにリダイレクトする443ポートを公開するために、次のyamlファイルを使用します。

apiVersion: v1
kind: Service
metadata:
  name: neuvector-cluster-webui
  namespace: neuvector
spec:
  ports:
  - port: 443
    targetPort: 8443
    protocol: TCP
  type: ClusterIP
  selector:
    app: neuvector-manager-pod

---

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: neuvector-ingress-webui
  namespace: neuvector
  annotations:
    ingress.mycloud.net/ssl-services: ssl-service=neuvector-cluster-webui
spec:
  tls:
  - hosts:
    - cloud.neuvector.com
    secretName: neuvector-ingress-tls
  rules:
  - host: cloud.neuvector.com
    http:
      paths:
      - path:
        backend:
          serviceName: neuvector-cluster-webui
          servicePort: 443

イングレスアドレスのアノテーションをingress.mycloud.netから適切なアドレスに変更する必要があります。

この例では、URL cloud.neuvector.comを使用しています。イングレスサービスが作成された後、その外部IPを見つけることができます。次に、hostsファイルを構成してcloud.neuvector.comをそのIPにポイントできます。その後、https://cloud.neuvector.com(選択したURL)にアクセスできるはずです。

リダイレクトの代わりにSSLパススルーを使用する

上記のリダイレクト例の代わりにTLS/SSLパススルーを使用するには(nginxなどの一部のイングレスコントローラーでサポートされています)、イングレスコントローラーがパススルー用に適切に構成されていることを確認し、イングレスに適切なアノテーションが追加されていることを確認してください。などです。別の例をあげれば、

annotations:
  ingress.kubernetes.io/ssl-passthrough: "true"

SUSE® Security自己署名証明書の置き換え

詳細については、次のセクション自己署名証明書の置き換えを参照してください。証明書は、マネージャーとコントローラー/オールインワンのyamlの両方で置き換える必要があります。

証明書ARNを使用してAWS ALBを構成する

こちらは、証明書ARN(実際のARNは伏せています)を使用したAWSロードバランサーによるサンプルのイングレス設定です。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    # https://kubernetes_sigs.github.io/aws_alb_ingress_controller/guide/ingress/annotation/#healthcheck_path
    alb.ingress.kubernetes.io/backend_protocol: HTTPS
    alb.ingress.kubernetes.io/certificate_arn: arn:aws:acm:us_west_2:596810101010:certificate/380b6abc_1234_408d_axyz_651710101010
    alb.ingress.kubernetes.io/healthcheck_path: /
    alb.ingress.kubernetes.io/healthcheck_protocol: HTTPS
    alb.ingress.kubernetes.io/listen_ports: '[{"HTTPS":443}]'
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/success-codes: "301"
    alb.ingress.kubernetes.io/target-type: instance
    external-dns.alpha.kubernetes.io/hostname: eks.neuvector.com
    kubernetes.io/ingress.class: alb
  labels:
    app: neuvector-webui-ingress
  name: neuvector-webui-ingress
  namespace: neuvector
spec:
  tls:
  - hosts:
    - eks.neuvector.com
  rules:
  - http:
      paths:
      - backend:
          serviceName: neuvector-service-webui
          servicePort: 8443
        path: /*