[CS/네트워크] 네트워크 보안과 실무 인프라

선우·2025년 12월 23일

CS

목록 보기
8/20

[CS/네트워크] 08. 웹 서비스의 방패와 창: 네트워크 보안과 실무 인프라

⚡ 한 줄 요약: 보안의 3대 요소(CIA)부터 암호화 매커니즘, 실무 인프라 구성(VPN, 로드밸런서, CORS)까지 안전한 웹 서비스를 구축하기 위한 필수 지식을 마스터합니다.

1. 👋 들어가며: "코드만 잘 짜면 끝일까? 보안은 개발자의 생존 근육이다"

우리가 작성한 코드가 아무리 훌륭해도, 그 데이터가 오가는 '길목'이 안전하지 않거나 트래픽 폭주로 서비스가 멈춘다면 그 가치는 사라집니다.

특히 프론트엔드 개발자에게 보안은 단순히 '해킹 방어'가 아니라, 신뢰할 수 있는 사용자 경험을 설계하는 핵심 역량입니다.

  • 🧐 Why:

    • 보안 사고는 한 번의 실수로 기업의 신뢰를 무너뜨립니다.
    • 패킷이 암호화되고 분산되는 흐름을 모르면, 복잡한 실무 환경에서 발생하는 트러블슈팅(CORS,인증서 오류, 방화벽 차단 등)에 대응할 수 없습니다.
  • 🎯 Goal:

    • 보안의 기본 원칙(CIA)를 이해하고, HTTPS 핸드쉐이크의 내부 매커니즘과 실무에서 접하는 네트워크 장비들의 역할을 명확히 구분하는 것을 목표로 합니다.

📂 2. 네트워크 보안의 핵심: CIA Triad

📌 2-1. 기밀성(Confidentiality): 허가된 사람만 보게 하라

정보가 유출되지 않도록 보호하는 가장 기본적인 요소입니다.

  • 핵심:
    • 오직 권한이 있는 사용자만 데이터에 접근할 수 있어야 합니다.
  • 도구:
    • 데이터 암호화, 강력한 로그인 시스템, HTTPS 등이 대표적인 예시입니다.

📌 2-2. 무결성(Integrity): 데이터가 변하지 않았음을 보장하라

전송되는 데이터가 중간에 조작되거나 손상되지 않았음을 증명하는 것입니다.

  • 핵심:

    • 데이터가 발송된 시점과 수신된 시점이 완벽히 동일해야 합니다.
  • 도구:

    • 디지털 서명이 여기서 등장합니다.
    • 대칭키/비대칭키 암호화 개념을 응용해 보낸이의 신원을 확인하고 데이터 변조 여부를 체크합니다.

💡 비유로 이해하기

중요한 서류가 담긴 봉투에 찍힌 '인감도장'과 같습니다.

봉투가 뜯기지 않았고(무결성), 도장을 찍은 사람이 진짜 그 사람임을 보증(인증)하는 역할을 합니다.

📌 2-3. 가용성(Availability): 서비스는 항상 열려 있어야 한다

정당한 사용자가 필요할 때 언제든 서비스를 이용할 수 있는 상태를 유지하는 것입니다.

  • 위협 요소:

    • DDos(분산 서비스 거부 공격)가 가용성을 해치는 가장 대표적인 공격입니다.
  • DDos 정의:

    • 여러 대의 컴퓨터를 이용해 한 서버나 서비스에 동시에 막대한 요청을 보내, 서버가 정상적인 요청을 처리하지 못하게 마비시키는 방식입니다.
  • 도구:

    • 방화벽(Firewall), 서버 이중화(백업 서버) 등을 통해 공격을 방어합니다.

💻 참고

API 호출 시 Rate Limiting이나 CORS 설정이 이 가용성과 무결성을 지키기 위한 첫 번째 방어선이 됩니다.

특히 DDos는 서버만의 문제가 아니라, 클라이언트 측에서 비정상적인 반복 요청이 가지 않도록 로직을 설계하는 것도 중요합니다.

