일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크롤링
- Resource
- sonarqube
- Kubernetes
- gitlab cd
- opentelemetry
- CD
- ECR
- GitLab
- scraping
- CI
- 스크레이핑
- Service Mesh
- Grafana
- CI/CD
- 웹 해킹
- Prometheus
- DevOps
- Crawling
- 웹 취약점
- eks
- argocd
- linkerd
- Monitoring
- 모의해킹
- deploy
- docker
- helm
- gitlab ci
- Jenkins
- Today
- Total
목록Security (12)
ㅡ.ㅡ
EKS는 클러스터 생성자의 IAM에 API Server를 통해 자원에 접근 할 수 있는 system:master 권한(Role)을 자동으로 부여합니다.(실제 계정과 어떻게 연결되어 있는지는 안보이네요.... 찾으면 추가해놓겠슴다) 타 Iam User/Role로 API Server를 통해 자원에 접근 시 정상적인 인증 단계(kube config)가 통과되어도 리소스에 접근할 권한이 없어 에러가 발생합니다. Kubernetes 공식 문서를 확인해보면 최상위 권한인 ClusterRole(cluster-admin)을 통해 클러스터와 모든 네임스페이스의 리소스에 접근할 수 잇는걸 확인할 수 있습니다. Role RoleBinding : Role이 생성된 네임스페이스 내 리소스만 접근 가능 ClusterRole Cl..
1. Privileged 가장 넓은 수준의 권한을 제공하는 정책으로 알려진 권한 상승을 허용 2. Baseline 알려진 권한 상승을 방지하는 최소 제한 정책으로 지정된 구성만을 허용 2-1. HostProcess Windows Pod는 Windows노드에 엑세스를 가능하게하는 HostProcess 컨테이너를 실행할수 있는 기능을 기본적으로 제공하여 노드에 엑세스를 가능함 Restricted Fields spec.securityContext.windowsOptions.hostProcess spec.containers[*].securityContext.windowsOptions.hostProcess spec.initContainers[*].securityContext.windowsOptions.hostPr..
프로세스 ps -aux(프로세스 확인 명령어) lsof -p (프로세스가 열고 있는 파일 확인 명령어) lsof -i: (특정 포트를 사용하고 있는 프로세스 확인) 포트 promisc모드인 이더넷 인터페이스 확인 ip link | grep PROMISC 서버에서 열린 포트 확인 netstat -anutlp 로그 로그인 기록 lastlog 로그인 실패 기록 /var/log/btmp lastb 원격 로그인 로그 /var/log/secure 최근에 접속한 기록 /var/log/wtmp last 파일 확인 소유자가 root이고 setuid 설정된 파일 확인 체크 find / -uid 0 -perm 4000 숨김파일 목록 확인(.으로 시작하는 파일) find / -name ".[^.+]*" 10분내에 상태변경이 ..
Jenkinsfile jenkins-agent를 통해 dind 방식을 사용하여 trivy 이미지를 컨테이너로 생성후 작업이 완료되면 삭제하는 pipeline이다. 추가로 docker-workflow 플러그인을 통해 docker image build시 latest 태그값을 사용해 이미지를 빌드하는 것을 볼 확인할 수 있다. pipeline { agent any stages { stage("Docker Image Scan") { steps { script { sh "docker images" sh """ docker run --rm \\ --network host \\ -v /var/run/docker.sock:/var/run/docker.sock \\ -v $HOME/Library/Caches:/root/..
SonaqrQube 토큰 생성 Administration > security > tokens Jenkins SonarQube 설정 시스템 설정 > SonarQube servers 등록 Global Tool Configuration > SonarQube Scanner 등록 Gradle 및 Jenkinsfile 수정 Sonarqube 내 프로젝트를 생성하다보면 아래 이미지와 같이 설정하는 방법을 알려준다. withSonarQubeEnv()부분에 Jenkins에서 설정한 Sonarqube서버 이름 입력 참고사항 jenkins Agent에서 Sonarqube scanner사용 시 베이스 이미지가 java 11버전을 사용해야되며 Jenkins Chart의 기본 값으로 사용 시 데몬이 죽어 리소스를 올려 해결됨
Helm Chart 다운로드 helm repo add sonarqube https://SonarSource.github.io/helm-chart-sonarqube helm repo update helm pull sonarqube/sonarqube --untar kubectl create namespace sonarqube helm upgrade --install sonarqube -f Chart_path/values.yaml Chart_path -n sonarqube values.yaml 수정(Ingress 설정) Ingress 생성 Promethues Exporter 비활성화 볼륨 생성(Delete 정책) 비밀번호 설정(admin계정) ## 1 64 ingress: 65 enabled: true 66 ..
※ 데이터 평문 전송 웹 상의 데이터 통신은 대부분 텍스트 기반으로 이루어지기 때문에 로그인 또는 실명인증과 같은 민감한 데이터(개인 식별번호, 계정정보 등)가 평문으로 송수신 될 경우 공격자가 도청(스니핑)을 다른 사용자의 민감한 데이터를 획득 할 수 있는 취약점이다. ※ 실습 로그인 페이지에서 ID와 PW를 입력 후 로그인하는 과정의 패킷을 캡처해서 확인한 결과 암호화 되지않은 HTTP프로토콜을 사용해서 평문으로 데이터가 전송 되는 것을 볼 수 있다. 피들러 패킷 캡처 도구를 통해 로그인 페이지에서 doLogin페이지로 데이터를 평문으로 전송 후 검증하여 /bank/main 페이지로 이동하는 로그인 과정을 확인할 수 있다. ▼ 와이어 샤크 패킷 캡처 도구를 통해 로그인 페이지에서 doLogin페이지로..
※ XSS 사용자의 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼(URL 파라미터 값 또는 게시판 등)에 악의적인 스크립트를 삽입하여 사용자의 세션/쿠키 탈취, 악성코드 유포지/피싱사이트로 이동시키는 취약점으로 주로 여러 사용자가 보게 되는 게시판에 악성 스크립트가 담긴 글을 올리는 형태나 스크립트가 삽입된 URL 클릭을 유도하여 스크립트를 실행하게 한다. ※ 실습 검색 폼에 222를 입력 후 GO버튼을 클릭한 모습으로 222에 대한 결과가 없다는것을 볼 수 있다. 해당 입력 폼에 XSS를 출력하는 알람창을 띄우는 스크립트를 삽입 후 실행한 결과 스크립트가 실행된것을 볼 수 있다. ▼ ▼ ※ 대응방안 사용자가 입력한 문자열에서〈, 〉, &, ", ", (, )등을 ht..
불 필요한 Method지원 일반적으로 사용하는 HTTP의 메소드 중 GET, POST 메소드 이외의 웹 서버 내에 컨텐츠를 생성하는 PUT, 컨텐츠를 삭제하는 DELETE, 관리 및 디버깅에 사용되는 TRACE 등의 불필요한 메소드를 허용하는 취약점이다. ※ 실습 웹 프록시 도구를 사용해서 demo.testfire.net 사이트의 HTTP METHOD를 점검한 결과 GET, POST외에 다양한 메소드가 허용된것을 확인할 수 있다. ▼ ※ 대응 방안 아파치 - httpd.conf(제한할 메소드 정의) 톰캣 - web.xml Order allow,deny Allow from all /* HEAD DELETE PUT OPTIONS