일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MIG
- Google Cloud Platform
- github
- Uptime Check
- cicd
- interconnect
- cloud function
- Python
- 우테캠
- vm
- VAGRANT
- cloud
- kubernetes
- Java
- 후기
- cloud armor
- 자격증
- devops
- terraform
- vpc peering
- IAM
- Terraform Cloud
- AWS
- pub/sub
- gcp
- Clean Code
- CentOS
- docker
- direnv
- 보안 규칙
- Today
- Total
목록Public Cloud (49)
EMD Blog
[GCP] Cloud Armor - 보안 정책과 규칙(1)안녕하세요. Emadam입니다.이번 포스팅에서는 GCP Console 및 gcloud를 사용해 Cloud Armor를 구성해보면서 직접 외부 공격을 방어해보는 과정을 다뤄보겠습니다.사전 설정Cloud Armor를 테스트하기 위해 전역 외부 어플리케이션 부하 분산기를 구성해보겠습니다. 구성할 리소스는 다음과 같습니다.웹서버가 설치된 VM Instance전역 외부 어플리케이션 부하 분산기위 리소스 생성 시 비용이 발생합니다. 주의해주세요.사전 설정은 gcloud를 사용해 진행합니다. 혹시 gcloud가 설치되어 있지 않다면 아래 문서를 참고해서 설치해주세요.gcloud CLI 설치 가이드gcloud CLI가 설치되었다면 계정 설정 및 Project 설..
안녕하세요. Emadam입니다. 이번 포스팅에서는 Cloud Armor를 도입하면서 검토하고 공부했던 내용을 공유하려 합니다. 최근에 신규로 오픈한 시스템이 공격을 받았던 일이 있었습니다. 공격자는 시스템 내 PHP 파일을 스캐닝하고 SQL 인젝션 공격, 원격 코드 실행 등을 시도했습니다. 다행히 시스템에 시큐어 코딩이 적용되어 있어 큰 피해는 입지 않았지만, 공격 빈도가 잦고 공격 방식의 예측 불가능성을 고려하여 보안 강화가 시급하다는 판단에 도달했고 Cloud Armor를 도입하기로 결정하였습니다.Cloud Armor란? Cloud Armor는 DDoS 공격, 크로스 사이트 스크립팅(XSS), SQL Injection과 같은 여러 공격으로부터 어플리케이션을 보호하는 GCP의 보안 서비스입니다. L3 ..
안녕하세요. Emadam입니다. 얼마 전 회사에서 저희 팀에서 랜섬웨어가 걸리는 사태가 발생했습니다.랜섬웨어에 걸린 PC는 구글 드라이브를 네트워크로 연결해서 사용하고 있었기 때문에 해당 PC에 연결되어 있던 모든 공유 드라이브의 접근 가능한 파일들은 전부 암호화되어 버렸습니다. 이렇게 랜섬웨어로 인해 구글 드라이브의 파일이 암호화되는 경우 크게 두 가지 방식으로 암호화가 될 수 있습니다.모든 파일을 삭제 후 암호화된 파일을 삽입파일을 삭제하지 않고 암호화위에서 어떤 방식으로 암호화가 되었든 복구는 가능합니다. 전자의 경우 삭제된 파일이 휴지통에 있기 때문에 휴지통에서 복구하면 되고 후자는 파일 버전을 이전 버전으로 되돌리면 됩니다.또한 구글 드라이브는 검색이 편리하게 되어 있기 때문에 파일 수가 그렇..
안녕하세요. Emadam입니다. 이번 포스팅에서는 AWS 자격증 중 하나인 AWS Certified Solutions Architect - Professional(SAP)을 취득해서 간단하게 후기와 팁을 공유해드리려 합니다. AWS Certified Solutions Architect - Professional (SAP) 자격증이란?이 자격증은 AWS 리소스를 활용한 복잡한 솔루션에 대한 전문지식을 검증합니다. 여기에는 보안, 비용 및 성능 최적화, 자동화 등의 내용이 포함되어 있습니다.구체적으로 어떤 내용들이 출제되는지 궁금하시다면 아래의 시험 안내서를 참고해주세요.- AWS Certified Solutions Architect - Professional(SAP-C02) 시험 안내서(위 시험 안내서..
안녕하세요. Emadam입니다. 이번 포스팅에서는 AWS 자격증 중 하나인 AWS Certified DevOps Engineer - Professional(DOP)을 취득해서 간단하게 후기와 팁을 공유해드리려 합니다. AWS Certified DevOps Engineer - Professional (DOP) 자격증이란?이 자격증은 분산 어플리케이션 프로비저닝, 운영, 관리에 대한 전문지식을 검증합니다. 이게 무슨 자격증인지는 어떤 내용들이 출제되는지 보시면 더 와닿으실 것이라 생각하기 때문에, 전략적인 목적이 아닌 공부를 목적으로 취득을 원하신다면 아래 문서를 꼭 읽고 자신이 원하는 내용을 담고 있는지 확인하시는 것을 추천드립니다.- AWS Certified DevOps Engineer - Profe..
OIDC란 Open ID Connect의 약자로 일종의 인증 프로토콜이다. 이와 관련된 문서들을 보면 매커니즘이 OAuth2.0과 매우 비슷하다는 느낌을 받을 수 있는데 이는 OIDC가 OAuth2.0을 기반으로 하기 때문이다. 자세한 설명은 아래 문서 참고. https://www.samsungsds.com/kr/insights/oidc.html Github Actions에서 AWS에 접근하고자 할 때 AWS인증과 권한을 필요로 한다. 예를 들면 파이프라인에서 S3에 파일을 업로드 할 때나 ECR Private Repository Push 할 때가 그렇다. 이때 Github Actions에서는 다음처럼 인증을 수행할 수 있다. (repository) - name: Configure AWS Credenti..
Virtual Host를 위해 CloudFront 원본 요청 헤더에 호스트를 포함시키려면 레거시 캐시 설정에서 호스트 헤더 설정이 필요함. https://aws.amazon.com/ko/premiumsupport/knowledge-center/configure-cloudfront-to-forward-headers/ 원본 요청 헤더에 호스트를 포함 시켜서 ALB에 요청 시 ALB는 어떻게 호스트를 IIS로 전달할 것인지 고민 필요. 다음과 같은 방법을 조사해봐야함. ALB에 호스트기반 라우팅 설정 후 CloudFront의 헤더 호스트를 읽어 적절하게 라우팅 ALB에서도 요청 헤더에 호스트 정보를 담아 전달 1번의 경우 가능은 한 것으로 보임. 하지만 결국 Host에 따라 적절하게 콘텐츠를 반환해주는 것은 ..
EKS 사용시 적용할 수 있는 권한체계는 2가지가 있다. 하나는 Cluster에 적용하는 리소스 기반 정책과 IAM Role Service Account(IRSA)를 사용해 Cluster 내 Service Account에 IAM Role을 연동하는 OIDC 방식이 존재한다. Cluster에 적용해서 AWS 리소스에 접근하든, Service Account로 접근하든 AWS 리소스에 액세스 하는 것은 마찬가지인데 왜 둘이 나눠져 있는 것인지 의문이 들어 확인해보고 정리한다. EKS cluster를 생성할 때, Cluster가 AWS에 액세스 할 수 있도록 Cluster에 role을 지정할 수 있다. 아래 문서를 보면 Cluster 생성 시 AmazonEKSClusterPolicy 정책이 포함된 role을 지..
개요 온프레미스와 클라우드 간의 전용선을 구축하는 것은 상당히 많은 시간이 소요된다. 신규 증설 같은 경우는 최소 2주 이상은 소요되는 경우가 많은데, 이 때문에 시간을 넉넉하게 잡고 전용선 증설을 하는 것이 좋다. 하지만 전용선 증설에는 각 부서간의 합의와 업체간의 계약이 이루어져야 하기 때문에 시간을 맞추지 못해 곤란해지는 상황이 종종 발생하기도 한다. 만약 시간을 제대로 맞추지 못해 전용선 증설 일정이 틀어질 것 같다면 어떻게 해야할까? VPN 같은 것을 사용할 수도 있고 사내 정책에 따라 임시로 공인 IP를 매핑해 작업을 이어나갈 수 있을 것이다. 하지만 이런 상황도 힘들다고 하면 다른 전용선을 빌려쓰는 방법도 고려해볼 수 있다. 전용선을 빌려쓰는 방법은 두 가지를 고려할 수 있다. 1. 신규 V..
Private하게 구성해놓은 RDS를 외부에서 접근하고 싶을 때가 있다. 다른 DBMS는 SSH 터널링 옵션을 사용해서 쉽게 붙을 수 있지만 SQL Server는 직접 터널을 열어줘야 한다고 한다. RDS 구성 RDS는 따로 구성이 필요하지는 않지만 외부 액세스 허용을 Off로 해주는 것과 Bastion host로 부터 접근 가능하도록 방화벽은 설정해주어야 한다. Bastion Host 구성 제일 최저 사양의 VM을 RDS와 같은 VPC에 생성한다. 이때 Bastion Host는 외부에서도 접근 가능해야하기 때문에 Public 서브넷에 구성해야하며 외부 IP를 부여해주어야 한다. module "ec2_instance_bastion" { source = "terraform-aws-modules/ec2-in..