📌 2-4. 헷갈리기 쉬운 포인트 / 오해 정리

  • 보안은 무조건 데이터를 숨기는(암호화) 것이다?

    • 오해입니다. 암호화는 '기밀성'을 위한 하나의 수단일 뿐입니다.
    • 서비스가 죽지 않게 관리하는 '가용성' 또한 보안의 매우 중요한 한 축입니다.
  • 디지털 서명은 비밀을 유지하기 위한 것이다?

    • 오해입니다. 디지털 서명은 비밀 유지보다 '데이터가 바뀌지 않았음(무결성)'과 '보낸 사람이 진짜인가(인증)'를 확인하는 데 그 목적이 있습니다.

📌 2-5. 한 줄 정리

  • 보안은 정보의 유출을 막는 '기밀성', 변조를 막는 '무결성', 서비스 중단을 막는 '가용성'을 모두 충족해야 하며, 특히 DDos는 가용성을 무너뜨리는 치명적인 위협입니다.

📂 3. 암호화 방식: 대칭키와 비대칭키

📌 3-1. 대칭키 암호화

하나의 비밀키를 공유하여 데이터를 암호화하고 복호화하는 가장 직관적인 방식입니다.

  • 특징:

    • 자물쇠 하나에 맞는 열쇠가 딱 하나만 존재하는 것과 같습니다.
  • 장점:

    • AES, DES 같은 알고리즘은 연산 속도가 매우 빠르고 효율적입니다.
    • 따라서 영상 스트리밍이나 대용량 파일 암호화처럼 처리량이 많은 데이터를 다룰 때 절대적으로 유리합니다.
  • 단점:

    • 암호화 통신을 시작하기 전, 이 열쇠를 상대방에게 어떻게 안전하게 전달할 것인가가 최대의 숙제입니다.

💡 비유로 이해하기

대칭키는 현관문 열쇠와 같습니다.
가족끼리 같은 열쇠를 쓰면 편하지만, 멀리 있는 친구에게 이 열쇠를 주려고 할 때 배달 과정에서 누군가 복사해갈 위험이 있는 것과 같습니다.

📌 3-2. 비대칭키 암호화

누구나 가질 수 있는 공개키와 본인만 소유하는 비밀키라는 두 개의 열쇠를 사용하는 방식입니다.

  • 기밀성 유지:

    • A가 B만 볼 수 있는 데이터를 보내고 싶다면 B의 공개키로 암호화합니다.
    • 이 데이터는 오직 B의 비밀키로만 열 수 있기 때문에 전송 과정에서 가로채더라도 안전합니다.
  • 특징:

    • 키 전달 문제가 해결되어 보안성이 높지만, 소수의 곱셈이나 지수 연산 등 수학적으로 매우 복잡한 계산을 필요로 합니다.
    • 이로 인해 대칭키보다 속도가 느리고 컴퓨터 자원을 많이 소모합니다.

📌 3-3. 전자 서명의 비밀: '거꾸로' 사용하는 비대칭키

디지털 서명(전자 서명)은 일반적인 비대칭키 암호화와는 반대 방향으로 작동합니다.

  • 작동 원리:

    • 내용을 숨기기 위해 수신자의 공개키로 암호화하는 대신, 보내는 사람의 비밀키로 암호화(서명)합니다.
  • 목적:

    • 이 문서는 보낸 이의 공개키로만 복호화되기 때문에 "이 사람이 보낸 게 확실하다"는 인증과 "내용이 중간에 바뀌지 않았다"는 무결성을 보장합니다.
    • 즉, 내용을 숨기는 것이 아니라 신뢰를 증명하기 위한 기술입니다.

📌 3-4. 하이브리드 방식: 보안과 속도를 모두 잡는 법 (HTTPS)

현대 인터넷 통신의 표준인 HTTPS는 두 방식의 장점만을 결합하여 사용합니다.

  1. 키 교환:

    • 먼저 보안성이 높은 비대칭키 방식을 사용하여 이후 통신에 사용할 '대칭키'를 안전하게 주고받습니다.
  2. 본 통신:

    • 일단 키가 공유되면, 실제 대용량 데이터 전송은 속도가 빠른 대칭키 방식으로 처리합니다.

