M 방화벽 보안 옵션

방화벽 보안 옵션은 클라이언트 소프트웨어가 방화벽을 통해 요청을 수행하는 동안 방화벽 뒤에서 ACSLS가 실행되도록 지원합니다.

방화벽 보안은 또한 ACSLS 클라이언트에도 제공되어, 클라이언트가 해당 방화벽 뒤에서 작동할 수 있도록 허용합니다. 이러한 기능은 오라클에서 해당 ISV(독립 소프트웨어 공급업체) 파트너에게 제공합니다. 각 특정 클라이언트의 최신 상태를 확인하려면 해당 클라이언트 소프트웨어 구성 요소의 ISV에 문의하십시오.

방화벽 뒤에서 ACSLS 실행

이 방화벽 보안 솔루션은 다음과 같은 이점을 제공합니다.

  • ACSLS가 방화벽 뒤에서 실행되도록 지원합니다(방화벽의 보안 측면에서 ACSLS를 실행하고, 반대쪽에서는 클라이언트 실행).

  • ACSLS 클라이언트가 고유 방화벽 뒤에서 실행되도록 지원합니다(보안 측면에서 클라이언트를 실행하고, 방화벽의 반대쪽에서는 ACSLS 실행).

    주:

    ISV는 자신의 클라이언트측 소프트웨어 구성 요소 내에서 제공된 변경사항을 구현해야 합니다.
  • 현재 ACSLS 클라이언트 구현과의 호환성을 보존하여, 이러한 클라이언트가 방화벽 솔루션에서 ACSLS와 함께 계속 실행되도록 허용합니다.

  • 현재 ACSAPI/클라이언트 기능 및 성능을 보존합니다. 여기에는 비방화벽 환경에서 제공되는 모든 기능이 포함됩니다.

전체 솔루션에는 위에 설명한 처음 2개의 기능이 결합되어 있습니다. 이를 통해 ACSLS 및 ACSLS 클라이언트는 서로 고유의 방화벽 뒤에서 실행될 수 있으며(ACSLS와 클라이언트 사이에 2개의 방화벽이 있음), 비방화벽 환경과 동일한 통신 성능을 보유할 수 있습니다.

보안 영역 문제 해결

ACSLS는 다음과 같은 보안 문제를 해결했습니다.

RPC

ACSLS 내에서의 RPC 사용은 방화벽 환경 내에서 실행을 시도할 때 일부 사이트에서 문제가 될 수 있습니다. 현재 설치된 클라이언트 기반과의 호환성을 보존하기 위해서는 ACSLS에서 완전한 RPC 제거가 불가능합니다.

ACSLS 방화벽 보안 기능은 다음과 같이 RPC에 내재된 문제들을 해결합니다.

  • 외부(신뢰할 수 없는) 상대가 제한되지 않는 포트 범위(1024-65535)에서 신뢰할 수 있는 호스트에 대해 연결을 시작할 수 있도록 허용해야 합니다.

  • 잘 알려진 포트 111에서 실행되는 portmap(또는 rpcbind) 데몬을 통해 플랫폼에서 사용 가능한 서비스 매핑을 노출합니다.

보안

방화벽 솔루션에서 기본적인 보안은 비보안 영역에서 신뢰할 수 있는(보안) 영역으로의 액세스를 제한하는 것부터 시작됩니다. 어떤 경우라도 통신을 수행하고 데이터 교환을 허용하기 위해서는 일부 제한적이고 제어되는 액세스를 허용해야 합니다. 이를 위해서는 잘 정의되고 제한된 일련의 시작점 내에서 데이터 교환을 허용하여 액세스 지점 및 해당 통신을 제어할 수 있어야 합니다. 이 솔루션을 통해 이러한 목표를 충족시킬 수 있습니다.

주:

IPv4 기반의 경계면 방화벽을 사용하는 경우, IPv6-over-IPv4 터널링 트래픽이 내부 호스트에 도달할 수 없도록 모든 아웃바운드 IPv4 프로토콜 41 패킷과 UDP 포트 3544 패킷을 드롭하도록 구성되어야 합니다.

통신 구성 요소

ACSLS/클라이언트 통신은 2개의 네트워크 인터페이스 구성 요소를 사용해서 클라이언트 플랫폼과 ACSLS 플랫폼 사이의 네트워크 통신을 처리합니다. ACSLS에 대해 클라이언트 또는 프록시 서버로 작동하는 소프트웨어는 ACSLS 플랫폼 및 기존 클라이언트와 호환되도록 이러한 두 가지 구성 요소 중 하나를 구현합니다. 클라이언트 플랫폼에 상주하는 구성 요소를 SSI라고 부르고, ACSLS 플랫폼에 상주하는 구성 요소를 CSI라고 부릅니다. 클라이언트 호환성을 유지 관리하고 모든 방화벽 보안 기능을 제공하기 위해서는 하나의 위치(예: ACSLS 플랫폼) 내에서 모든 변경사항을 구현하는 것이 바람직하지만, 효과적인 사용을 위해서는 해당 변경사항을 각 위치에 모두 적용해야 합니다. 이러한 방식의 한 가지 장점은 각 위치가 기능을 독립적으로 구현하고 각 고유 위치에서 방화벽 보안 이점을 얻을 수 있다는 것입니다(예: ACSLS에 대한 변경으로 ACSLS 플랫폼을 보안 방화벽 뒤에서 실행 가능).

방화벽 보안 옵션의 이점

이 절에서는 방화벽 보안 옵션의 이점에 대해 설명합니다.

ACSLS 서버측

이 방화벽 보안 솔루션 내에 제공된 대로 서버측 구성 요소만 변경된 경우, 이점은 다음과 같습니다.

  • 등록된 모든 프로그램 번호에 대해 ACSLS 통신을 위한 수신 연결을 단일 TCP 포트로 제한합니다. ACSLS CSI에 대해 등록된 프로그램 번호가 2개이고, 두 번호 모두 단일 포트에서 서비스됩니다.

  • 사용자가 해당 포트의 ID를 지정하고 해당 방식으로 방화벽을 구성할 수 있습니다.

  • 사용자가 UDP 포트에 대한 ACSLS 통신을 해제할 수 있습니다.

  • 사용자가 클라이언트측 portmapper*에 대한 ACSLS 서버의 통신을 모두 사용 안함으로 설정할 수 있습니다(UDP/TCP port 111). 클라이언트측 코드와의 호환성을 보존하기 위해서는 portmapper가 클라이언트 플랫폼에서 계속 실행 중인 상태로 유지되어야 합니다. 하지만, 서버에서 시작되는 네트워크 통신에는 사용되지 않으므로, 이에 대한 액세스를 허용하지 않도록 클라이언트 방화벽을 구성할 수 있습니다.

  • ACSLS 서버측에서 클라이언트로의 송신 연결이 제한되지 않으므로 서버측 포트를 사용하여 현재 성능을 보존할 수 있습니다. 이 방식은 보안 커뮤니티에서 사용되는 일반적인 방식을 따릅니다.

ACSLS 서버 포트 제한

이 방화벽 솔루션은 외부 상대가 네트워크 통신을 시작할 수 있는 수신 포트 수를 제한합니다. 포트는 1개 또는 3개로 제한됩니다. ACSLS 수신 요청에 대한 단일 고객 지정 포트가 하나 있고, 여기에 더해 2개의 portmapper 포트(TCP 및 UDP 포트 111)를 지정할 수 있습니다.

주:

ACSLS 서버 portmapper에 대한 클라이언트 액세스를 금지하기 위해 UDP 및 TCP 포트 111에 대한 액세스를 금지하려면 클라이언트 소프트웨어 구성 요소를 변경해야 합니다. 아래에서 클라이언트측 설명을 참조하십시오.

위에서 이 솔루션의 서버측은 ACSLS 내에서 완전하게 구현됩니다.

클라이언트측(CSC)

