2024/12 3

Dockerfile에서 bash 명령 사용하기 | RUN, CMD, ENTRYPOINT 차이

도커는 이미지라는 틀을 만들고, 이를 컨테이너 단위로 찍어내는 형태로 작동한다.이때 이미지를 정의하기 위해 Dockerfile을 문법에 맞게 적어줘야한다.근데 이때 쉘 명령어를 사용하기가 여간 까다롭지 않다. 그래서 관련 내용을 정리해보았다. Shell form과 exec formDockerfile 예시를 읽다보면 똑같은 일을 하는 명령을 두가지 방법으로 적어놓은 것을 볼 수 있다.FROM centos:7# 컨테이너 실행 직후 running... 이라는 문구를 두번 출력한다.CMD echo "running... 1"; echo "running... 2" # 괄호 없으면 shell formCMD ["/bin/bash", "-c", "echo running... 1!; echo running... 2!"] ..

SSL 작동 방식 및 필요성 이해하기

SSL 보안의 필요성'공개키 암호화 방식 이해하기'에서 알아보았듯이, 인터넷을 통해 전달되는 모든 정보는 다른 컴퓨터가 읽을 수 있다. (이제부터 도청이라고 부르겠다) 따라서 아무도 읽지 못하도록 암호화하는 것이 중요했다. 그런데 중요한 정보를 훔치는 데에는 도청 말고도 수많은 방법이 있다. 한가지 방법은 정상 서버에 가짜 유저가 요청을 보내는 것이다. 이것은 서버측에서 사용자 인증을 강화해서 해결할 수 있다.또 다른 방법은 가짜 서버를 만들어서 정상 유저가 입력하는 모든 정보를 갈취하는 것이다. 입력하는 정보가 아무리 암호화되어있다고 해도, 가짜 서버에서 복호화 될 수 있는 형태라면 결국 그 정보는 도난 당하게 된다.따라서 요청을 보낼 곳이 내가 접속하고싶은 서버가 맞는지 확인하는 과정이 아주 중요하다..

CS 지식 2024.12.13

공개키 암호화 방식 이해하기

HTTPS 암호화에도 활용되는 공개키 방식(aka 비대칭키 방식) 암호화란 무엇일까?그리고 애초에 왜 암호화는 왜 필요한걸까? 이 두가지 이유에 대해 알아보자. 암호화의 필요성인터넷은 정보를 목적지로 보내기 위해서 그 사이에 있는 다른 컴퓨터를 반드시 거치게 된다. 그리고 전달하는 내용은 그 경로에 해당하는 모든 컴퓨터가 다 볼 수 있다. 애초에 인터넷은 군사 목적으로 개발 되었기 때문에 해당 네트워크에 악의적인 사용자가 한명도 없다는 가정을 하고 개발되었다.따라서 여러 컴퓨터에 거쳐 패킷을 전달해서, 확장에 유리한 구조를 만드는 것을 반대할 이유가 없었다. 누군가 내가 보낸 내용을 읽더라도, 다 우리 군대 소속이니까 상관이 없었기 때문이다.하지만 인터넷이 대중에게 공개되면서, 통신 내용을 타인이 읽을 ..

CS 지식 2024.12.12