이 문서에서는 ASDM을 사용하는 Cisco ASA(Adaptive Security Appliance)에서 포트 리디렉션이 작동하는 방식에 대해 설명합니다. ASA를 통한 트래픽의 액세스 제어와 변환 규칙의 작동 방식을 다룹니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
Cisco 5500 Series ASA 버전 8.2
Cisco ASDM 버전 6.3
참고: 이 컨피그레이션은 Cisco ASA 소프트웨어 버전 8.0에서 8.2까지만 작동합니다. NAT 기능에는 주요 변경 사항이 없기 때문입니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
이 구성에 사용된 IP 주소 지정 체계는 인터넷에서 합법적으로 라우팅할 수 없습니다. 랩 환경에서 사용된 RFC 1918 주소입니다.
아웃바운드 액세스는 상위 보안 수준 인터페이스에서 하위 보안 수준 인터페이스로의 연결을 설명합니다. 여기에는 내부-외부, 내부-DMZ(Demilitarized Zone), DMZ-외부 연결이 포함됩니다. 또한 연결 소스 인터페이스의 보안 수준이 목적지보다 높은 경우 한 DMZ에서 다른 DMZ로의 연결을 포함할 수 있습니다.
변환 규칙이 구성되지 않으면 어떤 연결도 보안 어플라이언스를 통과할 수 없습니다. 이 기능을 nat-control이라고 합니다. 여기에 표시된 이미지는 주소 변환 없이 ASA를 통한 연결을 허용하기 위해 ASDM을 통해 이를 비활성화하는 방법을 보여줍니다. 그러나 구성된 변환 규칙이 있는 경우 이 기능을 비활성화하는 것은 모든 트래픽에 대해 유효하지 않으며, 네트워크를 주소 변환에서 명시적으로 제외해야 합니다.
동적 NAT 규칙을 구성하여 내부 호스트/네트워크의 그룹이 외부 세계에 액세스하도록 허용할 수 있습니다. 이렇게 하려면 액세스 권한을 부여할 호스트/네트워크의 실제 주소를 선택한 다음 변환된 IP 주소 풀에 매핑해야 합니다.
내부 호스트가 NAT를 사용하여 외부 네트워크에 액세스하도록 허용하려면 다음 단계를 완료하십시오.
Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add Dynamic NAT Rule(동적 NAT 규칙 추가) 옵션을 선택하여 동적 NAT 규칙을 구성합니다.
실제 호스트가 연결된 인터페이스의 이름을 선택합니다. Source(소스) 필드의 Details(세부사항) 버튼을 사용하여 호스트/네트워크의 실제 IP 주소를 선택합니다.
이 예에서는 전체 내부 네트워크가 선택되었습니다. 선택을 완료하려면 OK를 클릭합니다.
실제 네트워크가 매핑될 IP 주소 풀을 선택하려면 Manage(관리)를 클릭합니다.
Add(추가)를 클릭하여 Add Global Address Pool(글로벌 주소 풀 추가) 창을 엽니다.
Range(범위) 옵션을 선택하고 이그레스 인터페이스와 함께 Starting(시작) 및 Ending(종료) IP 주소를 지정합니다. 또한 고유한 풀 ID를 지정하고 Add(추가)를 클릭하여 주소 풀에 추가합니다. Manage Global Pool(전역 풀 관리) 창으로 돌아가려면 OK(확인)를 클릭합니다.
Add Dynamic NAT Rule(동적 NAT 규칙 추가) 창으로 돌아가려면 OK(확인)를 클릭합니다.
OK(확인)를 클릭하여 동적 NAT 규칙 컨피그레이션을 완료합니다.
변경 사항을 적용하려면 Apply를 클릭합니다.
참고: Enable traffic through the firewall without address translation(주소 변환 없이 방화벽 통과 트래픽 활성화) 옵션은 선택 취소되어 있습니다.
이 ASDM 컨피그레이션에 대한 동등한 CLI 출력입니다.
nat-control global (outside) 10 209.165.200.20-209.165.200.40 netmask 255.255.255.192 nat (inside) 10 172.16.11.0 255.255.255.0
이 컨피그레이션에 따라 172.16.11.0 네트워크의 호스트는 NAT 풀 209.165.200.20-209.165.200.40의 모든 IP 주소로 변환됩니다. 여기서, NAT 풀 ID는 매우 중요하다. 동일한 NAT 풀을 다른 내부/DMZ 네트워크에 할당할 수 있습니다. 매핑된 풀의 주소 수가 실제 그룹보다 적을 경우, 트래픽의 양이 예상보다 많을 경우 주소가 부족해질 수 있습니다. 따라서 PAT를 구현하거나 기존 주소 풀을 수정하여 확장할 수 있습니다.
참고: 기존 변환 규칙을 수정하는 동안 그러한 수정 사항을 적용하려면 clear xlate 명령을 사용해야 합니다. 그렇지 않으면 기존 연결이 시간 초과될 때까지 연결 테이블에 그대로 유지됩니다. clear xlate 명령을 사용할 때는 기존 연결을 즉시 종료하므로 주의해야 합니다.
내부 호스트에서 변환용 단일 공용 주소를 공유하려면 PAT를 사용합니다. global 문에서 주소를 하나 지정하면 해당 주소는 포트 변환됩니다. ASA는 인터페이스당 하나의 포트 변환을 허용하며, 이 변환은 단일 전역 주소에 대한 최대 65,535개의 활성 xlate 개체를 지원합니다.
내부 호스트가 PAT를 사용하여 외부 네트워크에 액세스할 수 있도록 허용하려면 다음 단계를 완료하십시오.
Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add Dynamic NAT Rule(동적 NAT 규칙 추가) 옵션을 선택하여 동적 NAT 규칙을 구성합니다.
실제 호스트가 연결된 인터페이스의 이름을 선택합니다. Source(소스) 필드의 Details(세부사항) 버튼을 사용하여 호스트/네트워크의 실제 IP 주소를 선택하고 inside-network(내부 네트워크)를 선택합니다. Manage(관리)를 클릭하여 변환된 주소 정보를 정의합니다.
Add(추가)를 클릭합니다.
인터페이스 옵션의 IP 주소를 사용하는 PAT(Port Address Translation)를 선택하고 Add를 클릭하여 주소 풀에 추가합니다. 이 NAT 주소 풀에 고유한 ID를 할당하는 것을 잊지 마십시오.
여기에는 외부 인터페이스를 해당 풀에서 사용 가능한 유일한 주소로 사용하는 구성된 주소 풀이 나와 있습니다. Add Dynamic NAT Rule(동적 NAT 규칙 추가) 창으로 돌아가려면 OK(확인)를 클릭합니다.
OK(확인)를 클릭합니다.
구성된 동적 NAT 규칙은 Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙) 창에 표시됩니다.
이 PAT 컨피그레이션에 대한 동등한 CLI 출력입니다.
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
액세스 규칙이 정의되지 않은 경우, 보안 수준이 높은 인터페이스의 사용자는 보안 수준이 낮은 인터페이스와 연결된 모든 리소스에 액세스할 수 있습니다. 특정 사용자가 특정 리소스에 액세스하지 못하도록 제한하려면 ASDM에서 액세스 규칙을 사용합니다. 이 예에서는 단일 사용자가 외부 리소스(FTP, SMTP, POP3, HTTPS 및 WWW 사용)에 액세스하도록 허용하고 다른 모든 사용자가 외부 리소스에 액세스하지 못하도록 제한하는 방법에 대해 설명합니다.
참고: 모든 액세스 목록의 끝에 "암시적 거부" 규칙이 있습니다.
다음 단계를 완료하십시오.
Configuration(컨피그레이션) > Firewall(방화벽) > Access Rules(액세스 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add Access Rule(액세스 규칙 추가) 옵션을 선택하여 새 액세스 목록 항목을 만듭니다.
Source(소스) 필드에서 허용할 소스 IP 주소를 선택합니다. Destination(대상)으로 any(모두)를, inside(내부)를 Interface(인터페이스)로, Permit(허용)을 Action(작업)으로 선택합니다. 마지막으로, 필요한 포트에 대한 TCP 서비스 그룹을 생성하려면 Service(서비스) 필드에서 Details(세부사항) 버튼을 클릭합니다.
Add(추가)를 클릭한 다음 TCP Service Group(TCP 서비스 그룹) 옵션을 선택합니다.
이 그룹의 이름을 입력하십시오. 필요한 각 포트를 선택하고 Add(추가)를 클릭하여 Members in Group(그룹의 멤버) 필드로 이동합니다.
선택한 모든 포트가 오른쪽 필드에 표시됩니다. OK(확인)를 클릭하여 서비스 포트 선택 프로세스를 완료합니다.
여기서 구성된 TCP 서비스 그룹을 확인할 수 있습니다. OK(확인)를 클릭합니다.
OK(확인)를 클릭하여 컨피그레이션을 완료합니다.
구성된 액세스 규칙은 Configuration > Firewall > Access Rules 창의 내부 인터페이스에서 볼 수 있습니다.
사용 편의성을 위해 서비스 탭의 오른쪽 창에서 직접 TCP 서비스 그룹을 수정할 수도 있습니다. 이 서비스 그룹을 직접 수정하려면 Edit(수정)를 클릭합니다.
다시 Edit TCP Service Group(TCP 서비스 그룹 수정) 창으로 리디렉션됩니다. 요구 사항에 따라 수정 작업을 수행하고 확인을 클릭하여 변경 사항을 저장합니다.
이 슬라이드에는 ASDM의 전체 보기가 나와 있습니다.
이는 동일한 CLI 컨피그레이션입니다.
object-group service Permit-172.16.10.100 TCP port-object eq ftp port-object eq ftp-data port-object eq www port-object eq https port-object eq pop3 port-object eq smtp ! access-list inside_access_in extended permit TCP host 172.16.10.100 any object-group Permit-172.16.10.100 ! access-group inside_access_in in interface inside !
액세스 제어 구현에 대한 자세한 내용은 ASDM GUI를 통해 액세스 목록 추가 또는 수정을 참조하십시오.
이 섹션에서는 보안 수준이 동일한 인터페이스 내에서 트래픽을 활성화하는 방법에 대해 설명합니다.
이 지침은 인터페이스 내 통신을 활성화하는 방법을 설명합니다.
이는 인터페이스에 들어오지만 동일한 인터페이스에서 라우팅되는 VPN 트래픽에 유용합니다. 이 경우 VPN 트래픽이 암호화되지 않거나 다른 VPN 연결을 위해 다시 암호화될 수 있습니다. Configuration(컨피그레이션) > Device Setup(디바이스 설정) > Interfaces(인터페이스)로 이동하여 Enable traffic between two or more hosts connected to the same interface(동일한 인터페이스에 연결된 둘 이상의 호스트 간 트래픽 활성화) 옵션을 선택합니다.
이 지침은 인터페이스 간 통신을 활성화하는 방법을 설명합니다.
이는 보안 수준이 동일한 인터페이스 간의 통신을 허용하는 데 유용합니다. Configuration(컨피그레이션) > Device Setup(디바이스 설정) > Interfaces(인터페이스)로 이동하여 Enable traffic between two or more interfaces that configured with same security levels(동일한 보안 수준으로 구성된 둘 이상의 인터페이스 간 트래픽 활성화) 옵션을 선택합니다.
이는 다음 두 설정에 모두 해당하는 CLI입니다.
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
이는 고정 NAT 변환 및 이러한 호스트를 허용하는 액세스 규칙을 적용하여 달성할 수 있습니다. 외부 사용자가 내부 네트워크에 있는 서버에 액세스하려는 경우 항상 이를 구성해야 합니다. 내부 네트워크의 서버는 인터넷에서 라우팅할 수 없는 사설 IP 주소를 갖게 됩니다. 따라서 고정 NAT 규칙을 통해 해당 사설 IP 주소를 공용 IP 주소로 변환해야 합니다. 내부 서버(172.16.11.5)가 있다고 가정합니다. 이 작업을 수행하려면 이 개인 서버 IP를 공용 IP로 변환해야 합니다. 이 예에서는 172.16.11.5를 209.165.200.5로 변환하기 위해 양방향 고정 NAT를 구현하는 방법에 대해 설명합니다.
외부 사용자가 액세스 규칙을 구현하여 이 웹 서버에 액세스할 수 있도록 허용하는 섹션은 여기에 표시되지 않습니다. 이해를 돕기 위해 간략한 CLI 스니펫이 여기에 표시됩니다.
access-list 101 permit TCP any host 209.165.200.5
자세한 내용은 ASDM GUI를 통해 액세스 목록 추가 또는 수정을 참조하십시오.
참고: "any" 키워드를 지정하면 외부 사용자가 이 서버에 액세스할 수 있습니다. 또한 어떤 서비스 포트에도 지정되지 않은 경우 모든 서비스 포트에서 열린 상태로 서버에 액세스할 수 있습니다. 구현할 때는 주의해야 하며, 개별 외부 사용자 및 서버의 필수 포트로 사용 권한을 제한하는 것이 좋습니다.
고정 NAT를 구성하려면 다음 단계를 완료하십시오.
Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add Static NAT Rule(고정 NAT 규칙 추가)을 선택합니다.
연결된 인터페이스와 함께 Original IP 주소 및 Translated IP 주소를 지정하고 OK(확인)를 클릭합니다.
여기서 구성된 고정 NAT 항목을 볼 수 있습니다. Apply(적용)를 클릭하여 ASA로 전송합니다.
이 ASDM 컨피그레이션의 간단한 CLI 예입니다.
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
특정 호스트 또는 네트워크를 NAT에서 제외해야 하는 경우 NAT 제외 규칙을 추가하여 주소 변환을 비활성화합니다. 이렇게 하면 변환된 호스트와 원격 호스트 모두 연결을 시작할 수 있습니다.
다음 단계를 완료하십시오.
Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add NAT Exempt Rule(NAT 제외 규칙 추가)을 선택합니다.
여기서 내부 네트워크 172.18.10.0은 주소 변환에서 제외되었습니다. Exempt(제외) 옵션이 선택되었는지 확인합니다. NAT Exempt Direction에는 두 가지 옵션이 있습니다.
보안 수준이 낮은 인터페이스에 대한 아웃바운드 트래픽
더 높은 보안 인터페이스로 향하는 인바운드 트래픽
기본 옵션은 아웃바운드 트래픽용입니다. OK(확인)를 클릭하여 단계를 완료합니다.
참고: Do not exempt 옵션을 선택하면 해당 특정 호스트는 NAT에서 면제되지 않으며 "deny" 키워드와 함께 별도의 액세스 규칙이 추가됩니다. 이는 NAT 제외에서 특정 호스트를 피하는 데 도움이 됩니다. 이러한 호스트를 제외한 전체 서브넷은 NAT가 제외됩니다.
여기서는 아웃바운드 방향에 대한 NAT 제외 규칙을 확인할 수 있습니다. 컨피그레이션을 ASA에 보내려면 Apply를 클릭합니다.
이는 참조에 해당하는 CLI 출력입니다.
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
여기서는 해당 방향에 대한 NAT 예외 규칙을 수정하는 방법을 확인할 수 있습니다. 옵션을 적용하려면 OK(확인)를 클릭합니다.
이제 방향이 인바운드로 변경되었음을 확인할 수 있습니다.
이 CLI 출력을 ASA에 보내려면 Apply를 클릭합니다.
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
참고: 여기에서 새 키워드(outside)가 nat 0 명령의 끝에 추가되었음을 확인할 수 있습니다. 이 기능을 외부 NAT라고 합니다.
NAT를 비활성화하는 또 다른 방법은 아이덴티티 NAT의 구현을 통한 것입니다. ID NAT는 호스트를 동일한 IP 주소로 변환합니다. 다음은 Regular Static Identity NAT 예입니다. 여기서 호스트(172.16.11.20)는 외부에서 액세스할 때 동일한 IP 주소로 변환됩니다.
이는 동일한 CLI 출력입니다.
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
포트 전달 또는 포트 리디렉션은 외부 사용자가 특정 포트의 내부 서버에 액세스하려고 시도하는 유용한 기능입니다. 이를 위해 사설 IP 주소가 있는 내부 서버를 공용 IP 주소로 변환하며, 그러면 특정 포트에 대한 액세스가 허용됩니다.
이 예에서 외부 사용자는 포트 25의 SMTP 서버 209.165.200.15에 액세스하려고 합니다. 이 작업은 두 단계로 수행됩니다.
포트 25의 내부 메일 서버 172.16.11.15를 포트 25의 공용 IP 주소 209.165.200.15로 변환합니다.
포트 25에서 공용 메일 서버 209.165.200.15에 대한 액세스를 허용합니다.
외부 사용자가 포트 25의 서버 209.165.200.15에 액세스하려고 하면 이 트래픽이 포트 25의 내부 메일 서버 172.16.11 15로 리디렉션됩니다.
Configuration(컨피그레이션) > Firewall(방화벽) > NAT Rules(NAT 규칙)로 이동하고 Add(추가)를 클릭한 다음 Add Static NAT Rule(고정 NAT 규칙 추가)을 선택합니다.
원본 소스 및 변환된 IP 주소와 관련 인터페이스를 지정합니다. Enable Port Address Translation (PAT)(PAT(포트 주소 변환) 활성화)을 선택하고 리디렉션할 포트를 지정한 다음 OK(확인)를 클릭합니다.
구성된 Static PAT 규칙이 여기에 표시됩니다.
이는 동일한 CLI 출력입니다.
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
외부 사용자가 209.165.200.15에서 공용 smtp 서버에 액세스할 수 있도록 허용하는 액세스 규칙입니다.
참고: 액세스 규칙의 소스에서 any 키워드를 사용하는 대신 특정 호스트를 사용해야 합니다.
Static Rule을 사용하여 최대 TCP/UDP 연결 수를 지정할 수 있습니다. 최대 원시 연결 수를 지정할 수도 있습니다. 미발달 연결은 절반이 열린 상태의 연결입니다. 이 중 더 많은 수가 ASA의 성능에 영향을 미칩니다. 이러한 연결을 제한하면 DoS 및 SYN과 같은 특정 공격을 어느 정도 방지할 수 있습니다. 완벽한 완화를 위해서는 MPF 프레임워크에서 정책을 정의해야 합니다. 이 프레임워크는 이 문서의 범위를 벗어납니다. 이 항목에 대한 자세한 내용은 네트워크 공격 완화를 참조하십시오.
다음 단계를 완료하십시오.
Connection Settings(연결 설정) 탭을 클릭하고 이 고정 변환에 대한 최대 연결 값을 지정합니다.
다음 이미지는 이 특정 고정 변환에 대한 연결 제한을 보여줍니다.
이는 동일한 CLI 출력입니다.
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
이 섹션에서는 ASDM을 사용하여 시간 기반 액세스 목록을 구현하는 방법을 다룹니다. 액세스 규칙은 시간에 따라 적용될 수 있습니다. 이를 구현하려면 일/주/월/연별 시간을 지정하는 시간 범위를 정의해야 합니다. 그런 다음 이 시간 범위를 필요한 액세스 규칙에 바인딩해야 합니다. 시간 범위는 두 가지 방법으로 정의할 수 있습니다.
Absolute(절대) - 시작 시간과 종료 시간으로 기간을 정의합니다.
Periodic(주기적) - 반복이라고도 합니다. 지정된 간격으로 발생하는 기간을 정의합니다.
참고: 시간 범위를 구성하기 전에 ASA가 올바른 날짜/시간 설정으로 구성되었는지 확인하십시오. 이 기능은 시스템 클록 설정을 사용하여 구현합니다. ASA를 NTP 서버와 동기화하면 훨씬 더 좋은 결과를 얻을 수 있습니다.
ASDM을 통해 이 기능을 구성하려면 다음 단계를 완료하십시오.
액세스 규칙을 정의하는 동안 Time Range(시간 범위) 필드에서 Details(세부사항) 버튼을 클릭합니다.
새 시간 범위를 생성하려면 Add(추가)를 클릭합니다.
시간 범위의 이름을 정의하고 시작 시간과 종료 시간을 지정합니다. OK(확인)를 클릭합니다.
시간 범위를 여기서 확인할 수 있습니다. Add Access Rule(액세스 규칙 추가) 창으로 돌아가려면 OK(확인)를 클릭합니다.
이제 Restrict-Usage 시간 범위가 이 액세스 규칙에 바인딩되었음을 확인할 수 있습니다.
이 액세스 규칙 컨피그레이션에 따라 172.16.10.50의 사용자는 05/Feb/2011 2 PM에서 06/Feb/2011 4.30 PM까지의 리소스 사용이 제한되었습니다. 이는 동일한 CLI 출력입니다.
time-range Restrict-Usage absolute start 14:00 05 February 2011 end 16:30 06 February 2011 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
다음은 반복 시간 범위를 지정하는 방법에 대한 예입니다. 반복 시간 범위를 정의하려면 Add(추가)를 클릭합니다.
요구 사항에 따라 설정을 지정하고 OK(확인)를 클릭하여 완료합니다.
OK(확인)를 클릭하여 Time Range(시간 범위) 창으로 돌아갑니다.
이 컨피그레이션에 따라 172.16.10.50의 사용자는 토요일과 일요일을 제외한 모든 주중에 오후 3시부터 오후 8시까지의 리소스에 대한 액세스가 거부되었습니다.
! time-range Restrict-Usage absolute start 00:00 05 February 2011 end 00:30 06 March 2011 periodic weekdays 15:00 to 20:00 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
참고: time-range 명령에 절대 값과 주기적 값이 모두 지정된 경우 periodic 명령은 절대 시작 시간에 도달한 후에만 평가되고 절대 종료 시간에 도달한 후에는 더 이상 평가되지 않습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
30-May-2011 |
최초 릴리스 |