Cloud Infra Architecture (AWS)/AWS Build 86

[AWS WAF] AWS WAF XXE 방어 정책 만들기 [T]

XXE 공격이란?XML 문서의 외부 엔티티를 이용해 서버에서 민감함 파일을 읽거나 서버에서 명령을 실행하는 XML 파싱 관련 보안 취약점XML 파싱 관련 성공시 내부 파일 시스템 접근이나 원격 서버와 통신하도록 할 수 있음 AWS WAF에서 XXE 방어 정책 만들기1) AWS Console에서 WAF 접속2) 왼측 Web ACLs -> 만든 ACL 선택3) Rules -> Add rules -> Add my own rules and rule groups4) Rule builder -> 이름 적고 -> Regular rule"""Statement 1"""5) If a request matches the statement5-1) Inspect = URI path5-2) Match type = Starts w..

[AWS WAF] AWS WAF Command Injection 방어 정책 만들기 [T]

Command Injection 이란?공격자가 어플의 취약점을 악용하여 시스템 명령을 임의로 실행하는 공격서버 운영체제 명령을 통해 권한을 상승하거나 민감한 정보에 접근 가능 AWS WAF에서 Command Injection 공격 방어 정책 만들기1) AWS Console에서 WAF 접속2) 왼측 Web ACLs -> 만든 ACL 선택3) Rules -> Add rules -> Add my own rules and rule groups4) Rule builder -> 이름 적고 -> Regular rule"""Statement 1"""5) if a request matches all the statement (AND)5-1) Inspect = URL path5-2) Match type = Starts w..

[AWS WAF] AWS WAF Stored (XSS) 방어 정책 만들기 [T]

Stored XSS 공격이란?악성 스크립트가 웹 애플리케이션의 DB에 저장되며, 이를 읽는 사용자의 브라우저에서 실행되는 공격공격자가 삽입한 악성 스크립트가 서버에 저장되기 때문에 여러 사용자가 피해를 입을 수 있음주로 댓글, 프로필, 게시글 작성 등 해당 저장되는 기능을 악용 AWS WAF Stored XSS 방어 정책 설정1) AWS Console -> WAF -> WebACLs -> 만든 ACL 선택2) Rules -> Add rules -> Add my own rules and rule gorups3) Rule bulider -> 이름 작성 -> Regular rule4) matches the statement -> Body -> Contains XSS injection attacks4-1) Co..

[AWS WAF] AWS WAF Cross Site Scripting(XSS) 방어 정책 만들기 [T]

Cross Site Scripting (XSS) 공격이란?악성 스크립트를 사용자 브라우저에서 실행시키는 공격 기법공격자는 사용자가 웹사이트를 방문할 때 브라우저에서 악성 코드를 실행하게 하여, 쿠키, 세션 토큰, 민감한 정보를 탈취하거나 사용자 권한으로 악의적인 작업을 수행 AWS WAF 해당 방어 설정 방법1) AWS Console에서 WAF 접속2) 왼측 Web ACLs -> 만든 ACL 선택3) Rules -> Add rules -> Add my own rules and rule groups4) Rulte builder -> 이름 적고 -> Regular rule5) if a request matches the statement5-1) Query string -> Contains XSS inject..

[AWS WAF] AWS WAF SQL Injection 정책 만들기 [T]

SQL Injection 공격이란?공격자가 웹서버의 중요 정보를 탈취하기 위하여 가장 자주 사용하는 공격 방법사용자의 입력을 데이터베이스의 쿼리에 반영되도록 구성된 시스템의 취약점을 이용한 공격즉, Admin이라는 계정의 비밀번호를 0000으로 변경 쿼리 보내기 사전 조건은 미리 WAF 깡통(규칙 없는)을 생성한 곳에서 진행한다.1) AWS WAF Console -> 왼쪽의 Web ACLs -> 생성한 WAF 선택2) 상단에 Rules -> Add rules -> Add managed rules and rule groups3) Rule type : Rule builder -> Name -> Regular rule4) If a request : matches the statement5) Inspect : ..

[AWS KMS] AWS CLI로 KMS 자체 암호화하기 [T]

1) 비밀 파일 생성echo "New secret text" > NewSecretFile.txt #비밀 파일 생성 2) CMK로 암호화aws kms encrypt --key-id alias/ImportedCMK --plaintext fileb://NewSecretFile.txt --encryption-context project=kmsworkshop --output text --query CiphertextBlob | base64 --decode > NewSecretsEncryptedFile.txt#CMK로 암호화하고 복호화 작업에서 제공해야 할 암호화 컨텍스트 사용cat NewSecretsEncryptedFile.txt #암호화 성공 3) 복호화aws kms decrypt --ciphertext-blo..

[AWS KMS] Encyption SDK 사용하여 봉투 암호화하기 [T]

Policy -> KMS -> 다음2) Write(Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintxt)3) Tagging (All tagging actions)4) Resources All 선택 -> " data-og-host="seongduck.tistory.com" data-og-source-url="https://seongduck.tistory.com/384" data-og-url="https://seongduck.tistory.com/384" data-og-image="https://scrap.kakaocdn.net/dn/bWYR9r/hyXpxMXgDh/8V2cI22s3VVoUXEw5tnpG1/img.png?width=800&hei..

[AWS KMS] AWS CLI로 클라이언트 측 암호화하기 [T]

해당 작업을 진행하려면 사용할 EC2 권한에 다음을 추가해야 한다.1) IAM -> Policy -> KMS -> 다음2) Write(Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintxt)3) Tagging (All tagging actions)4) Resources All 선택 -> 이름 생성 후 Create policy1) IAM -> Roles -> EC2에 부착되어 있는 Roles 선택2) 위에서 만든 정책을 넣어준다.1) 암호화할 대상 만들기sudo echo "암호화할 대상 데이터" > samplesecret.txt 2) DataKey 생성하기AWS KMS에 CMK를 참조하는 데이터 키를 생성하도록 요청 (CMK는 데이터 키를 암호..

[AWS KMS] AWS CLI로 외부 키를 AWS KMS로 생성하기 [T]

순서는 다음과 같다.AWS KMS에 빈 KMS 키를 생성 후, 외부 키를 해당 KMS에 채운다.외부 키를 가져오기위해 래핑 수행OpenSSL 라이브러리로 키 구성요소 생성하기API를 통해 빈 KMS 키로 가져오기 외부 키가 있는 경우는 바로 진행하면 되고, 없을 때를 가정하여 임의로 만들어서 진행한다.항상 진행은 EC2 CLI를 통해 진행한다. 우선 해당을 실행하려면 몇가지 IAM Role 및 Policy가 필요하다.1) IAM -> Policies -> Create Policy2) KMS -> Write(ImportKeyMaterial) -> ALL Resources3) 이름 작성 -> Create Policy1) IAM -> EC2에 붙여놓은 IAM Roles 클릭2) Add Permissions -..