💻 참고

실무에서 API 보안이나 SSH 키 관리를 할 때 이 개념이 흔들리면 보안 취약점이 발생합니다.

특히 비대칭키의 연산 부하 때문에 서버 성능이 저하되는 경우를 대비해, 왜 핸드쉐이크 단계에서만 비대칭키를 쓰는지 그 기술적 타협점을 명확히 이해해야 합니다.

📌 3-5. 헷갈리기 쉬운 포인트 / 오해 정리

  • 비대칭키는 무조건 비밀을 지키기 위한 것이다?

    • 오해입니다. 전자 서명처럼 '인증'과 '무결성'을 위해 내용을 숨기지 않고 사용하는 경우도 매우 많습니다.
  • HTTPS는 비대칭키로만 통신한다?

    • 오해입니다. 비대칭키는 연산 속도가 느려 대량 데이터 전송에 부적합합니다. 효율을 위해 비대칭키로 대칭키를 교환한 뒤 실제 통신은 대칭키로 진행합니다.

📌 3-6. 한 줄 정리

  • 대칭키는 빠르지만 키 전달이 어렵고, 비대칭키는 안전하지만 느리기 때문에, HTTPS는 두 방식을 혼합하여 안전한 키 교환 후 빠른 데이터 전송을 실현합니다.

📂 4. 웹 보안의 표준: HTTPS와 SSL/TLS

📌 4-1. HTTPS와 포트 번호: 보안의 시작

HTTPS는 단순히 보안이 강화된 HTTP가 아니라, HTTP 프로토콜 위에 SSL/TLS 보안 계층을 더한 형태입니다.

가장 먼저 기억해야 할 차이는 사용하는 관문(포트)입니다.

  • HTTP: 80번 포트를 사용합니다.
  • HTTPS: 443번 포트를 사용하여 암호화된 보안 통신을 수행합니다.

📌 4-2. SSL과 TLS: 이름에 숨겨진 차이

우리는 흔히 'SSL'이라고 부르지만, 기술적으로는 변천사가 있습니다.

  • SSL(Secure Sockets Layer):

    • 초기 보안 프로토콜로, 현재는 보안 취약점 때문에 더 이상 사용되지 않습니다.
  • TLS(Transport Layer Security):

    • SSL의 개선 버전이며, 현재 우리가 사용하는 모든 HTTPS의 실체는 바로 이 TLS입니다.

📌 4-3. SSL/TLS의 3대 핵심 기능

보안 연결을 통해 우리는 다음 세 가지 가치를 보장받습니다.

  1. 암호화(Encryption):

    • 네트워크를 지나는 데이터를 외부에 노출되지 않게 잠급니다.
  2. 인증(Authentication):

    • 접속한 사이트가 믿을 수 있는 진짜인지 확인합니다.
  3. 데이터 무결성(Integrity):

    • 전송 중 데이터가 누군가에 의해 변경되지 않았음을 보장합니다.

📌 4-4. SSL/TLS 핸드쉐이크: 신뢰를 위한 6단계 협상

실제 데이터가 오가기 전, 양쪽이 보안 연결을 맺기 위해 거치는 사전 협상 과정입니다.

이는 OSI 7계층 중 세션 및 표현 계층에서 이루어집니다.

  1. Client Hello:

    • 클라이언트가 서버에 접속 요청을 보내며, 지원 가능한 알고리즘 목록과 랜덤 데이터를 전달합니다.
  2. Server Hello & 인증서 전송:

    • 서버가 알고리즘을 선택하고, 자신의 공개키가 포함된 SSL/TLS 인증서를 보냅니다.
  3. 인증서 검증:

    • 브라우저는 인증서가 신뢰할 수 있는 인증 기관(CA)에서 발급되었는지 확인합니다.
    • 이를 통해 "인증 기관이 보증했으니 위조 서버가 아니구나"라고 안심하게 됩니다.
  4. 대칭키 전달 (비대칭키 활용):

    • 클라이언트는 대칭키를 생성한 후, 서버의 공개키로 암호화하여 서버에 보냅니다.
  5. 대칭키 획득:

    • 서버는 자신의 비밀키로 이를 복호화하여 동일한 대칭키를 얻습니다.
  6. 보안 연결 완료:

    • 서로 확인 메시지를 주고받으면 협상이 끝나고, 이후부턴 빠른 대칭키 암호화로 데이터를 주고 받습니다.

