본문 바로가기

분류 전체보기137

서버 보안은 왜 중요할까 이제 서버를 외부에서 접속할 수 있게 만들었다면, 꼭 한 번 생각해봐야 하는 것이 있다.“이거… 아무나 들어올 수도 있는 거 아니야?”맞다. 서버를 외부에 공개했다는 것은, 단순히 내가 접속하는 것이 아니라 인터넷에 있는 모든 사람에게 열려 있는 상태가 된 것이다.그래서 서버를 운영할 때 가장 중요한 것 중 하나가 바로 보안이다.결론부터 말하면, 서버 보안은 내 서버와 데이터를 보호하기 위해 반드시 필요하다.서버를 열어두면 어떤 일이 생길까서버를 외부에 공개하면 생각보다 많은 요청이 들어온다.심지어 내가 아무것도 하지 않아도 자동으로 접근을 시도하는 프로그램들이 있다.비밀번호를 무작위로 시도하는 공격취약점을 찾는 자동 스캔열려 있는 포트를 찾는 탐색이런 것들은 실제로 계속 일어난다.그래서 아무 설정 없이.. 2026. 4. 27.
내 서버를 외부에서 접속하려면 어떻게 해야 할까 집에서 서버를 만들어보면 대부분 여기서 막힌다.“내 컴퓨터에서는 잘 되는데, 왜 밖에서는 접속이 안 되지?”이건 정상이다. 기본적으로 집 안의 컴퓨터는 외부에서 바로 접근할 수 없게 되어 있기 때문이다.하지만 몇 가지만 설정하면 외부에서도 내 서버에 접속할 수 있다.핵심은 딱 이 구조다.외부 → 공인 IP → 공유기 → 포트포워딩 → 내 컴퓨터 → 서버 1. 공인 IP 확인하기외부에서 내 서버로 들어오려면 먼저 “어디로 가야 하는지” 알아야 한다.그게 바로 공인 IP다.공인 IP는 인터넷에서 내 집을 대표하는 주소다.예를 들어:123.45.67.89같은 형태다.외부에서는 이 주소로 접속을 시도한다.즉, 공인 IP는 “집 주소” 같은 역할이다.2. 서버 프로그램 실행하기그 다음은 당연하지만 중요한 단계다... 2026. 4. 27.
공인 IP와 사설 IP는 무엇이 다를까 포트포워딩을 이해했다면, 다음으로 반드시 알아야 하는 개념이 있다. 바로 공인 IP와 사설 IP다.처음 보면 이름이 비슷해서 헷갈린다. 나도 처음에는 그냥 “IP 주소 종류인가?” 정도로만 생각했다.하지만 이 둘의 차이를 이해하면, “왜 내 서버가 외부에서 안 보였는지”가 한 번에 풀린다.결론부터 말하면 이렇게 정리할 수 있다.공인 IP = 인터넷에서 나를 식별하는 주소사설 IP = 집 안에서만 사용하는 내부 주소IP 주소는 무엇일까먼저 IP 주소는 인터넷에서 기기를 구분하는 번호다.쉽게 말해서 컴퓨터의 “전화번호” 같은 개념이다.예를 들어:192.168.0.108.8.8.8같은 숫자가 바로 IP 주소다.이걸 통해 데이터가 어디로 가야 하는지 결정된다.사설 IP는 무엇일까사설 IP는 집이나 회사 내부에서.. 2026. 4. 26.
포트포워딩은 무엇이고 왜 필요할까 집에서 서버를 한 번이라도 열어보려고 하면 반드시 마주치는 개념이 있다. 바로 포트포워딩이다.처음에는 이름부터 어렵다. 나도 처음에는 “포트? 포워딩? 뭘 전달한다는 거지?”라는 느낌이었다.그런데 이걸 한 번 이해하면, “왜 내 서버가 밖에서 접속이 안 됐는지” 바로 이해된다.결론부터 말하면 포트포워딩은 외부에서 들어온 요청을 내 컴퓨터로 연결해주는 설정이다. 왜 포트포워딩이 필요할까집에서 사용하는 인터넷 환경을 보면 대부분 이런 구조다.공유기 (Wi-Fi)→ 여러 개의 기기 (노트북, 폰, PC)즉, 외부에서는 공유기만 보이고, 그 안에 있는 내 컴퓨터는 직접 보이지 않는다.그래서 이런 문제가 생긴다.내 PC에서 서버를 켰는데외부에서는 접속이 안 됨왜냐하면 외부에서 들어온 요청이 “어느 컴퓨터로 가야 .. 2026. 4. 26.
Docker는 내부에서 어떻게 동작할까 Docker를 어느 정도 사용하다 보면 한 번쯤 이런 생각이 든다.“컨테이너는 알겠는데… 이게 실제로 내부에서 어떻게 돌아가는 거지?”나도 처음에는 그냥 “가볍게 실행되는 가상환경” 정도로만 이해했다. 그런데 구조를 한 번 제대로 보면, 왜 Docker가 빠르고 효율적인지 확실히 이해된다.결론부터 말하면 Docker는 가상머신처럼 새로운 컴퓨터를 만드는 게 아니라, 운영체제의 기능을 활용해서 프로세스를 분리하는 방식으로 동작한다. Docker는 새로운 OS를 만드는 게 아니다많은 사람들이 처음에 착각하는 부분이다.Docker는 가상머신처럼 운영체제를 따로 실행하지 않는다.대신 하나의 운영체제를 그대로 사용하면서, 그 안에서 프로그램들을 분리해서 실행한다.즉:VM = OS까지 따로 실행Docker = OS.. 2026. 4. 26.
docker build vs docker run 차이 Docker를 처음 사용할 때 가장 많이 헷갈리는 명령어가 바로 docker build와 docker run이다.둘 다 자주 같이 나오기 때문에 비슷해 보이지만, 역할은 완전히 다르다.결론부터 말하면 이거 하나로 끝난다.docker build = 이미지를 만드는 명령어docker run = 컨테이너를 실행하는 명령어즉, build는 “준비 단계”, run은 “실행 단계”다. docker build는 무엇을 할까docker build는 Dockerfile을 읽어서 이미지를 만드는 명령어다.즉, 내가 만든 프로그램을 Docker에서 실행할 수 있는 형태로 변환하는 과정이다.예를 들어 이런 Dockerfile이 있다고 해보자.FROM node:18WORKDIR /appCOPY . .RUN npm install.. 2026. 4. 26.