일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- x lock s lock
- sessionManager
- ec2
- ix is lock
- 필수 스크립트
- 마운트
- S3 Interface Endpoint
- 안전하게 테이블 변경
- S3 Gateway Endpoint
- 밑바닥부터 구현하는 컴퓨팅 시스템
- 리눅스
- S3 private통신
- InnoDB
- 온라인 ddl
- MySQL
- mysql 아키텍쳐
- 어뎁티브 해시 인덱스
- BastianHost
- mysql 구조
- nandtotetris
- 도커
- 운용 시 유용한 쿼리
- SessionManager 터널링
- s3
- innodb 버퍼풀
- mysql 엔진
- innodb구조
- s3 sync
- Terraform
- performance스키마
- Today
- Total
목록전체 글 (80)
이것이 점프 투 공작소
도커 이미지 레이어 도커 이미지는 여러 레이어를 통해 만들어집니다. 도커 파일에서 사용되는 FROM, COPY, RUN, ADD 모두 생성되는 최종 이미지에 대한 레이어가 됩니다. 레이어들은 도커 이미지 빌드 시 임시 컨테이너에 추가되었다가 모든 작업이 완료되면 실제 이미지 파일에 적재됩니다. 베이스 이미지 생성용 도커파일 자바 application 이미지를 만들기 위해 자바가 설치된 우분투OS를 Base Image로 사용합니다. FROM ubuntu:hirsute CMD ["bash"] RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates p11-kit ; rm -rf /var/..
백도어 공격클라이언트측에서 사용되는 공격으로 공격자가타겟 시스템이나 네트워크에 접근 할 수 있도록 하는 수단을 만드는 공격을 의미합니다.주로 악성코드, 트로이 목마로 이루어지는 공격입니다. msfvenom이란?MetaSploit에서 제공하는 페이로드 생성 프로그램으로다양한 OS와 아키텍쳐에 맞게 커스텀하여 악성코드를 만들 수 있습니다.칼리 리눅스에서 기본적으로 사용 가능한 명령어입니다. 윈도우 백도어 파일 생성msfvenom 명령어로 페이로드를 생성합니다.윈도우 공격에 사용하기 위해 윈도우에서 사용가능한 페이로드 windows/meterpreter/reverse_tcp 를 사용합니다. windows/meterpreter/reverse_tcp : 공격자가 지정한 리스너 IP와 포트로 역방향 연결을 시도하는..
Arp 스푸핑 공격이란? ARP를 이용하여 공격자가 네트워크 트래픽을 가로채거나 조작하는 공격입니다. 공격자는 자신의 MAC주소를 특정 IP 주소와 매핑되도록 타겟의 ARP 테이블을 변조하여 트래픽을 가로 챌 수 있습니다. 추가로 IP패킷의 단편화 및 재조합은 ARP프로토콜보다 상위 계층에서 제공하기에 ARP 스푸핑으로 가로챈 패킷은 단편화 되어있지 않습니다. 타겟(공격대상)의 정보 공격전 게이트웨이는 172.16.14.2 이고 mac주소는 00-50-56-f7-5b-fc입니다. 추가로 게이트웨이 아래 172.16.14.67은 공격자(칼리)의 ip입니다. Arp 스푸핑 공격 칼리에 기본적으로 내장되어 있는 arpspoof를 사용하여 공격이 가능합니다. 총 2번의 공격 (공격대상, 게이트웨이)를 통해 공격..
프론트나 백엔드 서버를 구축하는 경우, 보안을 위해 특정 IP에서만 접속을 제한해야하거나 다른 이유들로 방화벽을 구축해야하는 경우가 있습니다. AWS에서는 WAF라는 서비스를 통해 방화벽을 구축 할 수 있습니다. WAF(Web Application Firewall)란? AWS WAF는 Cloudfront와 ALB, API Gateway, App Spec 의 서비스에 연결 하여 방화벽 역할을 할 수 있습니다. 규칙(rule)을 통해 허용 및 차단을 설정 하며 AWS 관리형 규칙, 사용자 지정 규칙, 마켓플레이스 규칙 총 3가지의 규칙이 있습니다. 1. 관리형 규칙 관리형 규칙은 WAF의 기본적으로 제공되는 3가지 규칙입니다. OWASP 선정 10 대 보안 위협에 제시된 일반적인 위협과 보안 취약성 일부를 ..
AWS인프라를 운영하다 보면 서로 다른 VPC 계정간에 VPC를 이용한 통신이 필요할 일이 종종 발생합니다. VPC peering을 통해 연결하는것도 좋은 방법이지만, 연결되는 커넥션이 많아질수록 관리도 어렵고 라우팅 테이블이 복잡해지기에더 쉬운 관리와 확장성을 가진 Transit Gateway를 더 많이 사용하는 것 같습니다. Transit Gateway(TGW)란? VPC 와 VPC , VPC와 온프레미스간에 네트워크를 상호 연결 할 수 있도록 만들어주는 네트워크 전송허브입니다. TGW에 여러 네트워크들을 연결하여 각 네트워크간 통신을 시켜주는 일종의 라우터? 라고 이해하시면 편할 것 같습니다 구성 요소 Transit Gateway는 크게 3가지의 구성 요소를 가집니다. 한글로 해석해서 쓰게되니 좀 ..
여러 vpc에서 Private Endpoint를 공유하는 방법에 대해 포스팅하려고합니다. 본 포스팅은 당근마켓 SRE MEET UP에서 공유된 내용을 보고 혼자서 실습해보는 형태로 진행해보았습니다 https://www.youtube.com/watch?v=tBZBYozvTO8 PrivateEndpoint를 생성할 VPC와 PrivateEndpoint를 사용할 VPC 생성 먼저 PrivateEndpoint를 생성하고 제공할 producer-vpc와 producer-vpc에서 privateEndpoint를 공유받을 consumer-vpc를 생성합니다. 각 VPC에서 PrivateEndpoint를 조회할 EC2생성 각 vpc의 public subnet에 PrivateEndpoint를 조회할 EC2를 생성합니다...
Gitlab에서 CodeDeploy를 이용해 EC2 개발서버에 배포하던중 최초 성공 이후, 그 다음 배포에서 계속 CodeDeploy의 ApplicationStop에서 에러가 지속적으로 발생하였습니다.. Appspec.yml에 ApplicationStop에 해당하는 kill_process.sh 스크립트 내용를 바꾸었는데 계속 최초 성공하였을때 스크립트가 실행되고 있었습니다. 혹시 캐시로 스크립트를 실행시키나..? 라는 생각이들어 CodeDeploy의 파이프라인을 찾아보았습니다. CodeDeploy LifeCycleHook LifeCycleHook에 대한 공식문서를 살펴보면 (아래 글은 LifeCycleHook에 대한 AWS 공식문서를 가져왔습니다.) 1. ApplicationStop 이 배포 수명 주기 ..
간단한 커널 코드를 만들어서 빌드 후에 insmod로 커널에 적재하려고 합니다. 원래 도커 우분투 컨테이너를 사용해서 진행하려했는데 우분투 컨테이너에 맞는 커널 헤더를 못찾아서 결국 vm을 받아서 진행하였습니다.. 1. 커널 헤더 다운받기 apt search linux-headers | grep $(uname -r) 을 통해 우분투에 맞는 커널 헤더를 다운받습니다. 설치된 커널 헤더는 ls -l /lib/modules 명령어로 확인 가능합니다. 2. 커널 코드 작성 간단한 문자열을 출력하는 hello.c 파일을 작성하였습니다. module_init 에는 모듈이 시작될때 실행할 코드를, module_exit에서는 모듈이 종료될떄 동작하는 코드를 작성해주시면됩니다. 3. Makefile 소스파일을 실행파일로..
gitlab-ci를 이용한 CICD 파이프라인을 만드는 중 gitlab-runner 컨테이너에서 호스트의 도커 명령어를 사용해야하는 상황이 생겼습니다. 그 과정에서 제가 만났던 문제와 해결 방법을 포스팅하려고합니다. 도커의 구조 (Client, Daemon, Registry) 컨테이너 내부에서 도커를 사용하려면 도커의 구조에 대해 알아야합니다. 도커는 도커 명령어를 실행하는 클라이언트, 실제 도커가 실행되는 프로세스가 되는 도커데몬, 도커이미지를 저장하는 레지스트리로 구성되어져 있습니다. DooD 방법을 사용하려면 도커 클라이언트와 도커 데몬(Host)의 관계에 대해서 알아야합니다. 도커 클라이언트 실행 가능한 파일이나 명령어를 조회하는 which 명령어로 도커를 조회해보면 /usr/bin/docker ..
쿠버네티스가 어떻게 리소스간 디스커버리를 하는지 정리해보았습니다! /etc/hosts 리눅스 시스템에 존재하는 도메인이름을 ip로 변경해주는 파일입니다. 왼쪽은 ip주소 오른쪽은 도메인이름으로 작성됩니다. 도메인 이름으로 요청을 보내게 되면 서버는 가장 먼저 로컬 캐시를 확인 후 /etc/hosts 파일을 찾아 ip 변환작업을 진행합니다. 메모리에 올라가있는 데이터이기에 etc/hosts 파일을 수정했다면 아래 명령어를 통해 network데몬을 재시작 해주어야합니다. sudo /etc/init.d/networking restart /etc/resolv.conf DNS서버 다른말로 Name서버를 설정하는 파일입니다. 로컬에 존재하는 /etc/hosts 파일에 요청한 도메인에 대한 정보가 없다면 /etc/r..