IP Source Routing

agnusdei·2024년 7월 20일
0

IP Source Routing은 IP 패킷이 전송될 때, 패킷이 통과할 경로를 송신자가 지정할 수 있는 기능입니다. 일반적으로 라우터가 패킷의 최적 경로를 자동으로 계산하지만, IP Source Routing을 사용하면 송신자가 명시적으로 경로를 정의할 수 있습니다.

IP Source Routing의 주요 개념

  1. 정의:

    • IP Source Routing은 송신자가 패킷의 경로를 지정할 수 있는 기능입니다. 패킷이 목적지에 도달하기 위해 어떤 라우터를 통과해야 하는지를 송신자가 제어할 수 있습니다.
  2. 형식:

    • IP Source Routing은 두 가지 주요 형식이 있습니다:
      1. Strict Source Routing:
        • 송신자가 패킷의 경로를 엄격하게 지정합니다. 패킷은 송신자가 지정한 모든 라우터를 정확히 통과해야 합니다.
      2. Loose Source Routing:
        • 송신자가 패킷의 경로에 몇몇 특정 라우터를 포함시키지만, 그 사이에 다른 라우터가 추가로 경로에 포함될 수 있습니다.
  3. 헤더 필드:

    • Source Routing은 IP 패킷의 옵션 필드에 정보를 포함시킵니다. IPv4의 경우, 옵션 필드는 IP 헤더의 "Options" 필드에 위치합니다.
    • IPv6에서는 Source Routing이 다르게 처리되며, "Routing Header"라는 새로운 헤더가 사용됩니다.
  4. 보안 문제:

    • IP Source Routing은 보안상의 이유로 많은 네트워크에서 비활성화됩니다. 악의적인 사용자는 이 기능을 이용해 패킷을 우회시키거나, 네트워크를 스캔하거나, 공격을 할 수 있습니다.
    • 대부분의 방화벽과 라우터는 IP Source Routing을 차단하여 보안을 강화합니다.
  5. 사용 예:

    • 네트워크 테스트 및 문제 해결: 네트워크 경로를 테스트하거나 문제를 분석할 때 유용할 수 있습니다.
    • 특정 경로 우선 사용: 특정 네트워크 경로를 우선적으로 사용해야 하는 경우.

예시

Strict Source Routing:

  • 송신자가 패킷이 반드시 AB라는 두 라우터를 통과하도록 설정합니다.

Loose Source Routing:

  • 송신자가 패킷이 A라는 라우터를 통과하도록 설정하고, 그 사이에 다른 라우터가 포함될 수 있습니다.

IP Source Routing 설정 (리눅스)

리눅스에서 IP Source Routing을 비활성화하는 명령어는 다음과 같습니다:

sysctl -w net.ipv4.conf.all.accept_source_route=0
sysctl -w net.ipv4.conf.default.accept_source_route=0

영구 설정을 위해 /etc/sysctl.conf 파일에 추가:

echo "net.ipv4.conf.all.accept_source_route=0" >> /etc/sysctl.conf
echo "net.ipv4.conf.default.accept_source_route=0" >> /etc/sysctl.conf
sysctl -p

IP Source Routing 비활성화 (솔라리스)

1. IP Source Routing 비활성화

  • 명령어:

    ndd -set /dev/ip ip_forward_src_routed 0

    이 명령어는 IP Source Routing을 비활성화하여 송신자가 지정한 경로를 무시하도록 설정합니다.

2. 영구 설정 적용

  • 설정 추가:
    /etc/system 파일에 다음 줄을 추가하여 시스템 재부팅 후에도 설정이 유지되도록 합니다.

    echo "set ip:ip_forward_src_routed=0" >> /etc/system
  • 시스템 재부팅: /etc/system 파일에 추가된 설정을 적용하기 위해 시스템을 재부팅합니다.

    reboot

이렇게 설정하면 솔라리스 시스템에서 IP Source Routing을 비활성화할 수 있으며, 이는 보안을 강화하는 데 도움이 됩니다. ip_forward_src_routed를 0으로 설정하여 패킷의 경로를 송신자가 제어하지 못하도록 할 수 있습니다.

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글