CSC에 대한 변경은 위에서 설명한 것과 동일한 제한 사항을 클라이언트측 플랫폼에 적용합니다. 그 결과 CSC도 동일하게 고유 보안 방화벽 뒤에 상주할 수 있게 됩니다. 이 솔루션은 다음과 같은 이점을 제공합니다.

  • 등록된 각 프로그램 번호에 대해 CSC 통신을 위한 수신 연결(응답)을 단일 TCP 포트로 제한합니다. ACSLS SSI에 대해서는 등록된 프로그램 번호가 하나 있습니다.

  • 최종 사용자는 TCP 포트의 ID를 지정하고 비슷한 방식으로 해당 방화벽을 구성할 수 있습니다.

  • UDP 포트에 대한 클라이언트측 통신을 해제합니다.

  • ACSLS 서버 portmapper(UDP/TCP 포트 111)에 대한 클라이언트의 모든 통신을 사용 안함으로 설정합니다. ACSLS 코드와의 호환성을 보존하기 위해 portmapper는 ACSLS 플랫폼에서 계속 실행 중인 상태로 유지되어야 합니다. 하지만, 클라이언트 네트워크 통신은 portmapper를 통해 시작되지 않습니다. 따라서 이에 대한 액세스를 허용하지 않도록 ACSLS 서버 방화벽을 구성할 수 있습니다.

  • 클라이언트측에서 ACSLS 서버로의 송신 연결이 제한되지 않으므로 클라이언트측 포트를 사용하여 현재 성능을 보존할 수 있습니다.

클라이언트 포트 제한

이 솔루션은 외부 요소가 네트워크 통신을 시작할 수 있는 수신 포트 수를 제한합니다. 포트는 1개 또는 3개로 제한됩니다. 클라이언트 수신 응답에 대한 단일 고객 지정 포트가 하나 있고, 여기에 더해 2개의 portmapper 포트(TCP 및 UDP 포트 111)를 지정할 수 있습니다.

주:

클라이언트 portmapper에 대한 ACSLS 서버 액세스를 금지하기 위해 UDP 및 TCP 포트 111에 대한 액세스를 금지하려면 ACSLS 서버 소프트웨어 구성 요소를 변경해야 합니다(위의 ACSLS 서버측 설명 참조).

이 솔루션은 2단계로 구현됩니다.

  • Oracle StorageTek에서는 CSC Developer’s Toolkit 2.3(이상) 소스 코드에서 필요한 코드가 변경되었습니다.

  • 클라이언트 플랫폼에 대해 이 보안을 제공해야 하는 ACSLS의 클라이언트는 클라이언트측 SSI 코드에 이러한 변경사항을 통합하고, 제품을 재구축하고, 다시 ACSLS에서 해당 CSC(클라이언트 시스템 구성 요소)를 인증해야 합니다.

이점

솔루션의 클라이언트측 및 서버측 부분은 서로 독립적입니다. 따라서 둘 중 하나만 방화벽 뒤에 있을 경우, 나머지 한쪽에서만 소프트웨어 변경을 구현하면 됩니다. 또한 한쪽만 변경하기 때문에 기존에 존재하는 모든 현재 클라이언트 및 서버 구현과의 호환성이 유지되고, CSI/SSI 인터페이스를 사용하는 다른 소프트웨어 구성 요소와의 호환성도 유지됩니다.

주:

여기에는 현재 Oracle StorageTek 제품과의 호환성이 포함됩니다.

이 솔루션은 클라이언트/서버 통신의 현재 성능에 영향을 주지 않습니다.

방화벽 보안 기능 켜기 및 변수 설정

방화벽 뒤에서 ACSLS 서버를 실행하고, 선택적으로 방화벽 뒤에서 ACSLS 클라이언트를 실행하려면 ACSLS 서버 및 클라이언트 시스템이 방화벽 뒤에 있을 경우 두 시스템 모두에 변수를 설정합니다. 이러한 변수를 사용하면 수신 통신을 단일 포트로 제한하고, 선택적으로 portmapper를 사용 안함으로 설정할 수 있습니다.

ACSLS 변수

CSI_TCP_RPCSERVICE - TCP 프로토콜을 사용한 RPC에 대한 CSI 지원을 사용으로 설정합니다.

  • 기능: CSI가 TCP RPC 서버로 작동하도록 설정합니다. 클라이언트가 TCP를 통해 ACSLS와 통신해야 할 경우 이 옵션을 TRUE로 설정합니다.

  • 유효한 옵션: TRUE 또는 FALSE(TRUE가 기본값)

    • TRUE는 CSI에 대한 클라이언트의 TCP 액세스를 사용으로 설정합니다.

    • FALSE는 CSI에 대한 클라이언트의 TCP 액세스를 사용 안함으로 설정합니다.

  • 기타 세부정보: 이 옵션을 적용하려면 ACSLS 제품을 다시 시작해야 합니다.

CSI_UDP_RPCSERVICE - UDP 프로토콜을 사용한 RPC에 대한 CSI 지원을 사용으로 설정합니다.

  • 기능: 이 옵션을 선택하면 CSI가 UDP RPC 서버로 작동하도록 설정됩니다. 클라이언트가 UDP를 통해 ACSLS와 통신해야 할 경우 이 옵션을 TRUE로 설정합니다.

  • 유효한 옵션: TRUE 또는 FALSE(FALSE가 권장됨)

    • TRUE는 CSI에 대한 클라이언트의 UDP 액세스를 사용으로 설정합니다.

    • FALSE는 CSI에 대한 클라이언트의 UDP 액세스를 사용 안함으로 설정합니다.

  • 기타 세부정보: 이 옵션을 적용하려면 ACSLS 제품을 다시 시작해야 합니다. 방화벽 보안 CSI는 TCP 통신에 대해서만 지원됩니다. ACSLS 서버에서 방화벽 내에 레거시 클라이언트 응용 프로그램이 있지 않은 한 CSI_UDP_RPCSERVICE를 FALSE로 설정합니다.

CSI_USE_PORTMAPPER – portmapper를 사용으로 설정합니다.

  • 기능: 이 옵션을 선택하면 클라이언트에 응답을 보낼 수 없을 때 CSI가 portmapper를 조사합니다. 클라이언트에서 portmapper에 대한 액세스를 허용하지 않으려는 경우 이 옵션을 ALWAYS로 설정합니다.

  • 유효한 옵션: ALWAYS, NEVER 또는 IF_DUAL_LAN_NOT_ENABLED

    • ALWAYS - CSI가 클라이언트에 응답을 전송할 수 없을 때 항상 portmapper를 조사합니다.

    • NEVER - CSI가 클라이언트에 응답을 전송할 수 없을 때 portmapper를 조사하지 않습니다. 이 옵션은 클라이언트가 포트 매퍼를 지원하지 않을 때 선택해야 합니다.

    • IF_DUAL_LAN_NOT_ENABLED - 이중 LAN 지원이 사용 안함으로 설정된 경우에만 portmapper를 조사하도록 지정합니다. 이중 LAN 지원이 사용으로 설정된 경우 클라이언트가 포트 매퍼를 지원하지 않는 것으로 가정합니다. IF_DUAL_LAN_NOT_ENABLED는 이전 버전과의 호환성을 위한 기본값입니다.

  • 기타 세부정보: 이 옵션을 적용하려면 ACSLS 제품을 다시 시작해야 합니다.

CSI_FIREWALL_SECURE - 방화벽 뒤에서 CSI를 사용하도록 설정합니다(사용자 정의된 인바운드 포트 사용).

  • 기능: 이 옵션은 ACSLS 서버가 보안 방화벽 뒤에서 작동하도록 설정합니다. ACSLS에서 사용되는 인바운드 포트를 지정하고 액세스를 단일 포트로 제한합니다. 이 포트를 제외한 모든 포트에서 수신되는 ACSLS 트래픽을 거부하도록 방화벽을 구성합니다. 이렇게 하면 ACSLS와 통신을 시작하려는 외부 클라이언트가 해당 포트만 사용할 수 있습니다.

    포트 액세스를 제한하려면 다음 단계를 완료해서 지정된 포트에 대한 보안 방화벽을 설정합니다.

    • 이 옵션을 TRUE로 설정합니다.

    • 수신되는 ACSLS 요청을 허용할 CSI에서 사용되는 포트를 지정합니다. (CSI_INET_PORT로 지정됩니다.)

    • 고정된 포트 RPC를 지원하지 않는 일부 레거시 클라이언트 응용 프로그램의 경우, 클라이언트에서 portmapper 질의 요청을 지원하려면 방화벽에서 UDP/TCP 포트 111을 열어야 할 수 있습니다.

    • 방화벽 보안 CSI는 TCP 통신에 대해서만 지원됩니다.

      ACSLS 서버에서 방화벽 내에 레거시 클라이언트 응용 프로그램이 있지 않은 한 CSI_UDP_RPCSERVICE를 FALSE로 설정합니다.

    • ACSLS 서버가 상주하는 방화벽을 구성해서 외부 클라이언트가 이전에 지정된 포트에서 통신을 시작 및 수신하도록 허용합니다. 열린 방화벽 포트를 최소화하기 위해 클라이언트 응용 프로그램에서 동일한 포트로 고정 포트를 설정하는 것도 잊지 않아야 합니다.

    • ACSLS를 다시 시작합니다.

  • 유효한 옵션: TRUE 또는 FALSE(기본값 TRUE)

    • TRUE – 클라이언트의 수신 요청에 대해 단일 포트만 사용하도록 ACSLS 서버에 대한 액세스를 제한합니다.

    • FALSE – ACSLS 서버에 대한 클라이언트 요청에 사용되는 포트를 제한하지 않습니다.

  • 기타 세부정보: 이 옵션을 적용하려면 ACSLS 제품을 다시 시작해야 합니다.

