Grafana 사용중 보안에 취약한 TLS 알고리즘을 사용으로인한 조치 권고가 있어, 해당 내용을 공유 하고자 한다
TLS 알고리즘 조치방법에는 크게 두가지가 있다.
1. Grafana 인입을 NLB로 하고 있고, NLB의 ACM 을 사용 하고 있기에 NLB 의 TLS 알고리즘을 변경하여 조치가 가능하다
2. Nginx Ingress 등을 사용하여 TLS 알고리즘 조치 가능하다(사용해본 적은 없음)
AWS 에서는 아래와 같이 보안 정책에 따라 허용되는 알고리즘을 명시해 놓았다
위 항목이 정확하게 적용이 되어 있는지 확인을 해보자
Application Load Balancer용 HTTPS 리스너 생성 - Elastic Load Balancing
Application Load Balancer에 대한 TLS 1.3 정책은 새로운 EC2 환경에서만 지원됩니다. 이전 EC2 환경을 사용하는 경우 TLS 1.3 정책을 선택할 수 없습니다.
docs.aws.amazon.com
순서 요약
1. 그라파나 repo pull
2. 그라파나 옵션 수정
3. 그라파나 설치
4. TLS 알고리즘 조회
※테스트 환경에는 LB Controller 가 설치되어 있습니다. LB 생성 전에 설치 후 진행 하시는것을 권고 드립니다
https://tistory-cloud.tistory.com/57
상세 설명
1. 그라파나 repo pull
- 아래 명령어를 사용하여 그라파나를 다운로드
helm repo add grafana https://grafana.github.io/helm-charts
helm pull https://grafana.github.io/helm-charts
2. 그라파나 옵션 수정
- 1번에서 다운로드한 repo 압축을 풀고 폴더에 들어가면, values.yaml 파일이 존재
- 해당 파일 아래와 같이 수정
##value.yaml 파일의 185번째 줄 부터 아래와 같이 수정
##194 : LB 생성될 서브넷
##196 : acm 의 arn
##197 : SSL policy
185 service:
186 enabled: true
187 type: LoadBalancer
188 port: 443
189 targetPort: 3000
190 # targetPort: 4181 To be used with a proxy extraContainer
191 ## Service annotations. Can be templated.
192 annotations:
193 service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
194 service.beta.kubernetes.io/aws-load-balancer-subnets: subnet-XXXXXX, subnet-XXXXXX
195 service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
196 service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:ap-northeast-2:XXXXXX:certificate/XXXXXX
197 service.beta.kubernetes.io/aws-load-balancer-ssl-negotiation-policy: "ELBSecurityPolicy-TLS13-1-2-2021-06"
3. 그라파나 설치
#그라파나 설치
helm install grafana -f values.yaml ./
4. TLS 알고리즘 조회
- NLB 생성 후 DNS로 접근가능 여부 확인 후 아래 명령어 수행
nmap --script ssl-enum-ciphers [LB DNS] -p443 -unprivileged
위 결과 내용을 확인해 보면, AWS 문서에 기재된 알고리즘과 동일하다는 것을 알 수 있다.
다른 알고리즘으로 변경하여 동일한 명령어 기재하면 다양한 알고리즘이 나오게 된다.
'Grafana, Keycloak' 카테고리의 다른 글
Prometheus 에서 Thanos 사용을 위한 kube-prometheus-stack 설치 (0) | 2023.11.12 |
---|---|
Prometheus Install (0) | 2023.11.11 |
Grafana Cloudwatch DataSource Cloudwatch Add Error (0) | 2023.06.11 |
Grafana Migration (0) | 2023.05.21 |
Keycloak API 를 사용한 유저 정보 조회 (0) | 2023.01.23 |