일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SMTP
- IDS
- k8s
- EC2
- 7계층
- 침입차단시스템
- 3way handshaking
- 네트워크
- ssh
- 브리지
- kubernetes
- Telnet
- SQS
- 라우터
- docker
- ICMP
- 스위치
- ELB
- AI스쿨
- tcp
- AWS
- 프로토콜
- IPS
- 보안관제
- C#
- Queue
- Protocol
- english
- 침입탐지시스템
- Storage Gateway
- Today
- Total
목록분류 전체보기 (81)
Devsecops
VPC Sharing - 여러 AWS 계정이 Amazon EC2 인스턴스, Amazon Relational Database Service(RDS) 데이터베이스, Amazon Redshift 클러스터 및 AWS Lambda 함수와 같은 애플리케이션 리소스를 중앙에서 관리되는 공유 가상 프라이빗 클라우드(VPC)에 생성할 수 있다 -AWS Organizations에서 동일한 조직에 있는 다른 계정 or 조직 단위와만 서브넷을 공유할 수 있다(VPC자체를 공유할 수 없다) https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html
SQS 활용 ASG확장 사례 - SQS 의 메세지 양을 Cloud Watch 지표를 통해 확인후 CloudWatch Alarm을 통하여 ASG 확장을 함 (대기 메세지가 너무 많을 경우 처리량을 높이기 위함) 데이터를 손실 방지 - 특정 Application을 통하여 DB에 Transaction을 수행할 때 너무 많은 처리를 요구할 경우 손실이 일어난다 - 이 때 SQS에 Applicaton의 Transaction을 저장하므로써 손실을 방지한다(일종의 Buffer역할) - 이를 활용하여 DB Transation을 수행하는것 뿐만이 아닌 Applicaton끼리 사용할 수 있다 (MicroService를 구현하는데 많은 도움이 된다)
SQS - 완전 관리된 서비스, Application을 분리하는데 사용 - 무제한 처리, Queue에 무제한 메세지 보관 가능 - 낮은 지연성 - 메시지당 256KB의 크기 제한을 가짐 - 중복 메세지 가능 - 순서가 없다 - 별도의 대기열을 사용하여 작업의 우선순위를 지정할 수 있다 메시지 생산 - SDK(SendMessage API)를 통해 SQS로 메시지를 보낸다 - 소비자가 메시지를 삭제(DeleteMessage API)할 때 까지 계속 SQS에 저장된다 메시지를 삭제하지 않으면 다른 소비지가 계속해서 Poll할 수 있게 된다 - 메시지 보관은 기본 4일 최대 14일 까지 보관된다 - 한번에 10개의 메시지 까지 Poll 할 수 있다( 받는 입장에서 한번에 10개의 메시지를 받을 수 있다) 보안 ..
CloudWatch - AWS의 모든 서비스에 관한 지표를 제공 - 지표들은 가변성이 있고 모니터링한다(CPU 사용량 등) - 지표들은 namespace(CloudWatch 지표의 컨테이너) 에 속한다 - 지표당 최대 10개의 Dimension(지표의 속성[인스턴스 ID, 환경등])을 가진다 - 지표는 타임 스탬프를 가진다 - 지표를 통해서 CloudWatch 대시보드를 만들 수 있다 - CloudWatch Custom 지표를 만들수 있다. CloudWatch Metric Stream - 지속적으로 CloudWatch의 로그를 특정 목적지로 실시간, 낮은 지연성을 가지면서 보낼 수 있다. ex) Kinesis Data Firehose, 3자 서비스 제공자(Splunkm Datadog 등) CloudWat..
DataSync - 많은 양의 데이터를 보내거나 가져올 때 사용(DX, 인터넷을 통하여 전송) - 온프레미스 AWS (Agent 필요 없음) - AWS AWS (Agent 필요 없음) - 동기화 가능 목록 - S3(Glacier tier를 포함하여 동기화 가능) - EFS - FSx - CloudWatch - CloudTrail - 복제 작업은 시간, 일간, 주간에 따라 일정을 정할 수 있다 - 파일 권한과 메타데이터(데이터를 설명하는 데이터)가 보존된다 - 하나의 Agent당 초당 10Gbps의 속도를 가질 수 있고 대역폭 제한 가능 전송 과정 온프레미스 AWS - NFS, SMB 서버에서 AWS DataSync Agent로 NFS, SMB 프로토콜을 이용하여 전송 후 TLS를 통하여 AWS내에 있는 ..
S3 File Gateway - NFS, SMB 프로토콜을 통하여 S3버킷과 연결 - File Gateway에 가장 최신 사용자 데이터를 캐시한다 - S3로 파일을 보낼 때 바로 Standard, IA, One Zone, Intelligent Tiering으로 보낼 수 있다 - 바로 Glacier Tier로는 보낼 수 없고 Lifecycle Policy를 사용하여 이동할 수 있다 - 각각의 File Gateway에 대한 IAM Role를 이용하여 S3 접근제어 수행 - SMB 프로토콜은 사용자 인증을 위해 AD와 통합한다 전송 과정 - Application 에서 NFS, SMB를 토하여 S3 File gateway로 보내고 HTTPS를 통하여 Standard, IA, One Zone, Intelligen..
Storage Gateway - 온프레미스와 Cloud 사이를 이어주는 다리 역할 사용 사례 - 재해복구 - 백업, 복구 - 온프레미스 캐시, 낮은 지연성을 가진 파일 접근 Storage Gateway 유형 - S3 File Gateway - FSx file Gateway - Volume Gateway - Tape Gateway
Grobal Accelerator - AWS 내부 네트워크를 통하여 Application으로 라우팅을 함 - Application에 2개의 애니캐스트 IP가 만들어짐 - 애니캐스트 IP는 직접적으로 엣지 로케이션으로 트래픽 전송 - 엣지 로케이션은 Application으로 트래픽 전송 - 낮은 지연성을 가진곳으로 라우팅 - Client Cache에 영향을 받지 않는다 - 빠른 리전 장애 조치 - Application에 대하여 Health Check 수행 - Application이 global 하게 있을 수 있도록 만듦 - 오직 2개의 IP만 화이트리스트에 등록 하면 된다 - AWS Shield로 DDoS 보호 - 특정 Application으로 라우팅 가능
Amazon Aurora - AWS 독점 기술(오픈 소스x, AWS 최적화) - Postgres, MySQL 처럼 사용할 수 있다 - 10GB ~ 128TB 로 자동 확장 - 최대 15개의 복제본 - 즉각적인 장애극복 - RDS보다 20% 더 비쌈 Aurora 고가용성, 읽기 확장 - 3개의 AZ를 거쳐서 6개의 복제본을 가짐 - Write 를 위해서 4개의 복제본 필요 - Read 를 위해서 3개의 복제본 필요 - PTP복제로 자가 회복 - 1개의 인스턴스에서 Write 수행(Master Instance) - 30초 이내로 Master Instance 장애극복 - 리전간 복제 가능 - CPU 사용량에 따라 읽기 복제본이 자동 확장 Aurora Serverless - 실제 사용량에 기반하여 확장 - 드물..
Relational Database Service - SQL 문법 사용 - 자동 패치 - 모니터링 - 지속적인 백업, 특정 시점으로 되돌릴 수 있음(백업은 EBS에 이루어짐) - 다중 AZ 가능 - 읽기 복제본 생성으로 읽기 수행역 향상 - Auto Scailing Type Postgres MySQL MariaDB Oracle Microsoft SQL Server Aurora Auto Scailing - RDS의 저장 용량을 자동으로 확장하는 기능 - 남은 용량을 확인하고 확장 - 최소, 최대 용량을 지정해야한다 - 남은 용량이 10%이하, 용량부족이 5분이상 지속, 변경 후 6시간 지나면 용량 수정 - 모든 RDS 지원 읽기 복제본 - 최대 5개의 복제본 생성이 가능하고, 동일 AZ, 다른 AZ, 다른..
Network Load Balancer - 4계층 Load Balancer - 초당 수천개의 요청을 처리할 수 있음 - ALB와 비교하여 매우 낮은 지연성을 가짐 - AZ당 1개의 고정 IP를 가짐(여려개의 IP를 가진 앱을 노출할 때 유리함) - 교차영역 로드밸런싱이 기본적으로 비활성화된다
Application Load Balancer - 7계층 Load Balancer - 여러 기기기에 로드 밸런싱( ex) 다운스트림 PC) - 여러 어플리케이션에 로드밸런싱( ex) Container) - HTTP/2 and WebSocket 지원 - Http - > Https 지원 - 교차영역 로드밸런싱이 기본적으로 활성화된다 - URL 기반 라우팅 - Hostname 기반 라우팅 - QuertString, Header 기반 라우팅 - Container, MicroService 이용시 적합(Container task가 요청받는 Port를 통해 로드밸런싱) - ECS에서 동적 포트로 리다이렉트 하는 포트 매핑 기능 - CLB는 애플리케이션당 CLB필요(Container, MicroService 에 적합하..
Elastic Load Balancer - AWS의 완전 관리 Load Balancer - 유지보수, 업데이트, 고 가용성보장 - 구성이 매우편함 - EC2, AGS, ACM,Cloud Watch, Route 53, WAF, Golbal Accelerator 등과 통합 - CLB, ALB, NLB, GLB 4종류 Load Balancer 조냊 Health Check - Port, Route로 검사(기본적으로 http 요청 /health 경로로 요청 - 200ok 응답시 정상으로 판단 - 내부, 외부에서 모두 사용 가능
Elastic Network Interface - 여러 사설 IP를 붙일 수 있다. - 사설 IP 하나당 1개의 탄력적 IP를 붙일 수 있다(여기서 탄력적 IP는 Public IP가 아님) - 하나의 Public 를 가진다 - 여러 보안그룹을 가질수 있다. - 하나의 MAC 주소를 가질 수 있다. - 인스턴스를 옮길 수 있다(인스턴스가 장애시 옮겨다니며 붙일 수 있다) - AZ을 옮겨다닐 수 없다.
Placement Group Cluster - 빠른 네트워크 - 하나가 오류나면 모든 인스턴스가 오류가 난다 - big data 처리, 매우 낮은 지연성이 필여한 작업, 높은 네트워크 처리량이 필요한 어플리케이션에 사용 Spread - 가용성을 높일 수 있다(다른 물리적인 하드웨어에 있다) - 동시 오류를 줄일 수 있다 - AZ당 7개의 인스턴스로 제한된다. - 어플리케이션이 고 가용성이 필요하거나, 장애로부터 민감할 경우 이용된다 Partition - AZ당 7개의 Partition로 제한된다. - 파티션 공유는 할 수 없다
EC2 구매 옵션 On-Demand 인스턴스 - 시간당 비용지불, 짧은 워크로드, 가격 예측 가능 - 가장 높은 요금제, 선불x - 오랜기간을 작업하기 위해서는 어울리지 않다. - 짧은 기간, 방해되지 없는 워크로드에 적합 - 물리적 위치를 알 수 없음 예약 인스턴스 - 긴 워크로드, 1 or 3년만 가능 - On-Demand 인스턴스 비교하여 최대 72% 가격이 싸다 - 구체적인 인스턴스 속성을 예약할 수 있다. (인스턴스 유형, 리전, 테넌시, 운영체제) - 선불,부분 선불, 후불도 가능 - 재판매 가능 - 테넌시 = 물리적 하드웨어에 분산되는 방식을 정의 = 전용 호스트, 전용 인스턴스 등의 설정을 의미 변환될 수 있는 예약 인스턴스 - 인스턴스 유형, 리전, 테넌시, 운영체제가 변경될 수 있고 최..
Security Group - 인바운드, 아웃바운드 트래픽 제어 - Allow 규칙만 포함(특정 포트, IP Deny는 없음, White List 방식) - 다른 Security Group을 Allow 규칙에 넣을 수 있다(특정 Security Group에 포함되면 트래픽 이동을 허용한다는 의미) - 상태 저장 기능(인바운드를 허용하면 아웃바운드는 검사하지 않음, 역도 마찬가지) - 여러 인스턴스에 적용가능 - EC2, Lambda등 적용 가능
Elastic Compute Cloud - Iaas(infrastructure as a Service) EC2 구성요소 - OS - CPU - RAM - EBS, EFS, EC2 Instance Store : 저장소 - Network Card - Security Group : 방화벽 역할, 상태저장 방식 - Bootstrap script : EC2 User Data EC2 User Data - 인스턴스가 처음 생성되고 시작할 때 수행되는 스트립트 - 시작시 업데이트, SW, 파일 등등을 업데이트 할 수 있다. - Root 권한으로 스트립트가 실행된다. EC2 인스턴스 유형 - 일반적인 목적 - 컴퓨팅 최적화 - 민감한 업무를 수행하며, Hige Performance를 요구하는 작업, 인스턴스는 배치 처리..
Identity and Access Management - 글로벌 서비스 - root계정은 기본적으로 만들어지며 공유되면 안된다 - user는 organization에 있거나 group에 있을 수 있다 - group에 user는 있을 수 있지만 다른 group는 있을 수 없다 - user는 여러 그룹에 속할 수 있다. - json 문서로 permission이 정의되며 최소 권한 정책을 준수해야 한다 IAM 정책은 상속된다 - 한 사람이 여러 group에 들어가서 여러 permission을 얻을 수 있다 Permission Structure { "Version": "2008-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Sid":..
정적분석 Bintext, String BinText는 이진 파일에서 문자열을 추출하는 데 사용할 수 있는 CLI 도구 파일에서 일반 텍스트, 유니코드 텍스트 및 ANSI 텍스트 추출 아이콘, 비트맵 및 대화 상자와 같은 리소스를 추출 Malware에 대한 파일을 분석할 때 BinText를 사용하여 파일의 목적 또는 기능에 대한 정보를 포함할 수 있는 파일에서 문자열을 추출할 수 있고, 이곳에는 파일 경로, 네트워크 주소, CLI 인수 및 파일 동작을 식별하는 데 사용할 수 있는 기타 데이터와 같은 정보가 포함된다 PEview PEview는 PE(Portable Executable) 파일의 구조와 리소스를 보는 데 사용할 수 있는 도구 헤더, 섹션, 가져오기, 내보내기 및 기타 데이터를 포함하여..
Hash table : key에 해당하는 hash 값 저장 hash map : key, hash값 둘다 저장 - 해시 충돌이 일어날 경우 추가로 삽입한다(연결리스트 스택 으로 구현) - hashcode 함수를 이용할경우 음수 반환으로 이루어지는 경우가 있다. 절댓값 계산이 필요함 public class Node { String key; int value; Node next; Node() { this.key = null; this.value = 0; this.next = null; } Node(String key, int value) { this.key = key; this.value = value; } } public class Act { Node[] map = { new Node(), new Node(..
- 연결리스트를 이용한 스택 구현 - 노드 중간 삽입, 삭제 구현 - 기본적으로 head에서 삽입, 삭제가 이루어지는 스택 형식 - 중간 삽입일 경우 2개의 data를 받고 쭉 내려가면서 첫번째 data와 일치하는 가장 가까운 노드의 뒤에 2번째 data를 삽입 하는 형식으로 작성함 - 삭제 같은 경우 1개의 data를 받고 쭉 내려가면서 가장 먼저 일치한 값을 삭제하는 형식으로 진행 함 public class _Node { int data; // 데이터 저장 변수 public _Node link; // 다른 노드를 참조할 링크 노드 public _Node() { this.data = 0; this.link = null; } public _Node(int data) {// 데이터를 입력할때 this.da..
1. FIFO구조 2. 원형 큐로 구현함 3. 가득 차면 큐가 비어있는 경우, 1개 부족하게 차면 가득 찬 경우로 정의한다(비어있는경우와 가득찬 경우를 구분하기 위함) - is full, is empty를 확실하게 정의를 하고 가야한다. public class Que { public static void main(String[] args) { Act ac = new Act(5); ac._insert(10); ac._insert(20); ac._insert(30); ac._insert(40); ac._delete(); ac._delete(); ac._delete(); ac._insert(50); ac._insert(30); ac._insert(40); ac._insert(50); ac._delete(); ..
Shodan Shodan은 구글과 같은 검색엔진과 달리 포트를 검색한 후 배너 정보로부터 메타데이터를 자져와 인터넷과 연결된 다양한 장비의 정보를 수집하고 결과를 보여준다. 작동 순서 사용자 검색 포트조사 결과 배너 캡쳐 배너 : 요청이 들어왔을 때 그에 대한 답으로 되돌려지는 정보 캡쳐된 배너 색인화 결과 출력 AbuseIPDB AbuseIPDB는 인터넷상에서 해커, 스패머 및 악의적인 활동의 확산을 방지하기 위한 프로젝트 웹마스터, 시스템 관리자 및 기타 이해 당사자가 온라인에서 악의적인 활동과 관련된 IP 주소를 보고하고 찾을 수 있도록 중앙 블랙리스트를 제공한다. GrayHatWarefare 클라우드 저장 서비스 검색
보안관제란? 전자문서·전자기록물 또는 정보통신망을 대상으로 하는 사이버공격 정보를 실시간 수집·분석·전파하는 일련의 활동 보안관제 원칙 무중단의 원칙 보안관제센터를 운영하는 기관의 장은 보안관제 업무를 24시간 중단 없이 수행하여야 하며 이를 위한 교대근무 체계를 구축·운영하여야 한다. 다만, 침해사고대응센터의 경우 보안관제 대상기관의 범위와 중요성 및 보안관제센터의 규모 등을 고려하여 당해 기관의 장이 인정하는 경우에는 그러하지 아니할 수 있다. 전문성의 원칙 ① 교육(행정)기관의 장은 보안관제 업무를 수행하기 위하여 필요한 전문 인력과 시설을 갖추어야 한다. ② 교육(행정)기관의 장이 제1항의 규정에 따라 외부기관 또는 업체의 전문 인력을 활용할 경우에는 보안관제 업무의 책임 있는 수행과 보안관리 등..
SQL Slammer Worm 이란? PC 웜의 일종으로 한국 2003년도 1/25 인터넷 대란을 일으킨 범인 감염 경로 SQL Server 2000의 MS DB 패키지를 통해 침투 전파 경로 PC에서 자체 실행되어 감염시킬 다른 PC를 찾고 무작위로 선정된 다른 PC는 감염된 PC에 의해 UDP 공격을 받음 위와 같은 방식으로 취약한 SQL Server 2000 패키지를 사용하던 PC끼리 서로 감염시키며 확산됨 공격 분석 헤더를 포함한 404 byte로 구성됨 UDP 패킷 생성, 무작위 IP 주소로 1초에 1MB 크기의 패킷을 보내는 방식의 DOS 공격을 KT 혜화전화국 DNS Server에 보내 전국 인터넷을 마비시킴 이 패킷은 한 번 보내면 무한 루프를 돌아 Server가 종료될 때까지..
누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램등을 훼손, 멸실, 변경, 위조하거나 그 운용을 방해할 수 있는 프로그램(악의적은 목적을 가진 소프트웨어) 유형 바이러스 프로그램을 통해 감염되는 악성 소프트웨어 숙주가 없으면 다른 곳으로 퍼지지 않음, 오래된(구식) 악성코드로 분류됨 웜 PC의 취약점을 찾아 네트워크를 통해 스스로 감염되는 악성 소프트웨어 트로이목마 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성코드로 동작 자가 복제능력이 없는 악성 소프트웨어 애드웨어 PC 사용시 자동적으로 광고가 표시되게 하는 악성 소프트웨어(광고가 주 목적) 특정 백신에서는 악성코드로 인식하지 않는 경우도 많다 스파이웨어 사용자의 동의 없이 설치되어 컴퓨터의 정보를 수집하고 전..
DOS Attack 서비스 거부 공격(Denial of Service) 공격 대상 시스템이 정상적인 서비스를 할 수 없는 상태로 만드는 공격 파괴 공격, 시스템 자원공격, 네트워크 자원 소진 공격 DOS Attack 종류 Ping of Death ping 의 크기를 매우 크게 설정하여 피해자 장비로 보내는 공격 패킷을 보낼때 일정크기로( EX)MTU ) 쪼개서 내므로 트래픽 도착시 재조합을 해야한다. 이 때 과도한 자원소모로 DOS 상태에 빠질 수 있다. Land Attack 출발지와 목적지를 동일하게 설정하여 트래픽을 자기자신에게 보내면서 자원을 소모시키는 공격 Smurf Attack 피해자 장비로 출발지를 조작하여 ICMP echo Request를 브로드 캐스트하여 피해자 장비로과도한 ..