CSI_INET_PORT - 수신되는 ACSLS 요청을 수신하기 위해 CSI에서 사용되는 포트 번호입니다.

  • 기능: 이 옵션은 클라이언트에서 수신되는 TCP 요청에 대해 CSI가 사용하는 포트를 지정합니다.

  • 유효한 옵션: 50003을 제외하고 1024~65535 사이의 번호입니다. (기본값 30031)

  • 기타 세부정보: 이 옵션을 적용하려면 ACSLS 제품을 다시 시작해야 합니다. 이 변수는 방화벽 보안 CSI가 CSI_FIREWALL_SECURE로 사용으로 설정되었고 TRUE로 설정된 경우에만 사용됩니다.

ACSLS 변수 표시 및 설정

ACSLS acsss_config 유틸리티 또는 dv_config 유틸리티를 사용해서 ACSLS 정적 및 동적 변수를 표시하고 설정합니다.

  • dv_config –d

    모든 ACSLS 정적 및 동적 변수와 해당 설정을 표시합니다.

  • dv_config -p <variable_name>  -u

    변수 변경에 대한 프롬프트가 표시되거나, 동적 변수인 경우 ACSLS 전역 공유 메모리 업데이트에 대한 프롬프트가 표시됩니다. 변수에 대한 자세한 설명을 보려면 프롬프트에 ?를 입력합니다. 자세한 설명이 표시된 다음 다시 프롬프트가 표시됩니다.

ACSAPI 클라이언트 시스템 변수

클라이언트 시스템에 대해 방화벽 보안 작업을 사용으로 설정하려면 ACSLS CSC Toolkit 2.3(이상) 또는 이후 릴리스를 사용해서 ACSLS 클라이언트 시스템을 구축해야 합니다.

ACSLS 클라이언트에서 방화벽 보안 작업을 위해 사용으로 설정할 환경 변수는 4개입니다. 이러한 변수는 특정 값으로 설정해야 합니다. SSI 프로세스를 시작하기 전에 이러한 각 변수를 설정하고 SSI 환경으로 내보내야 합니다. 그런 다음 아래에 표시된 것처럼 SSI에서 변수가 해석되고 사용됩니다.

CSC가 SSI 시작을 위해 스크립트를 사용하는 경우에는 해당 스크립트 내에서 이러한 변수를 설정하고 내보내는 것이 좋습니다. 또한 클라이언트 개발자가 CSC 및 그 실행 환경에 따라 최종 고객이 이를 올바르게 구성할 수 있는 방법을 제공했을 수도 있습니다.

CSI_UDP_RPCSERVICE – 네트워크 통신에 UDP를 사용할지 여부를 결정합니다.

  • 기능: SSI 네트워크 통신을 위한 기본 네트워크 통신 계층으로 UDP를 사용/사용 안함으로 설정합니다.

  • 유효한 옵션: TRUE 또는 FALSE

  • 기타 세부정보: 방화벽 보안 CSC의 경우 이 환경 변수를 FALSE로 설정해야 합니다. 방화벽 보안 ACSLS 응용 프로그램 패킷은 모두 TCP 네트워크 전송을 사용해서 전송됩니다.

CSI_TCP_RPCSERVICE – 네트워크 통신에 TCP를 사용할지 여부를 결정합니다.

  • 기능: SSI 네트워크 통신을 위한 기본 네트워크 통신 계층으로 TCP를 사용/사용 안함으로 설정합니다.

  • 유효한 옵션: TRUE 또는 FALSE

  • 기타 세부정보: 방화벽 보안 CSC의 경우 이 환경 변수를 TRUE로 설정해야 합니다. 방화벽 보안 ACSLS 응용 프로그램 패킷은 모두 TCP 네트워크 전송을 사용해서 전송됩니다.

CSC Toolkit 2.3의 새 변수

SSI_INET_PORT – 수신 응답을 위한 고정 포트 번호입니다.

  • 기능: SSI가 수신 ACSLS 응답을 위해 사용할 포트를 지정합니다.

  • 유효한 옵션: 0 또는 1024–65535(50001 및 50004 제외)

    • 0은 동적 포트 할당을 허용하는 이전 동작이 계속 적용됨을 나타냅니다.

    • 1024 –65535는 SSI가 ACSLS 응답을 수락하는 TCP 포트로 해당 번호가 사용됨을 의미합니다.

    • 50001 또는 50004는 mini_el 및 SSI에서 사용되므로 지정하지 않습니다.

  • 기타 세부정보: 이 환경 변수를 0이 아닌 값으로 설정하면 SSI가 이 포트를 수신 ACSLS 응답에 대해 사용합니다. 즉, ACSLS 응답을 SSI가 수신할 수 있으려면 방화벽이 해당 포트에서 수신 요청을 허용해야 합니다. 이 포트는 ACSLS가 CSC의 SSI와 연결을 시작하는 유일한 포트입니다.

    주:

    이 값은 이 포트에서 수신되는 연결 요청을 허용하도록 CSC 플랫폼을 보호하기 위해 방화벽에 구성된 값과 일치해야 합니다.

CSI_HOSTPORT – ACSLS 서버에서 portmapper에 대한 질의를 제거합니다. 대신 ACSLS 서버에서 요청을 이 포트로 전송합니다.

  • 기능: ACSLS 서버에서 SSI가 해당 ACSLS 요청을 전송하는 포트를 지정합니다. ACSLS CSI는 CSC에서 인바운드 ACSLS 요청을 수락하기 위해 이 포트를 사용해야 합니다. 즉, 방화벽 보안 고정 포트를 이 값과 동일하게 설정해야 합니다.

  • 유효한 옵션: 1024 –65535(50003, 및 0 제외)(이 값은 인바운드 패킷용으로 CSI에서 사용되는 포트에 대해 ACSLS 서버에 설정된 값과 일치해야 함)

    • 0은 ACSLS 서버에서 portmapper를 질의하는 이전 동작이 계속 사용됨을 의미합니다.

    • 1024 –65535는 수신 요청에 대해 CSI에서 사용되는 값을 의미합니다.

    • 50003은 acslm에서 사용되므로 지정하지 않습니다.

  • 기타 세부정보: 이 환경 변수를 설정하면 SSI에서 ACSLS 서버 portmapper로의 질의가 제거됩니다. 이 변수 값은 SSI가 송신 ACSLS 요청을 전송할 ACSLS 서버의 포트 번호를 지정합니다. 그 결과 방화벽 보호 ACSLS 서버가 해당 방화벽에서 portmapper에 대한 액세스를 금지할 수 있습니다. portmapper 질의는 이전에 SSI가 ACSLS 요청을 전송해야 하는 포트 번호를 제공했습니다.

    주:

    이 값은 수신 요청을 수락 및 서비스하기 위해 CSI가 사용하는 포트 값과 일치해야 합니다. 이 포트가 지정된 값에서 안정적으로 고정된 상태로 유지될 수 있도록 방화벽 보안 기능을 ACSLS에 적용해야 합니다. 항목이 일치하지 않으면, CSC와 ACSLS 사이에 통신이 수행되지 않습니다.

클라이언트에서 환경 변수 표시 및 설정

클라이언트에서 환경 변수 설정에 사용되는 명령은 사용자의 셸 및 OS에 따라 달라집니다.

  • UNIX 및 Linux의 경우에는 다음 명령을 사용해서 환경 변수를 표시합니다.

    echo $<variable-name>

  • ksh 및 bash 셸의 경우에는 다음 명령을 사용해서 환경 변수를 설정할 수 있습니다.

    <environment_variable> = <value>

    export <environment_variable>

방화벽 보안 솔루션 시나리오

