네트워크

XFF, OWASP TOP 10, DNS/CDN

화이트해커 Luna 🌙 2023. 3. 8. 13:01
728x90
반응형

 

 

1. XFF

 

XFF란 무엇인가?

XFF는 HTTP 요청 헤더 필드 중 하나로, 클라이언트 IP 주소를 전송하는 데 사용됩니다. 일반적으로 웹 서버는 요청을 받으면 클라이언트 IP 주소를 확인하여 응답을 반환합니다. 그러나 프록시나 로드 밸런서와 같은 미들웨어를 거치면, 웹 서버는 클라이언트의 실제 IP 주소를 확인하지 못합니다. 이 때 XFF 헤더를 사용하면, 미들웨어를 통해 거친 클라이언트의 IP 주소를 웹 서버에 전달할 수 있습니다.

 

왜 XFF가 필요한가?

XFF는 웹 서버에서 클라이언트의 IP 주소를 확인하는 데 필요합니다. 보안적인 이유로 클라이언트 IP 주소를 알아야 하는 경우가 많습니다. 예를 들어, 웹 애플리케이션의 로그 분석을 통해 악성 공격을 탐지하거나, 접속을 차단할 IP 주소를 설정할 때 클라이언트의 IP 주소가 필요합니다.

 

XFF의 작동 원리

XFF 헤더는 클라이언트에서 서버로 요청이 전송될 때, 프록시 서버나 로드 밸런서와 같은 미들웨어를 거칠 때마다 추가됩니다. 이 때 XFF 헤더에는 클라이언트의 IP 주소가 포함되어 있습니다. 웹 서버는 이 헤더를 확인하여, 클라이언트의 실제 IP 주소를 알아낼 수 있습니다.

예를 들어, 클라이언트 A가 웹 서버에 요청을 보낼 때, 해당 요청은 프록시 서버 B를 거쳐 웹 서버에 전송됩니다. 이 때 XFF 헤더는 다음과 같은 형식으로 작성됩니다.

X-Forwarded-For: clientA, proxyB

웹 서버는 이 헤더를 확인하여, 클라이언트 A의 IP 주소를 알아낼 수 있습니다. 만약 다른 프록시 서버를 거친 경우에도 이와 같은 방법으로 XFF 헤더가 추가됩니다.

 

 


 

2. OWASP TOP 10

 

OWASP TOP 10은 웹 응용 프로그램 보안에서 가장 흔한 취약점들의 리스트입니다. OWASP(Open Web Application Security Project)는 전 세계의 보안 전문가들이 모여 웹 응용 프로그램 보안 취약점들을 발견하고, 이를 예방하기 위한 방법을 연구하고 있습니다. OWASP TOP 10은 다음과 같은 10가지 취약점으로 구성됩니다.

 

  1. 인증 및 세션 관리 취약점 (Injection flaws, such as SQL, OS, and LDAP injection)
    • 악의적인 SQL, OS, LDAP 등의 코드를 삽입하여 데이터베이스 정보를 노출하거나 조작할 수 있게 됩니다.

  2. 민감한 데이터 노출 (Sensitive Data Exposure)
    • 사용자의 민감한 데이터(비밀번호, 신용카드 번호 등)가 암호화되지 않거나 제대로 보호되지 않아 해커에게 노출됩니다.

  3. XML 외부 엔티티(XXE) 공격 (XML External Entities (XXE))
    • XML 입력을 이용하여 악성 XML 파일을 전송하거나 외부 엔티티를 호출하여, 보안상의 문제를 유발합니다.

  4. 취약한 접근 제어 (Broken Access Control)
    • 인증된 사용자도 권한 없는 페이지에 접근할 수 있게 됩니다. 또는 권한이 없는 데이터에 접근할 수 있게 됩니다.

  5. 보안 설정 오류 (Security Misconfiguration)
    • 웹 서버, 프로그래밍 언어, 데이터베이스 등의 설정이 제대로 되어 있지 않아 해커가 취약점을 공격할 수 있습니다.

  6. XSS(Cross-Site Scripting) 공격 (Cross-Site Scripting (XSS))
    • 악의적인 스크립트를 삽입하여 다른 사용자의 쿠키나 세션 정보를 탈취하거나 웹 페이지를 조작할 수 있습니다.

  7. 안전하지 않은 업로드 및 다운로드 (Insecure Cryptographic Storage)
    • 파일을 업로드하거나 다운로드할 때, 암호화되지 않아 해커가 해당 파일에 접근하여 조작하거나 노출할 수 있습니다.

  8. 악성 로그인 취약점 (Insufficient Logging & Monitoring)
    • 로그인 실패나 다른 보안 이벤트가 충분히 기록되지 않아, 해커가 무차별적인 공격을 할 수 있게 됩니다.

  9. 취약한 디자인 및 구현 (Broken Function Level Authorization) 
    • 디자인 또는 보안 체크가 충분하지 않아, 사용자 인증 절차와 같은 보안 기능이 우회될 수 있게 됩니다

  10. 인증되지 않은 경로 접근 (Insufficient Attack Protection)
    • 공격자가 특정한 경로를 통해 웹 사이트를 공격할 수 있게 됩니다.

 


 

