Flash Player에서 소켓이 작동하지 않음

Adobe Flash Player 9.0.115.0 이후 버전을 사용하면 다음과 같은 구성이 의도한 대로 작동하지 않을 수 있습니다.

  • SWF 파일은 소켓 정책 파일을 검색하기 위해 loadPolicyFile 호출을 수행하지 않고 자체 호스트에 대한 소켓 또는 XMLSocket 연결을 다시 시도합니다.
  • SWF 파일은 자체 호스트에 대한 소켓 또는 XMLSocket 연결을 다시 시도하고 허용된 도메인 내에서 자체 도메인을 나열하지 않는 정책 파일을 로드합니다.
  • SWF 파일은 권한이 부여된 HTTP 정책 파일로 모든 호스트에 대한 소켓 또는 XMLSocket 연결을 다시 시도합니다.

이러한 변경 사항이 사이트에 영향을 주는지 확인하려면 진단 섹션에서 지침을 참조하십시오.

이유

Flash Player 9.0.115.0 이후 버전에서는 소켓 연결에 대한 권한 요구 사항이 변경되며 HTTP 정책 파일이 더 이상 소켓 연결을 승인하지 않습니다. Flash Player에는 두 가지 종류의 정책 파일이 있습니다.

  • HTTP 정책 파일은 다른 도메인의 SWF 파일이 해당 서버의 컨텐츠를 로드할 수 있는지를 정의하는 서버에 있는 crossdomain.xml 파일입니다.
  • 소켓 정책 파일은 Flash Player가 소켓 또는 XMLSocket 연결을 사용하여 연결할 수 있는 포트를 정의합니다.

이전 버전에서는 SWF 파일을 제공한 도메인이 소켓 연결 도메인과 같고

  • 게재 도메인이 crossdomain.xml 파일을 호스팅한 경우
  • 소켓에서 배포한 정책 파일인 소켓 정책 파일을 1024 이상의 큰 포트에 연결할 필요가 없었습니다.

1024 이상의 포트에서 제공되는 중요한 서비스 수가 증가하므로 이러한 초기 구성은 고객에게 위험을 초래했습니다. 또한 이러한 변경은 Flash Player 소켓을 사용하여 피해자의 호스트에 도달하는 DNS 재바인딩 공격 가능성을 완화하는 데 도움이 됩니다. 이 문제를 완화하려면 Flash Player에는 대상 포트와 crossdomain.xml 파일의 존재 여부와 관계없이 모든 소켓 연결에 대한 소켓 정책 파일이 필요합니다. 현재 포트 843의 소켓 정책 파일에는 고정된 마스터 위치가 있습니다. 이 포트의 정책 파일은 다른 소켓 정책 파일이 호스트에서 정의되는지를 정의하는 메타 정책을 정의할 수 있습니다. 기본적으로 모든 소켓 정책 파일이 승인됩니다.

crossdomain.xml 파일이 있기 때문에 이전에 1024 이상의 포트에서 SWF 파일을 원래 호스트에 연결할 수 있었던 경우 이제 소켓 정책 파일을 보유해야 합니다. 소켓 정책 파일은 마스터 소켓 정책 포트(843) 또는 소켓 연결과 동일한 포트에서 제공될 수 있습니다.

진단

이러한 변경 사항이 사이트에 영향을 주는지 확인하려면 다음 정보를 사용하십시오. Flash Player 9.0.115.0에서는 새로운 기능인 정책 파일 로깅이 새롭게 도입되었습니다. 정책 파일 로그는 정책 파일 검색 시도, 파일 처리 시 성패 여부, 파일에 좌우되는 요청의 결과 등 정책 파일과 관련한 각 이벤트에 대한 메시지를 보여줍니다. 정책 파일 로그 메시지에 대한 전체 참조는 Flash Player 9 및 10의 정책 파일 변경 사항 부록 B에서 확인할 수 있습니다.