다음 다이어그램은 ACSLS 구성 요소의 작업, 포트 사용 및 관계가 방화벽에서 사용될 때 발생 가능한 시나리오를 보여줍니다. 이러한 시나리오는 위에 설명한 내용을 이해하기 위한 목적으로 제공됩니다. 다음 다이어그램에서 "SSI"는 통신의 클라이언트측에서 실행되는 ACSLS의 네트워크 인터페이스 구성 요소입니다. CSI는 ACSLS 플랫폼에서 실행되는 ACSLS의 네트워크 인터페이스 구성 요소입니다.

주:

이러한 시나리오를 지원하기 위해서는 ACSLS CSC Developer’s Toolkit 2.3(이상) 및 새로운 환경 변수가 필요합니다.

ACSLS 서버측만의 방화벽 보안

이 예에서 방화벽 보안은 ACSLS 서버측(CSI)에서만 구현됩니다. CSC Toolkit 2.3(이상) 및 새로운 환경 변수는 이 시나리오를 지원하는 데 필요하지 않습니다.

그림 M-1 ACSLS 서버측만의 방화벽 보안

주변 텍스트에서 그림 M-1 에 관해 설명합니다.

이 예에서 "동적"은 시작 시 1024-65535 범위로 SSI에서 포트가 선택됨을 의미합니다. 사용자가 포트를 지정하지 않으며, SSI를 새로 실행할 때마다 즉, SSI 실행 프로세스의 한 인스턴스가 다음 인스턴스로 바뀌어도 동일한 포트로 지정되지도 않습니다.

SSI측의 portmapper 111 포트는 CSI에서 드문 경우에만 질의됩니다. 이 포트는 응답 패킷을 다시 SSI로 전송할 때 해당 요청 패킷에서 SSI에 의해 제공된 반환 포트 번호가 작동하지 않아서 네트워크 인터페이스 오류가 발생하는 경우에만 CSI에서 액세스됩니다. 이 경우에는 재시도 메커니즘에 따라 CSI가 SSI측 portmapper에 사용할 포트(SSI의 프로그램 번호에 따라 portmapper에 등록됨)를 질의합니다.

방화벽 뒤에서 ACSLS를 보호하기 위해서는 다음 설정이 필요합니다.

  • ACSLS: 설정을 변경한 후에는 ACSLS를 다시 시작해야 합니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

      (하지만 ACSLS와의 통신을 위해 UDP를 사용하는 클라이언트가 있을 경우 TRUE로 설정해야 함)

    • CSI_USE_PORTMAPPER = ALWAYS(IF_DUAL_LAN_NOT_ENABLED 가능)

    • CSI_FIREWALL_SECURE = TRUE

    • CSI_INET_PORT = <1024-65535, 50003 제외> 기본값 30031

  • 클라이언트 SSI 설정 - 클라이언트가 방화벽 뒤에서 실행되도록 허용하는 환경 변수입니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE  = TRUE(FALSE 가능)

    • SSI_INET_PORT = 0

      이 변수는 ACSLS CSC Developer’s Toolkit 2.3의 새로운 환경 변수이며, 이 시나리오에서는 필요하지 않습니다.

    • CSI_HOSTPORT  = 0 또는 <1024-65535, 50003 제외> 기본값 30031

      ACSLS 서버에서 portmapper를 사용할 경우에는 필요하지 않습니다. 0 이외의 값으로 정의된 경우에는 ACSLS 서버의 CSI_INET_PORT와 일치해야 합니다. 이 변수는 ACSLS CSC Developer’s Toolkit 2.3(이상)의 새로운 환경 변수이며, 이 시나리오에서는 필요하지 않습니다.

CSI_INET_PORT(ACSLS 서버) 및 CSI_HOSTPORT(클라이언트)에 의해 지정된 포트를 사용해서 클라이언트가 ACSLS 서버에 요청을 전송할 수 있도록 방화벽을 구성합니다. 클라이언트가 ACSLS 서버에서 portmapper(포트 111)에 액세스하고 ACSLS가 클라이언트에서 portmapper(111)에 액세스할 수 있도록 허용합니다.

클라이언트측만의 방화벽 보안

이 예에서 방화벽 보안은 클라이언트측(SSI)에서만 구현됩니다. 이 시나리오를 지원하기 위해서는 CSC Toolkit 2.3(이상) 및 새로운 환경 변수가 필요합니다.

그림 M-2 클라이언트측만의 방화벽 보안

주변 텍스트에서 그림 M-2 에 관해 설명합니다.

이 예에서 "동적"은 시작 시 1024-65535 범위로 CSI에서 포트가 선택되며, 사용자가 포트를 지정하지 않으며, CSI를 새로 실행할 때마다 즉, CSI 실행 프로세스의 한 인스턴스가 다음 인스턴스로 바뀌어도 동일한 포트로 지정되지 않음을 의미합니다.

SSI측의 portmapper 111 포트는 CSI에서 드문 경우에만 질의됩니다. 이 포트는 응답 패킷을 다시 SSI로 전송할 때 해당 요청 패킷에서 SSI에 의해 제공된 반환 포트 번호가 작동하지 않아서 네트워크 인터페이스 오류가 발생하는 경우에만 CSI에서 액세스됩니다. 이 경우에는 재시도 메커니즘에 따라 CSI가 SSI측 portmapper에 사용할 포트(SSI의 프로그램 번호에 따라 portmapper에 등록됨)를 질의합니다.

방화벽 뒤에서 클라이언트 시스템을 보호하기 위해서는 다음 설정이 필요합니다.

  • ACSLS: 설정을 변경한 후에는 ACSLS를 다시 시작해야 합니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

      ACSLS와의 통신을 위해 UDP를 사용하는 클라이언트가 있을 경우, TRUE여야 합니다.

    • CSI_USE_PORTMAPPER = ALWAYS(IF_DUAL_LAN_NOT_ENABLED 가능)

    • CSI_FIREWALL_SECURE = FALSE

    • CSI_INET_PORT = 0

  • 클라이언트 SSI 설정 - 클라이언트가 방화벽 뒤에서 실행되도록 허용하는 환경 변수입니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE  = FALSE(TRUE 가능)

    • SSI_INET_PORT = <1024 –65535, 50001 및 50004 제외>

      이 변수는 ACSLS CSC Developer’s Toolkit 2.3(이상)의 새로운 환경 변수이며, 이 시나리오에서는 필요하지 않습니다.

    • CSI_HOSTPORT  = 0 또는 <1024-65535, 50003 제외> 기본값 30031

      ACSLS 서버에서 portmapper를 사용할 경우에는 필요하지 않습니다. 0 이외의 값으로 정의된 경우에는 ACSLS 서버의 CSI_INET_PORT와 일치해야 합니다. 이 변수는 ACSLS CSC Developer’s Toolkit 2.3(이상)의 새로운 환경 변수이며, 이 시나리오에서는 필요하지 않습니다.

다음을 허용하도록 방화벽을 구성해야 합니다.

  • CSI_INET_PORT(ACSLS 서버) 및 CSI_HOSTPORT(클라이언트)에 의해 지정된 포트를 사용해서 클라이언트가 ACSLS 서버에 요청을 전송할 수 있어야 합니다.

  • 클라이언트가 ACSLS 서버에서 portmapper(포트 111)에 액세스할 수 있어야 합니다.

  • ACSLS 서버가 클라이언트에서 SSI_INET_PORT로 지정된 포트를 사용해서 클라이언트에 응답을 전송할 수 있어야 합니다.

  • ACSLS 서버가 포트 111을 사용해서 클라이언트에서 portmapper를 질의할 수 있어야 합니다.

Portmapper를 사용하여 ACSLS 서버 및 클라이언트측 모두에서 방화벽 보안

이 예에서는 클라이언트(SSI) 및 ACSLS 서버(CSI) 모두 방화벽 보안 API를 구현합니다. 클라이언트 및 서버는 portmapper를 사용해서 포트를 식별합니다. 이 시나리오를 지원하기 위해서는 CSC Toolkit 2.3(이상) 및 새로운 환경 변수가 필요합니다.

그림 M-3 Portmapper를 사용하여 ACSLS 서버 및 클라이언트측 모두에서 방화벽 보안

주변 텍스트에서 그림 M-3 에 관해 설명합니다.

SSI측의 portmapper 111 포트는 CSI에서 드문 경우에만 질의됩니다. 이 포트는 응답 패킷을 다시 SSI로 전송할 때 해당 요청 패킷에서 SSI에 의해 제공된 반환 포트 번호가 작동하지 않아서 네트워크 인터페이스 오류가 발생하는 경우에만 CSI에서 액세스됩니다. 이 경우에는 재시도 메커니즘에 따라 CSI가 SSI측 portmapper에 사용할 포트(SSI의 프로그램 번호에 따라 portmapper에 등록됨)를 질의합니다.