3. DNS/CDN

 

  1. DNS란 무엇인가?
    DNS(Domain Name System)은 인터넷에서 도메인 이름을 IP 주소로 변환하는 시스템입니다. 인터넷에 접속할 때 사용되는 도메인 이름은 사람이 읽기 쉽지만, 컴퓨터는 IP 주소만 이해할 수 있습니다. DNS는 이러한 도메인 이름을 IP 주소로 변환하여, 컴퓨터가 인터넷에 접속할 때 필요한 정보를 제공합니다.


  2. DNS의 작동 원리
    DNS는 계층적인 구조를 가지고 있습니다. 인터넷에 접속하는 모든 컴퓨터는 DNS 서버의 주소를 가지고 있으며, DNS 서버는 전 세계적으로 분산되어 있습니다. 도메인 이름을 IP 주소로 변환하기 위해서는, 먼저 로컬 DNS 서버에서 해당 도메인 이름이 저장되어 있는지 확인합니다. 만약 로컬 DNS 서버에 해당 도메인 이름의 정보가 없으면, 상위 DNS 서버로 요청을 보내서 해당 도메인 이름의 정보를 찾습니다. 이러한 과정을 반복하여, 최종적으로 해당 도메인 이름의 IP 주소를 찾아서 사용자의 컴퓨터로 전달합니다.



  3. DNS를 이용한 공격 방법
    DNS는 인터넷에 접속하는 모든 기기에서 사용되는 중요한 시스템이기 때문에, 해커들이 DNS를 이용한 다양한 공격 기법을 사용합니다. 대표적인 DNS 공격 기법으로는 다음과 같은 것들이 있습니다.
  • DNS Spoofing: DNS 서버에 존재하지 않는 도메인 이름에 대해, 악의적인 DNS 서버의 IP 주소를 반환하여 사용자가 정상적인 웹 사이트 대신 악성 웹 사이트에 연결되도록 하는 공격 기법입니다.
  • DNS Cache Poisoning: DNS 캐시 메모리를 조작하여, 로컬 DNS 서버에서 적절하지 않은 도메인 이름과 IP 주소를 반환하게 하는 공격 기법입니다.
  • DNS Amplification Attack: DNS 서버에서 응답이 큰 패킷을 보내도록 유도하여, 대량의 트래픽을 발생시켜 서비스 거부 공격을 수행하는 공격 기법입니다.
  • DNS Tunneling: DNS 패킷을 이용하여 악성 코드나 데이터를 전송하는 공격 기법입니다.

 

  1. CDN이란 무엇인가?
    CDN(Content Delivery Network)은 인터넷 사용자들이 웹 사이트에 접속할 때, 웹 사이트의 정적인 콘텐츠를 전 세계적으로 분산된 서버에 저장하여 빠르게 제공하는 기술입니다. CDN은 웹 사이트의 성능을 향상시키고, 대량의 트래픽을 처리할 수 있는 확장성과 신뢰성을 제공합니다.


  2. CDN의 작동 원리
    CDN은 원본 서버, 캐시 서버, 엣지 서버로 구성됩니다. 원본 서버는 웹 사이트의 모든 콘텐츠를 저장하는 중앙 서버입니다. 캐시 서버는 전 세계적으로 분산된 서버로, 원본 서버의 콘텐츠를 캐싱하여 엣지 서버에서 빠르게 제공할 수 있도록 합니다. 엣지 서버는 인터넷 사용자들이 웹 사이트에 접속할 때, 가장 가까운 캐시 서버에서 콘텐츠를 제공합니다.


  3. CDN을 이용한 공격 방법
    CDN은 웹 사이트의 성능을 향상시키는 기술이지만, 해커들도 CDN을 이용하여 공격을 수행합니다. 대표적인 CDN 공격 기법으로는 다음과 같은 것들이 있습니다.
  • DDoS Attack: CDN 엣지 서버에 대량의 트래픽을 발생시켜 서비스 거부 공격을 수행하는 공격 기법입니다.
  • Cache Poisoning: CDN 엣지 서버의 캐시를 조작하여, 웹 사이트의 콘텐츠가 변조되거나 악성 코드가 삽입되도록 하는 공격 기법입니다.
  • Domain Fronting: CDN 엣지 서버를 이용하여, 악성 코드나 데이터를 전송하는 공격 기법입니다.



 

 

728x90
반응형

'네트워크' 카테고리의 다른 글

TAP, IPSEC, VPN, LB, NAT, Subnet  (3) 2023.03.08
URL과 URI  (1) 2023.02.20
TCP/IP와 취약점  (0) 2023.02.20
HTTP(Hyper Text Transfer Protocol) 개념과 취약점  (1) 2023.02.10