목록STUDY/DevSecOps (13)
Information Security

온프레미스 용어와 클라우드 용어 대응관계 방화벽 : 보안그룹 ACL : NACL 관리자 권한 : IAM L4, 로드 밸런서 : ELB, 탄력적 로드 밸런서 , ALB , NLB , GWLB , CLB(요즘 안씁니다) 네트워크 : VPC 서버 : EC2 ,탄력적 서버 NAS : EFS (탄력적 파일 시스템) 디스크 : EBS ( 탄력적 블록 스토어 저장장치) DB : RDS (관계형 데이터 베이스) AWS의 서비스 제공 시나리오 Route53에서 요청에 대해 응답합니다. DNS의 기본 포트가 53이라 route53이 이름입니다. 요청이 분석되어서 Route53이 해당 요청의 목적 ip를 반환합니다. 반환받은 ip주소를 이용해 EC2에 연결합니다. 접속에 따른 기능을 수행하며 EC2의 디스크인 EBS를 먼저..

조건 크론탭을 활용해서 시간과 메세지가 같이 찍히는 형태의 로그파일 생성 30분에 한 번씩 로그파일을 첨부해서 메일을 보내는 스크립트 작성 환경 SEED-Ubuntu20.04 (64-bit) 설치 sudo apt-get install cron sudo apt-get install mailutils 로그파일 생성 mail.sh와 동일한 경로에 mail.log 생성 mail.sh #!/bin/bash # 현재 날짜와 시간을 얻습니다. current_time=$(date "+%Y-%m-%d %H:%M:%S") # 로그 파일에 날짜, 시간, 메시지를 추가합니다. echo "$current_time - Your log message" >> /home/seed/test/mail.log 권한 부여 chmod +x m..
컨테이너 내부 측정 내부 구조를 가져오기 위해 ubuntu 14.04버전 bash 띄움 $ docker run -it --rm --name=newcontainer ubuntu:14.04 bash chroot 혹은 pivot_root : 시스템 영역에서 사용할법한 디렉터리들(opt, proc, root, run, sbin 등) -> 독립성 보장 $ df -h 디바이스의 사용량이나 가용 자원 확인 컨테이너 격리 기술 정리 chroot → 프로세스의 루트 디렉토리를 변경, 격리해 가상의 루트 디렉토리 배정 pivot root → 루트 파일시스템을 바꿔, 컨테이너가 전용 루트 파일시스템을 가지도록 함 mount namespace → namespace 내에 파일 시스템 트리 구성 uts namespace → ho..

Private 레지스트리 registry를 이용해 host1에 구축 $ docker pull registry $ docker images | grep registry registry 이미지 다운 호스트의 /home/유저명/registry_data 폴더에 있는 파일을 즉시 컨테이너의 /var/lin/registry 폴더와 동기화 시키고 포트 5000번으로 5000번 포트에 대한 바인딩을 꺼질 때마다 재시작을 하도록 하는 registry 컨테이너를 띄움 $ docker run -d \ -v /home/유저명/registry_data:/var/lin/registry \ -p 5000:5000 \ --restart=always \ --name=private-registry \ registry 5000번 포트인 ..

host & test 가상머신 구축 네트워크 설정 host에서 진행 로그인 먼저 해준 뒤 docker hub에서 repositoriy를 만들어줌 $docker login host로 넘어온 뒤 $docker build -t myweb1:1.0 . myweb1이미지 1.0버전으로 설치 index.html 수정 후 myweb1이미지 1.1버전으로 설치 images 다운 완료 로컬에 존재하는 이미지에 레포지토리명 추가 $ docker image tag 이미지명:태그버전 레포지토리명/이미지명:태그버전 레포지토리가 붙은 이미지와 원본 이미지의 IMAGE ID값이 동일 원래 레포지토리로 분류되는 항목에 저장소 주소(내 계정 이름)가 추가된 것 확인 레포지토리 업로드 $ docker push 계정명/이미지명:태그 ta..

도커 이미지: 컨테이너 실행에 필요한 실행파일, 라이브러리, 설정 값 등을 포함 이미지: 새로 만들지 않는 한 원본은 변경되지 않음 어플리케이션 개발 Dockerfile에 이미지 생성 프로세스 기입 빌드해서 이미지로 생성 이미지를 활용해 컨테이너 생성 컨테이너 작동 여부 테스트 도커허브에 업로드 1로 돌아가기 이미지 다운로드 $ docker 이미지 pull 옵션 name:태그버전 기본적으로 이미지를 끌어오는 저장소: docker.io $ docker pull gcr.io/google-samples/hello-app:1.0 저장소 지정 시 저장소 변경된 것 확인 가능 $ docker image inspect 이미지명:버전 내부 구조를 JSON 형식으로 제공 Id : 이미지의 아이디 RepoTags : 레포..

컨테이너를 편리하게 사용하기 위해 GUI로 관리 portainer 컨테이너를 띄워서 다른 컨테이너들을 관리 portainer 컨테이너 $ docker pull portainer/portainer-ce 이미지 다운로드 $ docker volume create portainer_data 로컬쪽과 정보를 공유시키기 위해 볼륨 생성 $ docker run -d -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ --restart=always \ portainer/portainer-ce 이미지 생성 볼륨연결을 통한 볼륨마운트를 통해 호스트의 파일을 컨테이너로 전송할 수 있는 통로도마련 $ docker ps |..

도커 환경구축 설치한 도커 확인 $ df -h $ sudo docker version docker 명령어를 sudo 없이 쓸 수 있도록 권한 변경 $ sudo usermod -aG docker 유저명 $ sudo systemctl daemon-reload $ sudo systemctl enable docker $ sudo systemctl restart docker shell script로 Docker 간단 설치 $ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo vi get-docker.sh $ chmod +x get-docker.sh $ sudo sh get-docker.sh docker engine 제거 시 $ dpkg -l | grep -i ..