💡 비유로 이해하기

핸드쉐이크는 무거운 장갑차(비대칭키)를 이용해 '금고 열쇠(대칭키)'만 먼저 안전하게 전달하고, 이후엔 그 열쇠로 잠근 가벼운 가방(대칭키)을 빠르게 주고받는 것과 같습니다.

💻 참고

공식적인 서비스를 제공하려면 반드시 CA를 통해 인증서를 발급받아야 합니다.

자체 서명 인증서도 기술적 암호화는 가능하지만, 브라우저가 경고창을 띄워 사용자 신뢰를 잃게 만들기 때문입니다.

📌 4-3. 헷갈리기 쉬운 포인트 / 오해 정리

  • SSL과 TLS는 같은 말인가요?

    • 오해입니다. SSL은 구형이며, 현재의 보안 표준은 TLS입니다.
    • 다만 관습적으로 SSL이라는 명칭을 혼용해서 쓸 뿐입니다.
  • 인증서만 있으면 암호화가 저절로 되나요?

    • 오해입니다. 인증서는 신뢰 확인을 위한 도구이며, 실제 암호화는 핸드쉐이크 과정을 통해 양측이 동일한 대칭키를 가졌을 때 비로소 가능해집니다.

📌 4-4. 한 줄 정리

  • HTTPS는 443 포트를 사용하며, 비대칭키로 대칭키를 안전하게 교환하는 SSL/TLS 핸드쉐이크를 통해 기밀성, 무결성, 인증을 보장합니다.

📂 5. 네트워크 보안: 방화벽

📌 5-1. 방화벽이란 무엇인가?

네트워크의 '문지기' 역할을 하는 가장 기초적이고 중요한 보안 장비입니다.

  • 정의:

    • 네트워크에서 허용된 트래픽만 통과시키고, 불필요하거나 위험한 트래픽을 차단하는 역할을 수행합니다.
  • 사용 목적:

    • 기업, 기관, 개인 네트워크에서 해킹, 악성 코드, 불법 접근 등을 사전에 방지하기 위해 필수적으로 사용됩니다.

💡 비유로 이해하기

방화벽은 건물의 입구를 지키는 보안 요원과 같습니다.
미리 작성된 '출입 명단(보안 규칙)'을 가지고, 외부인이 들어오려고 할 때 신분증(패킷 정보)을 대조하여 통과시킬지 돌려보낼지 결정하는 것과 같습니다.

📌 5-2. 방화벽의 주요 기능

단순히 막는 것을 넘어, 현대의 방화벽은 지능적인 트래픽 관리를 수행합니다.

  • 트래픽 필터링:

    • IP 주소, 포트 번호, 프로토콜을 기반으로 데이터를 정밀하게 필터링합니다.
  • 인가된 요청 허용:

    • 허용된 네트워크 요청만 내부로 통과시키고, 비인가된 요청은 즉시 차단합니다.
  • 위협 차단:

    • 단순 침입 외에도 DDos 공격, 바이러스, 악성 코드 차단 기능을 제공하여 네트워크를 보호할 수 있습니다.

📌 5-2. 방화벽 트래픽 필터링 3단계 과정

실제 패킷이 들어왔을 때 방화벽 내부에서 일어나는 논리적 흐름입니다.

  1. 접속 요청 수신:

    • 클라이언트(외부)가 웹사이트 접속 등을 위해 서버에 요청을 보냅니다.
  2. 패킷 검사:

    • 방화벽이 해당 패킷을 멈춰 세우고 내용을 검사합니다.
    • 이때 출발지 IP, 목적지 IP, 포트 번호, 프로토콜 정보를 확인합니다.
  3. 규칙 기반 결정:

    • 미리 정의된 보안 규칙(Policy)에 따라 최종 결정을 내립니다.
    • 허용된 트래픽: 내부 네트워크로 안전하게 전달합니다.
    • 차단된 트래픽: 즉시 폐기(Drop)하여 내부 서버에 도달하지 못하게 합니다.