정책 파일 로그 사용 방법

  1. Flash Player 9.0.115.0 이상의 디버그 버전을 설치합니다. ActiveX, 플러그인 및 독립형 중 원하는 유형의 Flash Player를 사용할 수 있습니다. Flash Player 디버그 버전은 Flash Player 지원 센터의 다운로드에서 다운로드할 수 있습니다.
  2. mm.cfg 구성 파일의 위치를 확인합니다. 이 구성 파일은 시작 시 Flash Player의 디버그 버전이 읽게 되는 일반적인 디버깅 구성 파일입니다. mm.cfg 파일은 홈 디렉토리에 있습니다. 예를 들면 다음과 같습니다.

    • Windows: C:\Documents and Settings\username
    • Windows Vista: C:\Users\username
    • Mac OS 및 Linux: /home/username
  3. 이 구성 파일이 존재하는 않는 경우 mm.cfg를 생성하고 다음 두 줄 중 하나나 두 개를 모두 이 구성 파일에 추가합니다.

    • PolicyFileLog=1 # 정책 파일 로깅 활성화
    • PolicyFileLogAppend=1 # 선택 사항; 시작 시 로그를 삭제하지 않음
    • PolicyFileLogAppend가 활성화되지 않은 경우 새로운 루트 수준의 SWF 파일은 로그 파일을 삭제합니다. policyfilelogappendpolicyfilelogappend<>가 활성화되어 있는 경우 로그 파일의 이전 컨텐츠는 항상 유지되며 로그 파일의 크기는 마지막에 증가합니다.

    수많은 다른 루트 수준의 SWF 파일이 테스트 도중 로드되면 PolicyFileLogAppend를 활성화하는 것이 좋습니다. 하지만 PolicyFileLogAppend를 활성화한 경우, 수동으로 이름을 바꾸거나 로그 파일을 삭제해야 할 수도 있습니다. 그러지 않으면 용량이 커져서 이전 출력이 종료되고 새 출력이 시작되는 위치를 확인하기가 어려울 수 있습니다.

  4. 정책 파일 로그 파일인 policyfiles.txt가 작성될 위치를 찾습니다. 아직 존재하는 것은 아니지만 SWF 파일이 실행되면 Flash Player가 이 파일을 생성하게 됩니다. 다음 위치에서 policyfiles.txt를 찾을 수 있습니다.
    • Windows: C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs
    • Windows Vista: C:\Users\username[ AppData]\Roaming\Macromedia\Flash Player\Logs
    • Mac OS: /Users/username/Library/Preferences/Macromedia/Flash Player/Logs(프로그램이 환경 설정 디렉토리에 로그 파일을 작성하는 것은 비전형적인 방식이지만 이 경우 이 경로를 사용함)
    • Linux: /home/username/.macromedia/Flash_Player/Logs
  5. 설정을 확인하려면 Flash Player에서 SWF 파일을 실행한 뒤 Flash Player 또는 브라우저를 닫습니다.

  6. Logs 디렉토리에 policyfiles.txt가 표시됩니다. 이 파일에 최근 수정 시간이 기록되어 있는지 확인합니다. 이 파일을 열어 한 개 이상의 메시지가 표시되어 있는지 확인합니다(예: "Root-level SWF loaded"). 메시지가 표시되어 있다면 정책 파일 로깅이 제대로 작동하는 것입니다.

  7. 테스트해야 하는 SWF 컨텐츠를 검토합니다. 모든 시나리오에서 컨텐츠를 실행해보면서 정책 파일과 충돌할 수 있는 상황을 테스트합니다. 모두 완료하면 Flash Player를 종료합니다.
  8. policyfiles.txt를 읽고 테스트 실행 동안 정책 파일에 발생한 내용을 확인합니다. 메시지가 명확하지 않으면 Flash Player 9 및 10의 정책 파일 변경을 참조하십시오.

  9. policyfiles.txt에 향후 참조용으로 보관하려는 유용한 정보가 있다면 해당 로그 파일의 이름을 policyfiles.txt가 아닌 다른 이름으로 변경하거나 다른 디렉토리에 옮겨 다음에 Flash Player가 실행될 때 이 로그를 덮어쓰지 않도록 합니다.

해결 방법: 호스트에 연결을 허용하는 소켓 정책 파일 생성

이 문제를 해결하려면 호스트에 연결을 허용하는 소켓 정책 파일을 생성해야 합니다. 이 정책 파일은 포트 843의 소켓 마스터 정책 위치 또는 소켓 연결의 대상 포트에서 제공될 수 있습니다. 소켓 정책 파일에는 소켓을 포함하여 소켓에 연결할 수 있는 모든 도메인이 포함되어야 합니다. 소켓 정책 파일이 마스터 정책 파일 위치에서 호스팅되는 경우 소켓 정책 파일을 찾을 수 있는 메타 정책을 포함시킵니다.

소켓 정책 파일 변경 사항은 Flash Player 9 및 10의 정책 파일 변경에 자세히 설명되어 있습니다. (로그 메시지는 부록 B에서 자세히 설명합니다.)

추가 참조

Flash Player 보안 정보의 경우 Flash Player 보안 페이지에서 확인하십시오.

크로스 도메인 및 소켓 정책 파일 변경 사항은 Flash Player 9 및 10의 정책 파일 변경에 자세히 설명되어 있습니다.

이 작업에는 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License의 라이센스가 부여되었습니다.  Twitter™ 및 Facebook 게시물은 Creative Commons 약관을 적용받지 않습니다.

법적 고지 사항   |   온라인 개인 정보 보호 정책