ACSLS 서버 및 클라이언트를 모두 보호하는 방화벽의 경우, 다음 설정이 필요합니다.

  • ACSLS: 설정을 변경한 후에는 ACSLS를 다시 시작해야 합니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

      하지만 ACSLS와의 통신을 위해 UDP를 사용하는 클라이언트가 있을 경우 TRUE로 설정해야 합니다.

    • CSI_USE_PORTMAPPER = ALWAYS(IF_DUAL_LAN_NOT_ENABLED 가능)

    • CSI_FIREWALL_SECURE = TRUE

    • CSI_INET_PORT = <1024-65535, 50003 제외> 기본값 30031

  • 클라이언트 SSI 설정 - 클라이언트가 방화벽 뒤에서 실행되도록 허용하는 환경 변수입니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

    • SSI_INET_PORT = <1024 –65535, 50001 및 50004 제외>

    • CSI_HOSTPORT  = <1024-65535, 50003 제외> 기본값 30031

      이 값은 ACSLS 서버의 CSI_INET_PORT와 일치해야 합니다.

다음을 허용하도록 방화벽을 구성해야 합니다.

  • CSI_INET_PORT(ACSLS 서버) 및 CSI_HOSTPORT(클라이언트)에 의해 지정된 포트를 사용해서 클라이언트가 ACSLS 서버에 요청을 전송할 수 있어야 합니다.

  • 클라이언트가 ACSLS 서버에서 portmapper(포트 111)에 액세스할 수 있어야 합니다.

  • ACSLS 서버가 클라이언트에서 SSI_INET_PORT로 지정된 포트를 사용해서 클라이언트에 응답을 전송할 수 있어야 합니다.

  • ACSLS 서버가 포트 111을 사용해서 클라이언트에서 portmapper를 질의할 수 있어야 합니다.

Portmapper를 사용하지 않고 ACSLS 서버 및 클라이언트측 모두에서 방화벽 보안

이 예에서는 클라이언트(SSI) 및 ACSLS 서버(CSI) 모두 방화벽 보안 기능을 구현합니다. 클라이언트 및 서버는 "No Portmapper" 기능이 사용으로 설정됩니다. 이 시나리오를 지원하기 위해서는 CSC Toolkit 2.3(이상) 및 새로운 환경 변수가 필요합니다.

그림 M-4 Portmapper를 사용하지 않고 ACSLS 서버 및 클라이언트측 모두에서 방화벽 보안

주변 텍스트에서 그림 M-4 에 관해 설명합니다.

최대한의 보안 구성을 위해서는 다음 설정이 필요합니다.

  • ACSLS: 설정을 변경한 후에는 ACSLS를 다시 시작해야 합니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

    • CSI_USE_PORTMAPPER = NEVER

    • CSI_FIREWALL_SECURE = TRUE

    • CSI_INET_PORT = <1024-65535, 50003 제외> 기본값 30031

  • 클라이언트 SSI 설정 - 클라이언트가 방화벽 뒤에서 실행되도록 허용하는 환경 변수입니다.

    • CSI_TCP_RPCSERVICE = TRUE

    • CSI_UDP_RPCSERVICE = FALSE

    • SSI_INET_PORT = <1024 –65535, 50001 및 50004 제외>

    • CSI_HOSTPORT  = <1024-65535, 50003 제외> 기본값 30031

      이 값은 ACSLS 서버의 CSI_INET_PORT와 일치해야 합니다.

다음을 허용하도록 방화벽을 구성해야 합니다.

  • CSI_INET_PORT(ACSLS 서버) 및 CSI_HOSTPORT(클라이언트)에 의해 지정된 포트를 사용해서 클라이언트가 ACSLS 서버에 요청을 전송할 수 있어야 합니다.

  • ACSLS 서버가 클라이언트에서 SSI_INET_PORT로 지정된 포트를 사용해서 클라이언트에 응답을 전송할 수 있어야 합니다.

ACSLS 서버에서 방화벽 보안 켜기

방화벽 보안 옵션을 켜기 위해서는 acsss_config 유틸리티를 사용해서 몇 가지 변수를 설정해야 합니다.

  1. acsss로 로그인하십시오.

  2. ACSLS 서버를 중지합니다.

    주:

    새 방화벽 보안 변수를 적용하려면 ACSLS 서버를 중지해야 합니다.

    acsss disable

  3. 구성 스크립트를 실행하기 위해 다음 명령을 입력합니다.

    acsss_config

    ACSLS 기능 구성 화면이 나타납니다.

  4. 옵션 1 - Set CSI tuning variables를 선택합니다.

    다음을 제외하고 모든 변수에 대해 기본값을 수락합니다.

    1. 다음 프롬프트에서 값을 TRUE로 설정합니다.

      Changes to alter use of the TCP protocol will not take effect until the product is restarted. CSI support for RPC using the TCP protocol is enabled [TRUE].

      변수: CSI_TCP_RPCSERVICE

      TCP를 켜면 네트워크 통신을 위해 ACSLS의 클라이언트가 TCP 프로토콜을 사용할 수 있도록 보장합니다. ACSLS의 방화벽 보안 기능에서는 TCP만 지원되므로, 클라이언트가 이 프로토콜을 사용해서 네트워크 통신을 수행해야 합니다.

    2. 다음 프롬프트에서 값을 FALSE로 설정합니다.

      Changes to alter the use of the UDP protocol will not take effect until the product is restarted. CSI support for RPC using the UDP protocol is enabled [TRUE].

      변수: CSI_UDP_RPCSERVICE

      주의:

      이 UDP 프로토콜을 사용 중인 ACSLS 클라이언트가 없는지 확인하십시오. 방화벽 보안 ACSLS는 TCP에서만 실행됩니다.

      UDP를 끄면 클라이언트가 이 프로토콜을 사용해서 서버에 액세스하지 않도록 보장합니다. 이렇게 하면 방화벽에서 ACSLS 플랫폼에 대한 모든 일반 UDP 액세스를 금지하여, 특별히 환경에 필요한 액세스만 허용할 수 있습니다.

      해당 클라이언트가 방화벽 보안 기능을 구현하지 않는 한 portmapper 액세스를 위해 UDP 및 TCP 포트 111에 대한 클라이언트 액세스를 허용하고, 특별히 ACSLS portmapper에 대한 질의는 해제합니다.

    3. 다음 프롬프트에서 값을 NEVER로 설정합니다.

      Changes to alter use of the port mapper will not take effect until the product is restarted. Enable port mapper: (ALWAYS / NEVER /IF_DUAL_LAN_NOT_ENABLED) [IF_DUAL_LAN_NOT_ENABLED].

      변수: CSI_USE_PORTMAPPER

      NEVER로 설정하면 ACSLS 클라이언트가 해당 클라이언트 플랫폼에서 portmapper에 대한 외부 액세스를 금지할 수 있습니다.

      중요: 이 설정으로 ACSLS 플랫폼에서 portmapper에 대한 외부 액세스를 해제할 수 없습니다. 이를 위해서는 ACSLS 클라이언트가 클라이언트 소프트웨어 구성 요소에서 방화벽 보안 변경을 채택하고, 클라이언트 소프트웨어 구성 요소에서 이 기능을 켜야 합니다.

      이 기능은 ACSLS 서버가 클라이언트 플랫폼에서 portmapper 질의를 수행하지 않도록 보장합니다. 따라서 클라이언트를 보호 중인 모든 방화벽이 portmapper에 대한 액세스를 금지할 수 있습니다.

    4. 다음 프롬프트에서 값을 TRUE로 설정합니다.

      Enable CSI to be used behind a firewall (user-defined inbound port) (TRUE/FALSE) [FALSE]:

      변수: CSI_FIREWALL_SECURE

      TRUE를 선택하면 ACSLS가 인바운드 클라이언트 통신(TCP 연결)을 수락하기 위해 사용할 단일 포트를 지정할 수 있습니다. 이 변수는 단순히 이 기능을 사용으로 설정합니다. 특정 포트는 다음 변수에서 지정됩니다.

    5. 다음 프롬프트에서는 ACSLS 서버에서 사용 가능한 고정 포트로 값을 설정합니다.

      Port number used by the CSI to receive incoming ACSLS requests.

      변수: CSI_INET_PORT

      이 포트는 수신 네트워크 연결을 수락하기 위해 ACSLS CSI 구성 요소에서 사용되는 포트입니다. 1024-65535 범위(포트 50003 제외)로 포트를 지정합니다.

      중요: 이 포트에서 수신 연결을 허용하도록 방화벽을 구성합니다. 이렇게 하면 ACSLS와 통신을 시작하려는 외부 클라이언트가 해당 포트만 사용할 수 있습니다. ACSLS portmapper에 대한 질의를 제거하는 기능이 클라이언트에 구현되지 않은 한 이 포트를 제외한 다른 모든 수신 포트 및 UDP/TCP 포트 111에 대한 연결을 금지할 수 있습니다. 이 경우 포트 111이 방화벽에서 금지될 수 있습니다. 이 포트에 대한 권장 기본값은 30031입니다. 이 포트는 대부분의 시스템에서 다른 프로세스에 사용될 가능성이 낮습니다(불가능하지는 않음). 포트 충돌이 있는지 확인하기 위한 단계는 문제 해결을 참조하십시오.

  5. E를 선택해서 acsss_config를 종료합니다.

    변경사항이 저장됩니다.

  6. 다음 명령을 입력하여 ACSLS를 다시 시작합니다.

    acsss enable

