SK shieldus Rookies 16기
          
[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(31일차) - 수정 중
          
            by Challenge programmers
            2023. 12. 6.
            
          
        
       
      
                    
            오늘 학습 주제
1. Amazon RDS(Relational Database Service)
2. Amazon S3(Simple Storage Service)
3. 동일 출처 정책 & 교차 출처 리소스 공유(CORS)
4. 웹 서버 구축
 
 
 
 
Amazon RDS(Relational Database Service)
- Amazon RDS -
| Amazon RDS | 
| 정의 | 아마존 웹 서비스(AWS)에서 제공하는 완전 관리형 관계형 데이터베이스 서비스 | 
| 특징 | 
데이터베이스 엔진: 아마존 RDS는 MySQL, PostgreSQL, MariaDB, Oracle, Microsoft SQL Server와 같은여러 인기 있는 관계형 데이터베이스 엔진을 지원하여 응용 프로그램에 가장 적합한 데이터베이스 엔진을
 선택 가능
 
 
자동화된 관리: 데이터베이스 관리 작업을 자동화하여 사용자가 데이터베이스 설정, 패치,백업 및 복원 등을쉽게 수행 가능하여 운영 부담을 줄이고 안정적인 환경을 제공
 
 
자동 백업 및 복원: 자동으로 일괄적인 백업을 수행하고, 필요할 경우 이를 사용하여 데이터를 복원 가능
 
확장성: 데이터베이스 인스턴스 크기를 조정하거나 여러 가용 영역에 복제본을 생성하여 시스템을 쉽게 확장
 
보안: 데이터베이스 인스턴스에 대한 보안을 강화하기 위한 다양한 기능을 제공하며VPC (Virtual Private Cloud) 내에서 실행, 데이터베이스 암호화, 네트워크 액세스 제어 등이 포함
 
 
성능 모니터링 및 경고: 데이터베이스 성능을 모니터링하고 사용자가 정의한 임계값을 초과하는 경우경고를 발생시켜 성능 문제를 식별하고 해결할 수 있도록 지원
 | 
 
 
 
 
Amazon S3(Simple storage Service)
- Amazon S3(Simple Storage Service) -
| Amazon S3 | 
| 정의 | 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체(=파일) 스토리지 서비스 | 
| 특징 | 
데이터 저장 및 관리: S3를 사용하면 거대한 양의 데이터를 안전하게 저장하고 관리 가능하며데이터는 객체로 저장되고, 각 객체는 고유한 키(유니크한 식별자)로 식별
 
 
확장 가능성: 높은 확장성을 제공하며 필요에 따라 데이터 저장 용량을 쉽게 조절 가능
 
데이터 가용성 및 내구성: 여러 데이터 센터에 걸쳐 데이터를 복제하여 가용성을 높이고 내구성을 확보하여데이터의 손실을 방지하고 안전한 데이터 보관을 보장
 
 
버킷 및 객체: 데이터는 S3에서 "버킷"이라는 저장 컨테이너에 저장하고각각의 객체는 고유한 키를 갖고 있으며, 이 키를 사용하여 데이터에 액세스 가능
 
 
데이터 전송 및 보안: 데이터를 안전하게 전송하고 저장하기 위해 SSL을 사용하며, 데이터 암호화,버킷 정책, 액세스 제어 등 다양한 보안 기능을 제공
 
 
라이프사이클 관리: S3를 사용하면 데이터에 대한 라이프사이클 규칙을 정의하여 자동으로 데이터를 이동하거나 삭제 가능하여 비용을 최적화하고 데이터 관리를 향상시키는 데 도움
 
버전 관리: 객체의 버전을 관리하고 이전 버전으로 복원할 수 있는 기능을 제공하여데이터의 변경 이력을 추적하고 복구할 수 있도록 도움
 | 
 
 
 
 
동일 출처 정책 & 교차 출처 리소스 공유
- 동일 출처 정책(SOP) -
| 동일 출처 정책 | 
| 정의 | 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호 작용할 수 있는 방법을 제한하는 중요한 보안 메커니즘
 
 출처: 프로토콜(예: http, https), 호스트(도메인), 포트로 정의
 | 
| 특징 | 
스크립트 실행 제한: 웹 페이지의 스크립트가 다른 출처의 스크립트에 접근하는 것을 방지
 
쿠키 보안: 쿠키는 동일한 출처에서만 전송되도록 제한되며 이를 통해 다른 출처의 스크립트에서 사용자의 쿠키에 액세스하는 것을 방지
 
 
XMLHttpRequest 제한: XMLHttpRequest와 같은 웹 리소스를 비동기적으로 로드하는 객체의 경우, 동일 출처 정책이 적용되며 이를 통해 다른 출처에서의 리소스 로딩을 방지하거나 제한 가능
 | 
 
동일 출처 정책은 웹 보안을 강화하는 중요한 도구이지만 때로는 웹 개발자가 원하는 리소스 교환을
 어렵게 만들 수 있기 때문에, 이를 우회하는 기술이나 메커니즘도 일부 존재 
 
 
- 교차 출처 리소스 공유(CORS) -
| 교차 출처 리소스 공유 | 
| 정의 | 동일 출처 정책(SOP)을 우회하여 웹 페이지에서 다른 출처의 리소스에 안전하게 접근할 수 있게 해주는 메커니즘
 
 | 
| 특징 | 
HTTP 헤더를 이용한 허용 제어:
 
서버는 HTTP 응답 헤더 중 Access-Control-Allow-Origin을 통해 어떤 출처로부터의 요청을 허용할지명시하며, 허용할 출처는 단일 출처일 수도 있고, 여러 출처일 수도 있음
사전 요청(Pre-flight Request):
 
일부 복잡한 요청에 대한 사전 검사를 위해 브라우저는 실제 요청을 보내기 전에 사전 요청을 보내며사전 요청은 HTTP 메서드가 OPTIONS인 요청으로, 서버가 어떤 메서드와 헤더를 허용하는지를 확인
HTTP 메서드의 안전성과 허용:
 
CORS는 안전한 메서드(GET, HEAD, OPTIONS)에 대해서는 추가 검사 없이 허용하고, 비안전한 메서드(POST, PUT, DELETE 등)에 대해서는 사전 요청을 통해 서버의 허용 여부를 확인
쿠키와 자격 증명(Credentials) 관리:
 
기본적으로 브라우저는 CORS 요청에는 쿠키와 자격 증명 정보를 포함시키지 않지만서버에서 명시적으로 허용하도록 설정 가능
클라이언트 측 설정:
 
클라이언트에서는 XMLHttpRequest 또는 Fetch API를 사용할 때 특정 헤더나 속성을 설정하여 CORS 동작을 조절 가능
 | 
 
CORS는 웹 애플리케이션이 다른 도메인의 API나 리소스에 안전하게 접근할 수 있도록 하면서도,
 보안상의 이슈를 방지하고 안전한 통신을 유지