💻 참고

API 통신 시 Connection Refused나 타임아웃 에러를 겪는다면, 가장 먼저 의심해야 할 곳이 서버 앞단의 방화벽 설정입니다.

특정 포트가 열려 있는지, 혹은 개발 환경의 IP가 차단 리스트에 있지는 않은지 확인하는 습관이 트러블슈팅 시간을 획기적으로 줄여줍니다.

📌 5-3. 헷갈리기 쉬운 포인트 / 오해 정리

  • 방화벽만 있으면 모든 해킹을 막을 수 있다?

    • 오해입니다. 방화벽은 '입구'를 지키는 장비일 뿐입니다.
    • 이미 허용된 경로를 통해 들어오는 애플리케이션 레벨의 공격(SQL Injection)은 방화벽만으로 막기 어렵습니다.
    • 따라서 다른 보안 솔루션과 병행해야 합니다.
  • 차단된 트래픽은 다시 클라이언트에게 응답을 주나요?

    • 보안 정책에 따라 다르지만, 보통 보안상의 이유로 응답 없이 패킷을 '즉시 폐기'하여 외부 공격자에게 내부 정보를 노출하지 않는 것이 일반적입니다.

📌 5-4. 한 줄 정리

  • 방화벽은 IP, 포트, 프로토콜 기반의 규칙에 따라 비인가된 패킷을 즉시 폐기하여 네트워크의 가용성과 보안을 지키는 핵심 장비입니다.

📂 6. 실무 보안의 핵심: 주요 공격 기법과 방어 전략

📌 6-1. 브루트포스 공격: 무차별 대입

이 공격은 말 그대로 무식하지만 확실한 방법인 "무차별 대입 공격"입니다.

모든 가능한 비밀번호 조합을 하나씩 다 넣어보며 인증을 우회하려는 시도입니다.

  • 원리:

    • 자동화된 도구를 사용하여 계정 비밀번호나 암호화 키를 찾을 때까지 반복적으로 로그인을 시도합니다.
  • 방어:

    • 대소문자와 특수문자를 섞은 강력한 비밀번호 정책을 적용하거나, 여러 번 로그인에 실패하면 일정 시간 접속을 막는 계정 잠금 정책이 필수입니다.

💡 비유로 이해하기

번호 조합을 맞춰야 열리는 자물쇠처럼 비밀번호를 몰라도 0000부터 9999까지 운 좋게 열릴 때까지 계속 돌려보는 것과 같습니다.

📌 6-2. 크로스 사이트 스크립팅(XSS): 신뢰를 이용한 코드 삽입

웹사이트가 사용자 입력을 무조건 믿고 검사하지 않을 때 발생하는 치명적인 문제입니다.

  • 원리:

    • 공격자가 게시판 글이나 댓글에 평범한 텍스트 대신 악성 스크립트를 몰래 삽입합니다.
    • 해당 글을 읽는 다른 사용자의 브라우저에서 이 코드가 실행되면서 문제가 발생합니다.
  • 위험성:

    • 사용자의 세션을 탈취하거나 피싱 사이트로 유도하고, 악성 코드를 유포할 수 있습니다.
  • 방어:

    • <script> 태그 같은 입력값을 필터링하고 인코딩해야 합니다.
    • 또한, 자바스크립트에서 쿠키에 접근하지 못하게 하는 HttpOnly 속성이나 HTTPS에서만 쿠키를 전달하는 Secure 속성을 설정하는 것이 매우 중요합니다.

📌 6-3. 버퍼 오버플로 공격