ACSLS 서버에서 방화벽 보안 끄기

방화벽 보안 기능을 켜기 위해 위에서 사용된 일부 변수는 해당 기능을 끄는 것과도 관련이 있습니다. 방화벽 보안 동작을 끄기 위해서는 아래 단계만 수행하면 되지만, 특정 사이트의 경우 다른 변수를 수정해야 할 수도 있습니다.

  1. acsss로 로그인하십시오.

  2. ACSLS 서버를 중지합니다.

    주:

    새 방화벽 보안 변수를 적용하려면 ACSLS 서버를 중지합니다.

    acsss disable

  3. 구성 스크립트를 실행하기 위해 다음 명령을 입력합니다.

    acsss_config

  4. 옵션 1 - Set CSI tuning variables를 선택합니다.

    방화벽 보안 기능을 구성할 때 설정된 다음 값을 변경합니다. 다음 변수를 변경합니다.

    1. 다음 프롬프트에서 값을 ALWAYS로 설정합니다.

      Changes to alter use of the port mapper will not take effect until the product is restarted. Enable port mapper: (ALWAYS / NEVER /IF_DUAL_LAN_NOT_ENABLED) [IF_DUAL_LAN_NOT_ENABLED].

      변수: CSI_USE_PORTMAPPER

    2. 다음 프롬프트에서 값을 FALSE로 설정합니다.

      Enable CSI to be used behind a firewall (user-defined inbound port) (TRUE/FALSE) [FALSE]:

      변수: CSI_FIREWALL_SECURE

  5. E를 선택해서 acsss_config를 종료합니다.

    변경사항이 저장됩니다.

  6. 다음 명령을 입력하여 ACSLS를 다시 시작합니다.

    acsss enable

방화벽 보안 구성

다음 절에서는 ACSLS가 상주하는 네트워크 방화벽 구성과 관련된 지식이 필요합니다. 모든 방화벽은 "타사" 소프트웨어이며, 네트워크 환경 보호를 위한 올바른 설정과 관련한 세부정보는 업체마다 다양합니다. 다음 절의 내용은 방화벽 보안 정책을 위한 권장 사항이 아니며, ACSLS 제품과 관련해서 방화벽이 수행해야 하는 작업과 수행할 수 있는 작업에 대한 유용한 지침을 제공하기 위한 것입니다. 다른 보안 세부정보는 시스템 관리자에게 문의하십시오.

ACSLS 플랫폼을 위해 방화벽을 설정할 때의 세부정보는 다음과 같습니다.

  • UDP 수신 및 송신 연결을 금지하기 위한 일반 규칙을 배치합니다.

  • TCP 수신 연결을 금지하기 위한 일반 규칙을 배치합니다(TCP 송신 연결은 열린 상태로 유지되어야 함).

  • ACSLS에서 사용하도록 지정한 포트에서 수신 TCP 연결을 허용하는 특정 규칙을 배치합니다. 중요: 이 포트는 acsss_config로 구성한 것과 일치해야 합니다. 그렇지 않으면 ACSLS 서버에서 클라이언트 통신이 수신되지 않습니다.

모든 클라이언트에 방화벽 보안 기능이 구현되어 있는 경우 ACSLS 플랫폼의 portmapper에 대해 질의를 수행하지 않으면 됩니다. 클라이언트가 여전히 ACSLS 플랫폼에서 portmapper를 사용할 경우에는 다음을 추가해야 합니다.

  • 잘 알려진 portmapper TCP 및 UDP 포트 111에서 수신 및 송신 연결을 허용하는 특정 규칙을 배치합니다.

예:

다음은 위의 모든 규칙을 배치하기 위해 iptables 기반 방화벽에 대해 배치된 규칙의 예입니다.

주:

이러한 규칙은 특정 방화벽에 대해 구성된 다른 규칙에 추가로 배치됩니다.
echo " - FWD: Allow all connections OUT and only existing/related IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state \
ESTABLISHED,RELATED -j ACCEPT
# These rules allow client access to the portmapper
$IPTABLES -A FORWARD -p tcp -i $EXTIF --dport 111 -j ACCEPT
$IPTABLES -A FORWARD -p udp -i $EXTIF --dport 111    -j ACCEPT
# These rules allow client access to the ACSLS CSI for network communication
# Note: This assumes that the CSI firewall-secure port was specified as 30031
$IPTABLES -A FORWARD -p tcp -i $EXTIF --dport 30031 -j ACCEPT
# Catch all rule, all other forwarding is denied and logged.
$IPTABLES -A FORWARD -j drop-and-log-it

방화벽 보안 통신 문제 해결

