Subject : 소유자의 데이터로 domain 정보가 포함된다. Issuer : CA를 의미 CA(Certificate Authority) subject 및 issuer 확인 $ curl -sL https://certs.godaddy.com/repository/gdroot-g2.crt | openssl x509 -subject -noout subject=C = US, ST = Arizona, L = Scottsdale, O = "GoDaddy.com, Inc.", CN = Go Daddy Root Certificate Authority - G2 $ curl -sL https://certs.godaddy.com/repository/gdroot-g2.crt | openssl x509 -issuer -noo..
이미 만들어놓은 policy들을 가져다 쓸수는 없을까? 라는 의문이 들수 있다. 이를 library라는 항목으로 github내에 yaml 파일들을 제공하고 있다. 이는 kustomize 도구를 통해 배포가 가능하다. Library 공식 라이브러리로 제공되고 있으며 gatekeeper 의 기본동작방식에 맞게 다음 두가지 방식의 library를 제공한다. validation mutation https://github.com/open-policy-agent/gatekeeper-library/tree/master/library/general How to use 다음과 같은 순서로 constraint을 만들고 실제 policy로서 동작할수 있도록 해야 한다. library를 이용한 constrinat templa..
Gatekeeper를 이용해 validation 을 통한 deny/audit 등을 수행할수도 있지만 muatation을 통한 특정조건을 강제화시킬수도 있다. mutation은 gatekeeper 3.10 이상부터 v1으로 제공되며 다음과 같은 4가지 방식의 CRD가 제공되어 이를 통한 강제화를 수행할수 있다. assign assignmetadata assignimage ModifySet How it works 아래 pod를 기반으로 위 4가지 CRD를 확인해보자. 동일한 내용을 가진 container를 name을 다르게 하여 비교하여 확인해볼 예정이다. jacob@laptop:~ $ cat testpod.yaml apiVersion: v1 kind: Pod metadata: name: testpod na..
Rego 로 policy 생성시 단순히 정해진 결과만이 아닌 dynamic하게 data를 가져오는것도 가능하다. 아래와 같은 http.send 함수를 사용하여 생성이 가능하며 간단한 sample code를 기반으로 사용법을 익혀해보도록 하자. http.send를 사용한 rego test 다음 작업을 위해서는 아래 사항이 필수적으로 존재해야 한다. opa cli 설치 json 결과를 return 해주는 웹서버 (이는 http.send를 사용하기 위해) 위 사항이 준비되었다면 이제 rego 파일 생성과 opa command를 통한 테스트 결과를 출력해보자. 먼저 아래와 같이 json result가 출력되는 테스트 서버를 구현하고 jacob@laptop:~ $ curl http://localhost/res/j..
trivy database 내 존재하는 CVE를 확인해볼수 있는 방법을 기술한다. images database 다음과 같은 명령을 통해 database file을 다운로드 한다. TRIVY_TEMP_DIR=$(mktemp -d) trivy --cache-dir $TRIVY_TEMP_DIR image --download-db-only tar -cf ./db.tar.gz -C $TRIVY_TEMP_DIR/db metadata.json trivy.db https://github.com/aquasecurity/trivy-db#version-2 trivy db는 boltdb로 되어 있기에 아래 boltbrowser를 다운로드 받아 이를 통해 접근해 리스트를 확인해볼수 있다. https://github.com/br..
Teleport란 Teleport는 CA(Certificate Authority) 와 infrastructure에 접근하는 Plane을 만들어주고 접근을 수행할수 있도록 해준다. Teleport는 다음과 같은 일반적인 기능을 제공한다. SSO설정과 SSH Server, Kubernetes, Database들, Web App들에 접근할 하나의 서버를 생성 Infrastructure에 대한 접근 정책을 다양한 Programming Language로 정의 모든환경의 세션에 대한 Record 및 공유가 가능 Teleport 상세 기능 SSH를 이용한 서버 접근 application 접근 Kubernetes 접근 DB 접근 Session 기록후 재생가능 Session 공유 및 join 가능 웹 UI 상의 term..
Grafana Login 을 Keycloak OAuth 방식을 사용하여 처리하는 과정에 대하여 간단히 정리하고자 한다. 실제 원하는 동작 구성은 다음과 같다. Prerequites 두개의 서버를 준비하여 docker로 각 서비스를 동작시킬 예정이다. (여기서는 가상머신 두개를 통해 환경을 구성했다. 실환경이라면 좀더 보안적인 요소와 설정에 대한 고려가 필요하다.) keycloak server (13.0.1) grafana server (8.0.2) keycloak 서비스 준비 Keycloak 서비스를 동작시키기 위해 아래와 같은 docker 명령을 실행하자. [root@keycloak-server ~]# docker run -d -p 8080:8080 -e KEYCLOAK_USER=admin --name..
Certificate 인증서(Certificate)를 가진 서버에 사용자(browser)가 접근하려 할때 해당 인증서(Certificate)를 검증하게 되고 신뢰된 서버라는 검증이 완료되면 통신을 수행하게 된다. 이때 사용되는 검증시 사용되는 것이 인증서라 할수 있으며 여기 포함된 public key를 통해 암호화된 통신을 제공하게 된다. 참고로 인증서내에는 소유자의 검증을 위한 중요정보(ex. public key, 인증서 발급자, 연관된 subdomain 정보등)이 포함된다. 실제 Browser에서 인증서를 export 해보면 아래와 같은 정보를 확인해볼수 있다. Subject Name Issuer Name Issued Certificate Certificate Fingerprints Public Ke..
- Total
- Today
- Yesterday
- Helm Chart
- Jenkinsfile
- socket
- openstacksdk
- ansible
- hashicorp boundary
- minikube
- jenkins
- GateKeeper
- macvlan
- K3S
- kata container
- DevSecOps
- kubernetes install
- ceph
- wsl2
- mattermost
- minio
- boundary ssh
- crashloopbackoff
- nginx-ingress
- metallb
- kubernetes
- aquasecurity
- vmware openstack
- open policy agent
- openstack backup
- OpenStack
- azure policy
- Terraform
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |