02 · CHAPTER 05 · SYSTEMS

서비스를 세상과
연결하다

SSH·웹·DNS 서비스를 구성하며 로컬 실행과 외부 공개 사이의 차이를 이해합니다.

읽는 시간 약 17분SSH · Apache · DNS · Bind · Firewall2026. 08. 02
SYSTEMS STUDY NOTE서비스를 세상과 연결하다SSH · Apache · DNS · Bind · Firewall

01

가게를 열려면 간판만 달면 될까?

핵심 용어
SSH Apache DNS Bind Firewall

가게 안에 직원이 있고 문이 열려 있으며 길에서 찾아올 수 있어야 손님이 들어옵니다.

서비스는 프로세스가 실행되고 올바른 주소와 포트에서 Listen해야 합니다. DNS는 이름을 주소로 안내하고 Apache나 Nginx는 요청을 알맞은 애플리케이션으로 전달합니다.

내부 서비스는 127.0.0.1 또는 사설 주소에 제한하고, 외부에는 필요한 프록시 경로만 공개하면 공격 표면을 줄일 수 있습니다.

02

연결에 필요한 다섯 조각

핵심 개념
Process Bind Firewall DNS Proxy

어느 한 단계가 빠져도 외부 접속은 실패할 수 있습니다.

Process서비스 실행
Bind수신할 주소와 포트
Firewall패킷 허용
DNS이름을 주소로 변환
Proxy외부 요청을 내부 서비스로 전달

03

안에서 밖으로 확인하기

관련 명령어
systemctl status apache2 --no-pager ss -ltnp curl -I http://127.0.0.1 getent hosts example.test apache2ctl -S

서비스 자체부터 이름과 외부 경로 순으로 범위를 넓혀 확인합니다.

직접 확인해 보기
$ systemctl status apache2 --no-pager $ ss -ltnp $ curl -I http://127.0.0.1 $ getent hosts example.test $ apache2ctl -S

04

관리 서비스는 더 좁게 공개하기

보안 관점
위험 요소 확인 기준 대응 원칙

SSH와 관리자 화면은 누구나 접근할 이유가 없습니다.

키 기반 인증, 허용 사용자와 출발지 제한, 실패 로그 감시, 최신 보안 업데이트를 함께 적용합니다. 프록시 뒤에서도 원래 접속 IP와 HTTPS 정보를 안전하게 전달해야 합니다.

내부에서 열린 서비스와 인터넷에 공개된 서비스는 다르다. 경로를 한 단계씩 따라가며 확인하자.

CHAPTER REVIEW

이번 장에서 기억할 한 문장

서비스 공개는 프로그램 실행, 바인딩 주소, 방화벽, 이름 해석, 프록시를 모두 연결하는 작업이다.