프로그램이 할당받은 메모리 공간(버퍼)보다 더 큰 데이터를 강제로 밀어 넣어 생기는 취약점입니다.

  • 과정:

    • 제한된 크기를 초과한 데이터가 입력되면 인접한 메모리를 덮어쓰게 되고, 프로그램이 비정상적으로 동작합니다.
  • 결과:

    • 공격자가 조작한 쉘코드가 실행되어 관리자 권한을 획득하는 등 시스템 전체가 장악당할 수 있습니다.
  • 방어:

    • 가장 기본은 입력 데이터의 길이를 철저히 검증하여 버퍼 크기를 넘어서는 입력을 원천 차단하는 것입니다.

💻 참고

프론트엔드 개발자에게 XSS 방어는 숙명과 같습니다. 최근에는 리액트 같은 라이브러리가 기본적으로 렌더링 시 이스케이프 처리를 해주지만, dangerouslySetInnerHTML 같은 속성을 쓸 때는 수동으로라도 반드시 입력값을 검증해야 합니다.

📌 6-3. 헷갈리기 쉬운 포인트 / 오해 정리

  • 브루트포스는 시간이 오래 걸리니 안심해도 된다?

    • 오해입니다. 컴퓨터 성능이 비약적으로 발전했고, 자동화 도구를 쓰면 순식간에 수만 개의 조합을 테스트할 수 있습니다.
    • 비밀번호 정책이 약하다면 금방 뚫립니다.
  • 글이 출력될 때만 잘 보이면 XSS 문제는 없는 거 아닌가요?

    • 아닙니다. 눈에 보이는 텍스트가 문제가 아니라, 보이지 않게 실행되는 '코드'가 핵심입니다.
    • 게시판에 글이 아니라 해킹 코드를 넣는 것이라고 이해해야 합니다.

📌 6-4. 한 줄 정리

  • 네트워크 공격은 시스템의 허점(메모리, 입력값 검증 부재 등)을 파고들기 때문에, 모든 입력을 의심하고 정책과 속성(HttpOnly 등)을 통해 다중 방어막을 구축하는 것이 본질입니다.

📂 7. 실무 네트워크 구성 요소: VPN, 로드밸런서, 그리고 CORS

📌 7-1. VPN(Virtual Private Network): 나만의 안전한 터널

실무에서 보안이 취약한 외부 환경(카페, 공공 와이파이 등)에서 사내 망에 접속할 때 필수적으로 사용하는 기술입니다.

  • 핵심 원리:

    • 데이터 전송 시 '터널'을 만드는 기술입니다.
    • 터널링이 없을 때는 네트워크 관리자나 ISP가 여러분이 어떤 사이트에 접속했는지 알 수 있고, 암호화되지 않은 일부 트래픽은 내용까지 들여다볼 수 있습니다.
  • 보안성:

    • VPN을 사용하면 트래픽 내용이 암호화되어 제3자의 감시나 제어가 매우 어려워집니다.
  • HTTPS vs VPN:

    • HTTPS:

      • 특정 웹 사이트와 브라우저 사이의 '대화 내용'을 암호화하는 보안 대화입니다.
      • 예를 들어 은행 사이트에서 오가는 송금 정보는 보호하지만, 여러분이 '은행 사이트에 접속했다'는 사실 자체는 숨기지 못합니다.
    • VPN:

      • 전체 통신 통로의 보안과 익명성을 책임집니다.
      • 터널 자체를 암호화하기 때문에 어떤 사이트에 접속했는지조차 외부에서 알 수 없게 만듭니다.

📌 7-2. 로드밸런서 vs 리버스 프록시: 분산과 관리의 차이

두 개념 모두 클라이언트의 요청을 서버로 전달하고 분산시킨다는 공통점이 있어 헷갈리기 쉽지만, 존재 목적에서 명확한 차이가 있습니다.

  • 리버스 프록시:

    • 웹 서비스의 '입구 게이트' 역할을 하는 다목적 중간 서버입니다.
    • 단순 트래픽 분산을 넘어 보안, 캐싱, SSL 처리, 방화벽 역할까지 수행하는 종합 관리자라고 보면 됩니다.
  • 로드 밸런서:

    • 말 그대로 '부하(Load) 균등 배분'에 집중하는 시스템입니다.
    • 서버가 여러 대 있을 때 한쪽으로 요청이 몰리지 않도록 미리 정해진 규칙(알고리즘)에 따라 트래픽을 나누는 것이 핵심 목적입니다.
  • 실무 팁:

    • Nginx나 Cloudflare 같은 서비스는 본질적으로 리버스 프록시이지만, 그 안에 강력한 로드밸런서 기능을 포함하고 있어 실제 현장에서는 두 역할을 동시에 수행하는 경우가 많습니다.