ACSLS 플랫폼 및 클라이언트, 그리고 중간 방화벽까지 포함된 네트워크 통신 인터페이스의 문제 해결에는 여러 단계가 포함될 수 있습니다. ACSLS와 클라이언트 사이의 경로에 방화벽을 도입함으로써 네트워크 통신 오류의 원인이 더 증가할 가능성이 있습니다. 또한 다른 구성 요소의 설정에 따라 구성해야 하는 추가 구성 요소도 있습니다. 이러한 설정이 일치하지 않으면 네트워크 성능에 영향을 줄 수 있습니다. 다음은 ACSLS에서 모든 구성 작업을 수행했지만 해당 클라이언트, 방화벽 및 네트워크 통신이 작동하지 않는 경우에 확인하고 시도해야 할 작업 목록입니다.

  1. ACSLS 플랫폼 확인:

    • ACSLS가 작동되어 실행 중입니까? 실행 중이 아니면 acsss_event.log에서 가능한 이유 또는 가능한 원인에 대한 단서를 확인합니다.

    • CSI가 ACSLS로 성공적으로 작동됩니까? 그렇지 않으면, acsss_event.log에서 원인에 대한 단서를 제공하는 정보 메시지를 찾을 수 있습니다. 일부 configuration parameters 또는 port conflict에 대한 잘못된 값이 가능한 원인일 수 있습니다.

    • acsss_event.log에 CSI 실패 원인이 되는 포트 충돌이 있습니까? 그렇다면, "netstat" 또는 비슷한 시스템 유틸리티를 사용해서 시스템에서 사용 중인 포트를 확인하고 사용 가능한 포트를 사용하도록 ACSLS를 구성해야 합니다. 포트가 일치하도록 방화벽을 다시 구성해야 합니다.

    • CSI가 필요한 포트에 등록되어 있습니까? 'rpcinfo -p'를 사용해서 포트맵 테이블을 확인합니다. CSI는 프로그램 번호 300031 아래에 등록됩니다. 해당 프로그램 번호 아래에 등록된 포트가 필요한 포트인지 확인합니다. 기본값은 프로그램 번호보다 0이 하나 더 적은 30031입니다.

  2. ACSLS 및 CSI가 작동되어 실행 중이고 올바르게 등록된 경우에는 이제 방화벽에서 ACSLS 플랫폼에 대한 액세스를 확인해야 합니다.

    • 기본 RPC를 통해 ACSLS에 연결할 수 있습니까? "rpcinfo -t <hostname> <program-number> <version-number>" 명령을 사용해서 간단한 RPC 요청을 CSI에 전송합니다. (시스템에서 "man rpcinfo"를 사용해서 rpcinfo 명령 및 해당 사용에 대해 자세한 정보를 확인합니다.) ACSLS가 포함된 방화벽 내(예: ACSLS 플랫폼 자체 내부)의 시스템 및 방화벽 외부의 시스템에서 이 작업을 수행합니다. 내부에서는 작동하지만 외부에서 작동하지 않을 경우 방화벽으로 인해 ACSLS 요청이 차단됩니다. 방화벽 구성 및 ACSLS 포트를 다시 확인합니다. 방화벽을 통해 portmapper에 액세스할 수 있는지 확인합니다(portmapper에 대한 액세스가 금지된 경우 방화벽 외부에서 이 테스트를 사용할 수 없음).

    • ACSLS 및 방화벽에 대해 구성된 포트가 일치합니까? 이러한 매개변수를 다시 확인합니다. 이 경우 네트워크 통신 오류가 원인일 수 있습니다. 구성된 값은 별도로 하고 위에 언급된 'rpcinfo -p' 명령을 수행해서 CSI가 실제로 필요한 포트 번호로 등록되었는지 확인합니다. 그렇지 않으면 acsss_event.log에서 원인에 대한 정보를 확인합니다.

    • ACSLS가 요청을 수신하지만 응답을 다시 전송할 수 없습니까? acsss_event.log를 확인해서 CSI에서 네트워크 패킷 삭제가 여러 번 보고되거나 CSI가 네트워크 클라이언트와 통신할 수 없는 것으로 확인된 경우, 클라이언트 요청이 수신되지만 응답이 전송되지 않는 것입니다. 이러한 상태는 방화벽에 의해 전송이 차단되고 있음을 나타냅니다.

  3. 문제가 아직 해결되지 않은 경우 다음을 확인합니다.

    위 절차에서는 조사해야 할 여러 사항들을 보여줍니다. 그래도 문제가 해결되지 않았으면, 이제 통신이 중단되는 위치를 찾기 위해 몇 가지 세부적인 조사를 수행해야 합니다. 가장 좋은 방법은 Solaris의 'snoop'와 같은 네트워크 패킷 스니퍼 기능을 사용하는 것입니다. Solaris 기반 시스템에서 "man snoop"를 사용해서 snoop 명령 및 해당 사용에 대한 자세한 정보를 확인합니다.

    다른 네트워크 연결 시스템에서는 비슷한 패킷 추적 기능을 사용할 수 있습니다.

    • 이를 사용하기 위해서는 패킷이 연결되는 장소 및 패킷이 손실되는 장소를 보여주는 위치에서 패킷 스니핑을 수행해야 합니다. 이러한 위치는 방화벽 내부 및 외부에서 모두 비롯될 수 있습니다.

    • 또한 패킷 데이터를 조사하는 것도 도움이 될 수 있습니다. 어느 쪽에서든 portmapper 사용이 허용될 경우, 일부 PORTMAP 패킷이 표시될 수 있습니다.

    • 또한 ACSLS와 해당 클라이언트 사이에 전달되는 RPC 패킷을 찾을 수 있습니다.

    • 마지막으로 전송 레벨의 TCP 연결을 확인해도 각 연결측에서 사용되는 특정 포트를 확인할 수 있습니다. 이러한 정보는 특히 통신이 중지되는 위치를 찾기 위한 핵심 정보인 경우가 많습니다.

이러한 작업 수행에 대한 자세한 내용은 이 설명서의 범위를 벗어나며, 이 영역과 관련해서는 시스템 관리자의 지원을 받을 수 있습니다.

