일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- InnoDB
- 운용 시 유용한 쿼리
- x lock s lock
- performance스키마
- 밑바닥부터 구현하는 컴퓨팅 시스템
- nandtotetris
- 도커
- innodb구조
- S3 Gateway Endpoint
- 리눅스
- MySQL
- 안전하게 테이블 변경
- S3 Interface Endpoint
- s3
- mysql 구조
- 온라인 ddl
- Terraform
- sessionManager
- 마운트
- mysql 아키텍쳐
- 필수 스크립트
- ec2
- innodb 버퍼풀
- ix is lock
- S3 private통신
- 어뎁티브 해시 인덱스
- SessionManager 터널링
- s3 sync
- BastianHost
- mysql 엔진
- Today
- Total
목록분류 전체보기 (80)
이것이 점프 투 공작소
CSRF란? CSRF(Cross-Site Request Forgery)는 웹 애플리케이션 보안 공격 중 하나로, 인증된 사용자의 권한을 사용하여 공격자가 서버에 악의적인 요청을 실행시키는 공격입니다. CSRF공격 순서 CSRF공격이 성공하려면 몇가지 조건이 필요합니다. 사용자가 보안이 취약한 서버에 로그인합니다. 로그인 후 서버의 session정보가 브라우저 쿠키에 저장됩니다. 악성 스크립트 페이지를 누르도록 유도합니다. 사용자가 공격자가 유도한 악성 스크립트 페이지에 접근할 때 쿠키의 인증된 session을 통해 브라우저에 의해 서버로 요청됩니다. 서버는 쿠키에 담긴 session 통해 인증을 확인하기에 인증된 사용자로 온 것으로 판단하고 요청에 응답합니다. 공격예시 게시판을 이용한 대표적인 csrf공..
XSS란? 웹 어플리케이션에서 발생하는 보안 취약점 중 하나입니다. 공격자가 악의적인 스크립트 코드를 삽입하여 의도치 않은 행동을 수행시키거나 쿠키, 세션 토큰같은 민감한 정보를 탈취하거나 악성코드가 있는 페이지로 리다이렉트 시키는 방식으로도 진행됩니다. 주로 JavaScripe를 통해서 일어나며 크게 3가지 공격으로 분류됩니다. (원래 CrossSiteScript 즉 CSS지만 이미 CSS가 있기에 XSS라고 부른다고 합니다..ㅎ) 이렇게 input에 JS를 입력하면 이렇게 공격이 실행 되는 방식입니다. Stored XSS 악의적인 스크립트 코드를 서버에 영구적으로 저장시켜, 페이지를 방문하는 모든 사용자에게 스크립트 코드가 실행될 수 있게 하는 공격입니다. 예를들어 특정 사이트의 게시판에 악성 스크립..
인코딩이란? 데이터를 컴퓨터가 이해 할 수 있는 바이너리 형식으로 변환하는 과정입니다. 텍스트 데이터를 변환하는 문자인코딩, 이미지나 동영상같은 미디어 파일을 변환하는 인코딩이 있습니다. 인코딩을 함으로써 형식의 변환뿐만 아니라 압축된 형식으로 변환되기에 저장공간 또한 절약 할 수 있습니다. 바이너리 형식에서 사람이 이해 할 수 있는 문자로 변환하는 작업은 디코딩이라 합니다. 문자 셋 (Character Set) 인코딩과 디코딩은 특정한 규칙에 의해 이루어집니다. 이러한 규칙을 문자 셋(Character Set)이라고 하며 ASCII, 유니코드가 대표적인 문자셋입니다. 문자 인코딩 (Character Encoding) 문자를 컴퓨터가 이해 할 수 있는 바이너리 데이터로 변환시키는 인코딩 방식입니다. 즉 ..
PUSHGATEWAY란? 프로메테우스에서 Metric 수집을 위한 PUSH 기반 컴포넌트입니다. 단발성 또는 배치성 작업에 대한 메트릭을 수집하기 위해 사용됩니다. 여러 인스턴스가 PUSH-GATEWAY에 같은 JOB을 전송하면 PUSH-GATEWAY는 전송된 마지막 데이터만 유지합니다. PUSHGATEWAY 설치 docker-compose 파일로 pushgateway 이미지를 실행시킵니다. push-gateway가 실행되면 지정한 포트로 웹페이지를 실행시킬 수 있습니다. version: '3' services: pushgateway: image: prom/pushgateway:latest ports: - 9091:9091 프로메테우스 JOB 등록 prometheus.yml에 push-gateway의 스..
Metric이란? 시스템의 서비스 및 성능, 상태를 모니터링하는 지표입니다. 프로메테우스는 메트릭을 수집하고 저장하는 모니터링 시스템입니다. 메트릭은 아래와 같이 익스포터의 /metrics API에서 이름(Name), 레이블(Labels), 값(Value)를 통해 정의됩니다. 메트릭의 이름에는 -을 쓸수없고 숫자로 시작 할 수 없습니다. flask_http_request_total{method="GET",status="200"} 6.0 # 메트릭이름{레이블} 값 메트릭을 수집할 서버들은 /metrics 주소로 프로메테우스로 수집할 메트릭들을 노출하는데 프로메테우스에서 curl :/metrics | promtool check-metrics 라는 명령어로 노출된 메트릭들이 유효한지 확인 할 수 있습니다. 어..
모의해킹 수업을 위해 bWAPP을 설치해야하는데 아무리 구글링하고 유튜브에서 시키는대로 해도 결국 아키텍쳐의 문제가 발생했습니다. 칼리에서 설치해봐도 당연하겠지만 결국 아키텍쳐 문제로 bWAPP install이 되지 않았습니다. 그리고 찾다찾다가 누군가가 ARM으로 만들어주신 bWAPP 도커 이미지를 발견했습니다..! 정말 감사합니다. arm-bwapp 이미지 아래 이미지를 받아서 결국 bWAPP 설치 및 실행에 성공했습니다. docker pull cambarts/arm-bwapp 도커 이미지 실행 도커 이미지를 실행하면 bWAPP에서 사용할 MYSQL의 정보에 대한 값이 나옵니다. MYSQL 실행 및 접속 bWAPP 컨테이너에 들어가 bWAPP 이미지 실행 시 전달받은 MYSQL 명령어를 실행하면 DB..
네트워크를 이용한 통신에서 송신측은 데이터를 그대로 전송하지 않고 필요에 따라 분할하여 전송하고 그리고 수신측은 분할된 데이터를 재조립하여 원래의 요청을 알아 낼 수 있습니다. 데이터의 분할이 필요한 이유 데이터의 분할은 전송계층(4계층), 네트워크계층(3계층)에서 발생합니다. 4계층에서 발생하는 분할을 Segmentaion, 3계층에서 발생하는 분할을 Fragmentaion 이라고합니다. 데이터를 분할하는 이유는 크게 아래와 같습니다. 1. 대역폭 활용 네트워크 대역폭은 제한되어있기에, 한꺼번에 큰 데이터를 전송하게된다면, 대역폭을 모두 차지하여 전송이 느려지거나, 병목 현상이 나타 날 수 있습니다. 2. 데이터 손실 최소화 데이터를 한번에 보내게 되면 한번의 전송 오류에 모든 데이터가 손실 될 수 있..
프로토콜이란? 네트워크에서 데이터를 교환하기 위해 사용되는 통신 규약입니다. 크게 인터넷 프로토콜 (IP, TCP, UDP 등), 어플리케이션 프로토콜(FTP, SMTP, HTTP 등)로 구분됩니다. HTTP 프로토콜이란? HyperText (HTML)을 교환하기 위해 만들어진 TCP 기반의 프로토콜입니다. 하지만 HTML 뿐만 아니라 텍스트, JSON, 이미지, 영상 등의 데이터 또한 교환이 가능합니다. HTTP 프로토콜의 특징 1. Server-Client 구조 요청을 받는 Server와 요청을 보내는 Client로 분리되어있습니다. Clinet는 Server에세 HTTP Request요청을 보내고, 요청을 받은 Server는 HTTP Response요청을 Client에게 전달합니다. 2. State..
SSL/TLS 인증서란? HTTP통신에 있어 암호화 연결(HTTPS)을 가능하게 하는 제 3의 기관 신뢰기간이 인증한 디지털 인증서입니다. TLS와 SSL 모두 HTTPS 암호화를 위한 프로토콜로서 사용되며, TLS를 사용할때에도 일반적으로 SSL이라고 말하곤합니다. 추가로 인증서를 통한 암호화는 HTTPS의 보안계층에서 이뤄집니다. 인증서의 구성요소 인증서는 기본적으로 아래 5가지의 정보를 포함합니다. 인증서 소유자의 공개 키 (HTTPS 통신 연결수립을 위한 공개키입니다) 인증서의 유효 기간, 고유한 UID 인증서 소유자 인증서 서명 (클라이언트가 서명을 통해 신뢰할 수 있는 인증서인지 확인합니다) 인증서 종류 Root CA 인증기관 중 최상위 발급기관입니다. Root CA에서 서명한 인증서는 무조건..
프록시란? 클라이언트와 서버간에 일종의 중계서버이다. 그렇기에 HTTP 프록시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 합니다. 즉 클라이언트 입장에서는 서버처럼 서버입장에서는 클라이언트처럼 느껴집니다. 프록시를 사용하는 이유 프록시 서버는 모든 HTTP 트래픽을 확인하고 조작 할 수 있기에 접근제어, 방화벽의 역할을 할 수도 있고, 캐시를 이용한 성능 개선, 라우터의 역할 또한 가능합니다. 기본적으로 각 요청을 프록시를 통해 목적지로 전달되기에 일종의 NAT의 개념을 가지게됩니다. 포워드 프록시와 리버스 프록시 1. 포워드 프록시 클라이언트와 인터넷 사이에 존재하는 프록시입니다. 모든 클라이언트의 요청이 포워드 프록시 서버에서 필터링이 가능하기에 특정 사용자의 서버 접근을 차단하는 등의 서버에 적..