📌 7-3. CORS(Cross-Origin Resource Sharing)

프론트엔드 개발자라면 반드시, 그리고 지겹도록 마주하게 될 개념입니다.

  • 등장 배경:

    • 현대 웹 개발은 프론트엔드와 백엔드가 서로 다른 도메인(혹은 포트)으로 분리된 환경이 많습니다.
    • 브라우저는 보안상 '다른 출처'로의 요청을 제한하는데, 이를 합법적으로 허용해 주는 설정이 바로 CORS입니다.
  • 실무 핵심:

    • 백엔드 서버에서 허용할 Origin을 정확히 명시해 주는 설정이 필수적입니다.

💻 참고

실무에서 인프라 구성을 논할 때 로드밸런서와 리버스 프록시를 혼용해서 말하는 경우가 많습니다.

하지만 면접에서는 '리버스 프록시는 게이트웨이로서의 다목적성(보안, 캐싱 등)에 방점이 있고, 로드밸런서는 가용성을 위한 트래픽 분배에 방점이 있다'고 명확히 구분해주는 것이 포인트입니다.

📌 7-3. 헷갈리기 쉬운 포인트 / 오해 정리

  • VPN만 쓰면 HTTPS는 안 써도 되나요?

    • 오해입니다. VPN은 통로를 지켜주지만, 최종 목적지인 웹 서버와의 구간에서 데이터가 어떻게 처리될지는 모릅니다.
    • 따라서 이중 보안을 위해 두 기술은 병행되어야 합니다.
  • CORS 에러는 프론트엔드 코드의 문제인가요?

    • 오해입니다. 브라우저가 막는 것이지만, 이를 허용해 주는 주체는 백엔드 서버입니다.
    • 서버 응답 헤더에 적절한 Access-Control-Allow-Origin 값이 설정되어야 해결됩니다.

📌 7-4. 한 줄 정리

  • VPN은 전체 통로의 익명성을, HTTPS는 데이터의 기밀성을 보호하며, 리버스 프록시는 서비스의 종합 관문으로서 그 내부에 로드밸런싱 기능을 포함하는 경우가 많습니다.

🎁 8. 정리

🔑 요약

구분핵심 키워드주요 특징 및 실무 인사이트
보안 3요소CIA(기밀성, 무결성, 가용성)암호화는 기밀성을, 디지털 서명은 무결성을, DDos 방어는 가용성을 담당합니다.
암호화 방식대칭키 & 비대칭키대칭키는 빠르지만 키 전달이 어렵고, 비대칭키는 안전하지만 느립니다.
보안 표준HTTPS (SSL/TLS)비대칭키로 대칭키를 교환한 뒤 빠른 대칭키로 통신하는 '하이브리드' 방식이 핵심입니다.
네트워크 장비방화벽 & VPN방화벽은 규칙 기반의 문지기이며, VPN은 공용망에서도 안전한 전용 터널을 생성합니다.
서버 아키텍처로드밸런서 & 리버스 프록시로드밸런서는 부하 분산에, 리버스 프록시는 게이트웨이(캐싱, 보안 등)로서의 다목적성에 방점이 있습니다.
주요 공격XSS, 브루트포스, 버퍼 오퍼플로모든 사용자 입력은 불신하고 필터링해야 합니다. (HttpOnly, 입력값 검증 필수)
FE 필수 개념CORS브라우저의 보안 정책이지만, 해결의 열쇠는 백엔드 서버의 응답 헤더(Origin 명시)에 있습니다.

0개의 댓글