질문과 대답

  • ACSLS에 방화벽 보안 솔루션이 필요한 이유는 무엇입니까?

    방화벽 보안 솔루션은 방화벽 뒤에서 ACSLS를 효과적으로 실행할 수 있게 해주며, 해당 방화벽에서 포트를 제한하여 보안을 크게 향상시킬 수 있습니다.

  • 방화벽 보안 기능이 지원되는 ACSLS 릴리스는 무엇입니까?

    이 기능은 ACSLS 7.0.0 이상에서만 지원됩니다.

  • 이 방화벽 보안 기능을 사용할 때 열어 두어야 하는 최대 포트 수는 몇 개입니까?

    수신 네트워크 연결을 허용하기 위해 설정할 수 있는 최대 포트 수는 3개입니다. 한 개는 ACSLS 네트워크 인터페이스를 위한 포트이고, 두 개는 portmapper(UDP 및 TCP 111)를 위한 포트입니다. 송신 포트는 일반적인 산업 보안 방식을 따르며 제한이 없습니다.

  • 열어 둘 수 있는 최소 포트 수는 몇 개입니까?

    최소 개수는 1개입니다. 이 설정은 클라이언트(ISV 소프트웨어)가 해당 클라이언트에 방화벽 보안 기능을 구현하고, ACSLS 플랫폼에 상주하는 portmapper에 질의를 수행하지 않는 경우에 가능합니다. 이런 경우에 수신 연결을 위해 열어 두어야 하는 유일한 포트는 ACSLS 네트워크 인터페이스에서 사용되는 사용자 지정 TCP 포트 한 개입니다.

  • 이 기능에서 포트 범위를 사용하지 않는 이유는 무엇입니까?

    포트 범위를 사용하는 데 따른 구조적 장점이 없으며, 몇 가지 보안상의 단점이 있습니다. 비방화벽 보안 ACSLS에서는 특정 플랫폼에서 사용 가능한 전체 동적 포트 범위로 구성되는 포트 범위가 사용됩니다. 이러한 구성은 사이트 보안을 잠재적으로 손상시킬 가능성이 있는 것으로 인식됩니다. ACSLS 성능에 부정적 영향을 주지 않으면서, 가능한 한 이러한 방식을 제한하는 것은 그러한 손상을 없애기 위한 것입니다. ACSLS 네트워크 인터페이스에는 특정 시점에 수신 포트가 하나만 사용되기 때문에, 포트가 ACSLS 플랫폼 전용으로 사용된다고 가정할 때 포트 1개 이상으로 범위를 확장할 이유가 없습니다.

  • 선택한 포트가 내 시스템에서 해당 포트를 사용하는 다른 것과 충돌할 경우에는 어떻게 됩니까?

    포트를 사용자 지정 가능하게 설정하는 이유 중 하나입니다. 사용 가능한 특정 포트는 고객 사이트마다 달라질 수 있습니다. 0-1023 사이의 잘 알려진 예약된 포트는 사용하도록 허용되지 않습니다. 기본 포트 30031은 등록된 포트 범위 내에 있으면서, 동적 포트를 사용하는 다른 응용 프로그램에서 이를 사용할 가능성이 낮은 편입니다(불가능하지는 않음). 등록된 포트 범위에 있지만 이를 사용하도록 등록된 응용 프로그램이 없으므로 합리적으로 선택된 기본값입니다.

  • 이 기능을 사용해서 방화벽으로 ACSLS 서버를 보호할 수 있습니까?

    예, 그렇습니다. 이 기능을 사용할 경우, ACSLS 서버를 방화벽의 신뢰할 수 있는 측면에 배치하고, 클라이언트가 반대쪽(신뢰할 수 없는) 측면 또는 동일 측면에서 서버에 액세스하도록 할 수 있습니다.

  • 이 기능을 사용해서 방화벽으로 ACSLS 클라이언트(ISV 구성 요소)를 보호할 수 있습니까?

    잠재적으로 가능은 하지만, 그 자체로는 가능하지 않습니다. 이러한 시나리오를 실현하기 위해서는 클라이언트 소프트웨어 구성 요소(ACSLS의 클라이언트)에 StorageTek ACSLS 클라이언트 시스템 구성 요소 개발자 툴킷을 사용해서 제공되는 방화벽 보안 기능이 채택되어 있어야 합니다. 클라이언트 소프트웨어 제공자에게 연락해서 현재 업데이트 상태를 확인하십시오.

  • 방화벽으로 내 클라이언트를 보호할 수 있으려면 어떻게 해야 합니까?

    클라이언트 소프트웨어 공급자에게 문의해야 합니다. 해당 CSC(클라이언트 소프트웨어 구성 요소)에서 방화벽 보안 변경이 채택되었는지 여부를 확인하십시오.

  • portmapper는 어떻습니까? portmapper에 대한 액세스를 완전히 금지할 수 있습니까?

    클라이언트에 방화벽 보안 변경이 채택된 경우, ACSLS 플랫폼의 portmapper에 대한 클라이언트 질의를 차단할 수 있습니다. 이 경우, ACSLS 플랫폼을 보호하는 방화벽에서 portmapper에 대한 액세스를 금지할 수 있습니다. 다른 모든 경우에는 클라이언트가 ACSLS 서버측 portmapper에 의존해서 ACSLS 네트워크 인터페이스와의 연결을 지원하며, 클라이언트가 portmapper를 사용할 수 있어야 합니다.

  • 내 ACSLS 서버 방화벽이 ACSLS 플랫폼 portmapper에 대한 액세스를 차단하기 위해 클라이언트에서 일부 변경사항을 구현해야 하는 이유는 무엇입니까?

    ACSLS 플랫폼 질의를 수행하는 주체가 바로 클라이언트이기 때문입니다. 클라이언트가 계속해서 이러한 질의를 수행할 경우, ACSLS 플랫폼은 그러한 질의가 성공할 수 있도록 portmapper의 서비스를 계속 제공해야 합니다.

  • portmapper는 좋은 방법이 아닌 것 같습니다. 이를 완전히 제거하지 않은 이유는 무엇입니까?

    portmapper는 레거시 클라이언트에 중요한 서비스를 제공합니다. 이를 완전히 제거하면 이러한 클라이언트가 필요한 인터페이스를 사용할 수 없게 됩니다. 간단히 말해서 코딩과 테스트를 다시 하고 새로운 비portmapper 인터페이스로 다시 인증하지 않는 한 레거시 클라이언트가 작동하지 않을 것입니다. 오라클은 이러한 방화벽 보안 솔루션에 대해 ACSLS에서 클라이언트로, 그리고 클라이언트에서 ACSLS로의 portmapper에 대한 질의 제거 기능을 제공했지만, 클라이언트 소프트웨어가 이를 따르도록 강제할 수는 없습니다. 따라서, 사이트의 클라이언트에 방화벽 보안 기능이 채택되고 더 이상 portmapper 서비스가 사용되지 않을 때까지는 최소한 선택적인 서비스로서 portmapper를 사용 가능한 상태로 유지해야 합니다.

  • 내 클라이언트 중 일부에는 방화벽 보안 기능이 채택되었고, 일부는 그렇지 않습니다. 이를 활용하려면 어떻게 해야 합니까?

    이러한 기능이 채택된 클라이언트는 고유 방화벽을 통해 보호할 수 있습니다. 또한 portmapper의 잘 알려진 포트에 대한 액세스도 방화벽에서 제한할 수 있으며, 필요한 클라이언트에 대해서만 portmapper에 액세스를 허용하도록 구성할 수 있습니다. 세부 사항과 기능은 해당 사이트에서 사용 중인 특정 방화벽에 따라 달라집니다.

  • RPC는 좋은 방법이 아닌 것 같습니다. 이를 완전히 제거하지 않은 이유는 무엇입니까?

    ACSLS 네트워크 인터페이스는 ACSLS가 처음 릴리스되었을 때부터 지금까지 RPC를 기반으로 하고 있습니다. RPC는 네트워크 통신 계층에서 다양한 이점을 제공하며 효과적이고, 안정적이며, 신뢰할 수 있는 메커니즘인 것으로 입증되었습니다. 하지만 일반적인 동적 포트 할당과 portmapper 사용으로 인해 RPC를 사용하는 플랫폼은 보안이 조금 더 까다로울 수 있습니다. 이러한 방화벽 보안 솔루션에서는 고객이 제한된 방식으로 방화벽을 구성할 수 있도록 지원하여 사용 중인 방화벽의 보안상 이점을 제공하는 방식으로, 이러한 영역이 갖고 있는 문제가 해결되었습니다.

    또한 ACSLS 네트워크 인터페이스에서 RPC를 완전히 제거한다면 모든 현재(레거시) ACSLS 클라이언트를 사용할 수 없게 되어, 코딩과 테스트를 다시 하고 해당 CSC(클라이언트 소프트웨어 구성 요소)를 다시 인증하지 않는 한 이러한 클라이언트가 ACSLS와 전혀 통신할 수 없을 것입니다.

  • 방화벽 보안 기능은 내 ACSLS 클라이언트와 ACSLS 서버 사이의 네트워크 통신 성능 및 타이밍에 어떤 영향을 줍니까?

    새로운 방화벽 보안 기능으로 인한 성능 영향은 없습니다. 방화벽 사용은 성능에 영향을 줄 수 있지만, 이러한 영향은 각 고객의 방화벽 구현에 따른 운영상의 특성을 기반으로 합니다. 성능에 대한 영향이 무시할 수 있는 정도인 방화벽을 사용할 경우, ACSLS 및 해당 클라이언트는 방화벽 보안 기능을 설치하기 전과 같은 성능을 계속 제공할 것입니다. 또한 ACSLS 네트워크 인터페이스의 내결함성을 구성해서 방화벽으로 인한 지연 시간을 정상적으로 처리할 수도 있습니다.

  • 방화벽 보안 기능은 나머지 ACSLS 작업에 어떤 영향을 줍니까?

    방화벽 보안 솔루션 설치로 인해 ACSLS 작업의 다른 부분에 미치는 영향은 없습니다.

  • 방화벽 보안 기능은 내 클라이언트에서 ACSAPI를 통해 사용되는 ACSLS 기능에 어떤 영향을 줍니까?

    ACSAPI를 통해 제공되는(및 ACSLS 클라이언트가 현재 ACSLS와 통신하기 위해 사용하는) 전체 기능 세트는 방화벽 보안 기능 하에서도 이 기능을 설치하기 전과 동일하게 작동합니다. 특히 이 방화벽 보안 기능은 액세스 제어를 지원하며, ACSLS 제품에 추가된 모든 새로운 기능들을 지원합니다. ACSAPI의 전체 기능은 이 기능을 통해 계속해서 지원될 예정입니다.

  • 방화벽 보안 기능이 ACSLS HA(고가용성) 솔루션에서 작동합니까?

    방화벽 보안 기능은 HA 작업에 부정적인 영향을 주지 않습니다. 하지만 HA 솔루션은 방화벽(즉, 방화벽의 양쪽에 HA 서버가 있는 구성)에서 실행되도록 설계되지 않았습니다. HA 솔루션은 portmapper에 대한 원격 액세스가 필요하므로, 방화벽의 양쪽 측면에서 각각 반대편의 서버를 실행하려는 시도가 수행된 경우, 방화벽이 그러한 액세스를 금지할 수 없습니다. 방화벽 실행과 관련해서 HA 설정에 부정적 영향을 줄 수 있는 다른 세부 설정들이 존재하며, 이렇게 되지 않도록 하는 것이 중요합니다.

    HA 서버가 방화벽의 동일한 보안 측면에 설정되어 있고, 그러한 HA 서버 세트를 방화벽 보안 기능으로 설정할 수 있는 경우, 방화벽 반대쪽에 있는 클라이언트는 비방화벽 보안 HA 솔루션과 동일한 성능 및 동작으로 방화벽을 통해 해당 서버와 상호 작용할 수 있습니다.

  • 이 방화벽 보안 기능이 다른 StorageTek 소프트웨어 제품에서도 작동합니까?

    다른 StorageTek 제품 및 파트너 제품(즉, ACSLS와 통신하는 클라이언트 소프트웨어 구성 요소)과의 상호 운용성은 완전히 보존되어 있습니다. 이러한 제품은 수정 없이도 계속 작동할 수 있으며, 보안 방화벽 뒤 또는 해당 제품과 동일한 환경(현재 환경)에서 ACSLS 서버를 실행하면서 ACSLS 서버와 통신할 수 있습니다.

  • 다른 StorageTek 소프트웨어 제품에도 동일한 방화벽 보안 기능이 포함됩니까?

    다른 StorageTek 제품은 단순히 방화벽 보안 ACSLS와 동일한 환경에 사용한다고 해서 방화벽 보안의 이점을 얻을 수 없습니다. 각 제품은 방화벽 보안 ACSLS에서 작동할 수 있지만(이전 질문 참조), 이러한 각 제품을 고유 방화벽 뒤에 배치하는 것은 특정 제품 자체에서 해결해야 하는 문제입니다. 일부 StorageTek 제품은 그러한 제품이 실행되는 플랫폼 보호를 위해 사용되는 방화벽에서 일부 제한을 허용하는 내장 정책이 이미 포함되어 있습니다. 또한 ACSLS에 대해 클라이언트로 작동하는 모든 제품에는 ACSLS CSC Developer’s Toolkit 2.3(이상)의 일부로 제공되는, ACSLS에 대한 방화벽 보안 변경 채택 옵션이 포함되어 있습니다.