>백엔드 개발 >PHP 튜토리얼 >PHP 마스터 | PCI 준수 및 PHP에 대한 의미

PHP 마스터 | PCI 준수 및 PHP에 대한 의미

Christopher Nolan
Christopher Nolan원래의
2025-02-24 09:01:11394검색

PHP Master | PCI Compliance and What it Means to PHP PCI 준수 및 PHP 개발에 미치는 영향 PCI는“지불 카드 산업”의 약자를 나타내지 만, 많은 사람들에게는 무거운 법령과 법적 분쟁을 가진 의심의 여지가없는 영혼을 묻기 위해 비밀 국제 카르텔이 부과하는 모호한 표준입니다. 진실은 훨씬 지루합니다. 실제로 PCI는 신용 카드 회사 및 산업 보안 전문가의 연합이 신용 또는 직불 카드 정보를 처리 할 때 응용 프로그램의 행동 방식을 규제하기 위해 개발 한 일련의 보안 지침입니다. 신용 카드 회사는 이러한 표준을 은행에 부과하며,이 은행은 전자 상거래 웹 사이트를 운영하는 우리에게 부과합니다. 이 기사에서는 PCI에 대한 지속적인 오해를 제거하고 20,000 피트 높이의 PCI에 대해 배우고 일반 코딩 및 PHP와 관련된 요구 사항에 중점을 둘 것입니다.

키 포인트

PCI (지불 카드 산업) 표준은 신용 카드 회사 및 보안 전문가가 신용 또는 직불 카드 정보를 처리하는 방법을 규제하기 위해 보안 지침입니다. 소규모 전자 상거래 사이트를 포함하여 지불을 위해 신용 카드 정보를 수락하는 모든 사람들에게 적합합니다.

PCI 표준에는 안전한 네트워크 구축 및 유지 관리, 카드 소지자 데이터 보호, 취약성 관리 절차 유지 관리, 강력한 액세스 제어 메커니즘 구현, 네트워크를 정기적으로 모니터링 및 테스트하며 정보 보안 정책을 유지하는 등 12 가지 기본 요구 사항이 포함되어 있습니다. 신용 카드 데이터를 처리하는 애플리케이션을 작성할 때 PHP 개발자는 이러한 표준을 준수해야합니다. 여기에는 공급 업체의 기본 프로파일 또는 비밀번호를 사용하지 않고 저장된 카드 소지자 데이터 보호 및 암호화, 보안 시스템 및 응용 프로그램 개발, 액세스 제한 및 리소스 및 데이터에 대한 모든 액세스 추적 및 기록이 포함됩니다. PCI 표준은 보안 지침과 아이디어를 제공하지만 특정 기술이 아니며 해커로부터 보호받을 수는 없습니다. 그러나 이러한 표준을 준수하면 보안 위반 가능성을 줄이고 회사의 법적 및 소비자 상태를 향상시킬 수 있습니다.

PCI 표준 준수는 일회성 작업이 아니며 지속적인주의와 연례 검토가 필요합니다. 개발자는 PCI 보안 표준위원회 웹 사이트 및 관련 보안 뉴스 레터, 블로그 및 교육 프로그램을 통해 최신 PCI 요구 사항 및 보안 모범 사례에 대한 정보를 유지해야합니다.
  • PCI 오해
  • PCI 표준에는 많은 오해가 있습니다. 오해 중 하나는 마피아 행동 강령과 같지 않기 때문에 원하는 방식으로 해석 될 수 있다는 것입니다. 물론 이것은 잘못되었습니다. PCI 표준에 대한 완전한 설명을 배우려면 pcisecuritystandards.org를 방문하십시오. 또 다른 오해는 PCI 안전 표준이 은행 및 대기업과 같은 "대기업"에만 적용된다는 것입니다. 신용 카드 정보를 수락하는 모든 사람이 상품 비용을 지불하는 데 적합합니다. 어머니가 유명한 레몬 파이를 판매 할 수 있도록 PHP 웹 사이트를 작성했다면 PCI 지침에 맞는 시스템이 있습니다. 세 번째 오해는 PCI 표준을 따르면 악성 해킹으로부터 보호되고 데이터가 안전하게 유지된다는 것입니다. 물론 이것은 좋지만 진실은 PCI 표준이 특정 기술이 아니라 가이드와 아이디어라는 것입니다 (모든 아키텍처와 플랫폼에 맞게 모호해야합니다). 분명히 보안에 더 집중할수록 공격을받을 가능성이 줄어들지 만 누구나 공격을받을 수 있습니다. 최소한 PCI 기대치를 충족 시키려고한다면 법과 소비자 측면에서 검토가 더 좋습니다. 마지막으로, PCI는 단지 하나만 달성 한 다음 심호흡을 할 수있는 것이 아닙니다. 이 표준은 1 년에 한 번 PCI 검토를 수행해야하므로 품질 보증 작업이나 배우자의 말, 진행중인 작업과 같습니다. 간단한 사실은 PCI가 크기에 관계없이 신용 카드 데이터를 처리하는 응용 프로그램에서 작업하는 모든 프로그래머가 알아야한다는 것입니다. 그렇습니다. 그래서 딜러는 현금 만 수집하는 이유입니다.

    PCI의 기본 사항

    PCI 표준은 12 개의 기본 요구 사항으로 구성됩니다. 표준은 약 2 년마다 업데이트되며,이 기간 동안 PCI 세계의 하위 집합을 다루는 다양한보다 구체적인 가이드 파일이 게시됩니다. 예를 들어, 2013 년 2 월 PCI 직원은 PCI 및 클라우드 컴퓨팅에 대한 백서를 발표했습니다. 이 특별 보고서는 PCI 웹 사이트에서도 제공됩니다. 보시다시피, 많은 PCI 요구 사항은 네트워크와 관련이 있지만 전체 PCI에 대한 기본적인 이해가 없다면 이러한 것들에 대해 이야기하는 요점은 무엇입니까? 이러한 요구 사항은 다음과 같습니다.
      Area 1 - 안전한 네트워크를 설정하고 유지 관리
    • 요구 사항 1 - 환경을 보호하기 위해 방화벽을 설치하십시오. 요구 사항 2 - 공급 업체 기본 프로필 또는 비밀번호를 사용하지 마십시오.
      • 영역 2 - 카드 소지자 데이터 보호
      • 요구 사항 3 - ​​저장된 카드 소지자 데이터를 보호합니다.
      • 요구 사항 4 - 공개 공개 네트워크에서 전송 된 카드 소지자 데이터를 암호화합니다.
    • 영역 3 - 취약성 관리 절차 유지 요구 사항 5 - 바이러스 백신 소프트웨어를 사용하고 정기적으로 업데이트하십시오.
        요구 사항 6- 안전한 시스템 및 응용 프로그램을 개발하고 유지 관리합니다.
      • 영역 4 - 강력한 액세스 제어 메커니즘 구현
    • 요구 사항 7 - 이해해야하는 원칙에 따라 카드 소지자 데이터에 대한 액세스를 제한합니다.
    • 요구 사항 8 - 컴퓨터 액세스 권한이있는 각 사람에게 고유 한 ID를 할당합니다. 요구 사항 9 - 카드 소지자 데이터에 대한 물리적 액세스를 제한합니다.
      • Area 5 - 정기 모니터링 및 테스트 네트워크
      • 요구 사항 10 - 네트워크 리소스 및 카드 소지자 데이터에 대한 모든 액세스를 추적 및 모니터링/기록합니다.
      • 요구 사항 11 - 안전 시스템 및 프로세스의 정기 테스트.
    • 지역 6 - 정보 보안 정책 유지 요구 사항 12- 정보 보안을 해결하기위한 정책을 유지합니다.
      • 이러한 프로젝트 중 일부는 정책 결정과 관련이 있습니다. 즉, 카드 정보를 보호하고 네트워크 및 응용 프로그램의 전반적인 보안을 보장하기 위해 어떻게 노력하는지 명확하게 설명하는 결정. 다른 요구 사항은 네트워크 자체 및 보호에 사용할 수있는 소프트웨어와 관련이 있습니다. 그들 중 일부는 프로세스의 설계 단계, 응용 프로그램을 구축하고 설정하는 방법을 포함합니다. 코드와 관련된 요구 사항은 거의 없으며 안전한 상태를 유지하는 특정 프로그래밍 기술을 설명 할 요구 사항이 없습니다. 길이를 상대적으로 짧게 유지하기 위해 아이러니와 지혜 (70:30 비율)를 제한하고 마지막 두 그룹에 중점을 둘 것입니다.
      • 요구 사항 2- 공급 업체의 기본 구성 파일/비밀번호를 사용하지 마십시오 여러면에서 이것은 거의 자명합니다. 보안 요원은 우리가 이런 것들에 대해 걱정하기 시작한 이후로 우리에게 말하고 있습니다. 그러나 우리가 사용하는 많은 소프트웨어 (예 : MySQL)에서 기본 계정과 암호를 사용하는 것이 얼마나 쉬운 지 놀랍습니다 (특히 무언가를 처음 설치하고 모든 것이 "테스트"상태에있을 때). 우리 대부분은 모든 것을 처음부터 수행하기보다는 일부 기본 소프트웨어 주변에 응용 프로그램을 구축하기 때문에 여기서 위험이 증가합니다. 암호화 및 키 스토리지 (아래 참조)를 처리하는 데 사용하는 패키지 일 수도 있고 전체 응용 프로그램의 프레임 워크 일 수도 있습니다. 어느 쪽이든, 기억하기 쉬우 며, 구현하기 쉬운 : 기본 계정을 사용하지 마십시오.
      • 요구 사항 3- 저장된 카드 소지자 데이터를 보호
      • 가장 유명한 소매 웹 사이트 해킹에서 내가 기억하는 것은 웹 사이트에서 저장된 카드 도난 또는 기타 데이터가 포함되어 있었기 때문에 이것을 PCI 표준의 가장 중요한 부분으로 나열했습니다. 분명히 저장 한 카드 데이터는 암호화해야합니다. 그리고 당신은 암호화를 잘해야합니다. 암호화를 잘 알고있는 사람들에게는 데이터 암호화를 잘 수행한다는 것은 암호화 키를 잘 관리했음을 의미합니다. 키 관리는 암호화 프로세스에 사용되는 키를 생성, 저장 및 업데이트하는 문제와 관련이 있습니다. 아무도 시스템에 들어가서 열쇠를 훔칠 수 없도록하기를 원하기 때문에 저장하는 것은 큰 문제가 될 수 있습니다. 관리 전략은 키를 여러 부분으로 나누는 방법에 따라 다릅니다. 키 관리에 대한 소개에 대해 알고 싶다면 Securosis 에서이 백서부터 시작하여 물이 빠르게 변할 것이라는 점을 계속 공부하는 것이 좋습니다. 깊은. 물론, 상용 제품을 사용하여 암호화를 처리하는 경우 프로세스가 신뢰할 수 있고 접근 방식에 맞는지 확인하려고하지만 주요 관리를 남길 수 있습니다. 대부분의 상업용 제품은 PCI를 염두에두고 개발되므로 PCI 표준에 따라 구축 될 것이지만, 이는 여전히 보조 검사를 수행하지 못하게하지는 않습니다. 또한 저장 한 데이터 양을 최소화하거나 제거하면 데이터를 보호하는 작업이 훨씬 쉬워집니다. 즉, 카드 소지자 데이터는 이름, 생일, 카드 번호, 유효 기간, 카드 검증 (CV) 코드 (카드 뒷면 또는 전면의 3 ~ 4 자리) 등이 될 수 있습니다. 항목이 적을수록 암호를 암호화해야 할 필요성이 줄어들고 책임이 적습니다. 다행히도 이것은 PCI 표준의 매우 구체적인 영역으로, 저장할 수 있고 저장할 수없는 데이터를 명확하게 정의합니다. 카드 번호 (PAN - 기본 계정 번호), 카드 소지자 이름, 만료 날짜 및 서비스 코드를 저장할 수 있습니다. 팬을 저장하면 팬을 표시하려면 차단해야하며 처음 6 개와 마지막 4 자리 만 표시 할 수 있습니다. 핀, CV 코드 또는 자기 스트라이프의 전체 내용을 저장할 수 없습니다. 디자인 단계에서 스스로에게 물어봐야 할 질문은 실제로 보관하고 싶은이 성가신 데이터의 양입니다. 그것을 유지해야 할 유일한 이유는 다음에 고객에게 쉬운 경험을 제공하고 싶기 때문입니다. 생일을 유지하여 생일에 친근한 초대장을 보낼 수 있습니다. 이 모든 데이터는 암호화되고 보호되어야하므로 신뢰할 수있는 상업용 사용을 확인하십시오. 요구 사항 4 (전송중인 데이터 암호화)는이 부분의 일부로 간주되지만 인프라의 일부로 간주 할 것이며 세부 사항으로 진행되지 않습니다.

        요구 사항 6- 안전한 시스템 및 응용 프로그램을 개발하고 유지 관리

        이것은 코드 관련 요구 사항입니다. 특정 기능이나 클래스를 목표로하지는 않지만 최소한 일반적인 안전 표준을 따르고 가능한 한 안전한 물건을 만들도록 노력하십시오. 따라서 응용 프로그램을 명백한 공격에 취약하게 만들지 않는 코딩 기술 (언어에 관계없이)을 사용합니다. 예를 들어, 양식 데이터를 수락 할 때 예방 조치를 취함으로써 SQL 주입을 방지하려고 시도하면 XSS 등을 차단하려고합니다. 보다 일반적인 보안 문제를 피하는 방법에 대한 자세한 내용은 Sitepoint에 게시 된 다른 기사 (이 기사 및이 기사 및 "Safe"를 검색 할 때 찾을 수있는 다른 기사를 참조하십시오. <p> 는 7과 8을 필요로합니다 - 제한된 액세스 및 고유 ID 가 필요합니다. <things>이 두 가지는 응용 프로그램에 액세스하는 방식과 관련이 있으므로 코딩과 디자인 사이에 있습니다. 사람들이 게스트 프로필을 통해 로그인하고 쇼핑 할 수있게하지 않는 한 각 방문자에게 고유 한 ID를 갖도록 요구하는 것은 문제가되지 않습니다. 나는 당신이 이것을 할 수있는 여러 웹 사이트를 생각할 수 있지만, 그 자체로는 악하지는 않지만 그룹 프로파일을 사용하는 것은 위험하며 많은 권한이 없는지 확인하려면 더주의를 기울여야합니다. 일반적으로 ID가 저장된 ID가 아닌 경우에도 고유 한 ID를 설정하려고 시도해야합니다. 예를 들어, 사람들이 게스트로 로그인 할 수 있지만 즉시 백그라운드에서 이벤트에 대한 고유 한 구성 파일을 만듭니다. 또한 카드 소지자 데이터에 대한 물리적 액세스를 제한하고 싶습니다. 이것은 우리가 Isaac Asimov의 환상적인 여정과 같은 위시경 크기로 사람들을 축소시켜 저장 장치에 주입하여 카드 데이터의 1과 1을 얻을 수있는 미래의 힌트 일 수 있습니다. 잠긴 서버 룸, 모든 방문자를위한 배지, 누구나 백업 테이프에 가까이 갈 수 없도록 허용하지 않습니다. <p> <track> 요구 사항 10- 자원에 대한 모든 액세스/데이터 추적 및 녹음 <don> 마지막으로, 자원이나 카드 소지자 데이터에 액세스하는 모든 것을 추적하고 기록하는 것의 중요성을 과소 평가하지 마십시오. 나는 모든 것을 의미합니다. 기록해야 할 이벤트에는 로그인, 로그 아웃, 데이터 액세스, 실제로 자원 또는 데이터 요소가 포함되며 감사 트레일 또는 형사 시험의 증거에 유용 할 수 있습니다. 로그를 매일 점검하여 1 년 동안 로그를 저장하는 보안 로그를 구현해야합니다. PHP 사용자의 경우 PHP-FIG 그룹의 PSR-3 로깅 표준에 익숙해지는 것이 유리합니다.이 그룹은 로깅을 설정하는 통합적이고 유연한 방법을 제공합니다. 여기서 깊이 다이빙하는 대신 Patrick Mulvey의 입문 기사를 읽는 것이 좋습니다. <p> 요약 </p> <p> <want> 제가 강조하고 싶은 한 가지는 PCI가 케이크의 착빙이 아니라는 것입니다. 신용 카드 데이터를 사용하는 응용 프로그램 작성의 기본 부분입니다. 이러한 종류의 데이터를받는 응용 프로그램을 작성하는 경우 고객이 알고 있는지 여부에 관계없이 귀하에게 효과가 있습니다. 컨텐츠의 대부분은 인코딩 수준보다 높지만 실제이며 여전히주의를 기울여야합니다. Fotolia의 사진 </want></p> <p> PCI 준수 및 PHP 개발에 대한 FAQS (FAQS) </p> <i> PCI 규정 준수는 무엇이며 PHP 개발자에게 중요한 이유는 무엇입니까? <h3> PCI 준수는 신용 카드 정보를 수락, 처리, 저장 또는 전송하는 모든 회사가 안전한 환경을 유지하도록 설계된 일련의 보안 표준 인 PCI DSS (Payment Card Industry Data Security Standard)를 준수하는 것을 말합니다. PHP 개발자의 경우 PCI 규정 준수를 이해하고 구현하는 것이 고객의 민감한 데이터를 보호하고 데이터 유출 위험을 줄이며 사용자와의 신뢰를 구축하는 데 도움이되므로 매우 중요합니다. 규정을 준수하지 않으면 벌금, 벌금 및 지불 처리 능력 상실로 이어질 수 있습니다. </h3> </i><p> PHP 개발자는 PCI 준수를 어떻게 보장합니까? </p> <p> PHP 개발자는 몇 가지 주요 단계를 통해 PCI 준수를 보장 할 수 있습니다. 이러한 단계에는 일반적인 취약성을 방지하기 위해 안전한 코딩 관행을 사용하고, 민감한 데이터를 암호화하고, 강력한 액세스 제어 구현, 정기적으로 테스트 및 시스템 및 응용 프로그램을 테스트하고 업데이트하며 정보 보안 정책 유지가 포함됩니다. </p> <common> PHP의 일반적인 보안 취약점은 무엇이며이를 방지하는 방법은 무엇입니까? <h3> PHP의 일부 일반적인 보안 취약점에는 SQL 주입, XSS (Cross-Site Scripting) 및 CSRF (Cross-Site Request Prostery)가 포함됩니다. 이러한 취약점은 미리 준비된 명령문 또는 매개 변수화 된 쿼리를 사용하여 SQL 주입, 사용자 입력 검증 및 청정 청정 및 CSRF 토큰을 방지하여 CSRF 공격을 방지함으로써 방지 할 수 있습니다. </h3> <p> PHP 개발자는 신용 카드 데이터를 어떻게 안전하게 처리합니까? </p> <p> PHP 개발자는 PCI DSS 요구 사항에 따라 신용 카드 데이터를 안전하게 처리 할 수 ​​있습니다. 여기에는 공개 공개 네트워크에서 전송 된 카드 소지자 데이터 암호화, 저장된 카드 소지자 데이터 보호, 강력한 액세스 제어 구현, 네트워크를 정기적으로 모니터링 및 테스트하며 정보 보안 정책을 유지하는 것이 포함됩니다. </p> <enc> PCI 준수에서 암호화가 어떤 역할을합니까? <h3> <tion> 암호화는 PCI 준수에 중요한 역할을합니다. 신용 카드 정보와 같은 민감한 데이터를 읽을 수없는 형식으로 변환하여 민감한 데이터를 보호하는 데 도움이됩니다. 이는 암호 해독 키를 사용 하여만 해독 할 수 있습니다. 이렇게하면 전송 중에 데이터가 가로 채워지더라도 무단 개인은 읽거나 사용할 수 없습니다. </tion> </h3> <p> PHP 개발자는 강력한 액세스 컨트롤을 어떻게 구현합니까? </p> <p> PHP 개발자는 컴퓨터 액세스가있는 각 사람에게 고유 한 ID가 할당되도록함으로써 카드 소지자 데이터에 대한 물리적 액세스를 제한 할 수 있으며, 비즈니스가 강력한 액세스 제어 조치를 구현 해야하는 원칙에 따라 카드 소지자 데이터에 대한 액세스를 제한 할 수 있습니다. 또한 액세스 컨트롤을 정기적으로 검토하고 필요에 따라 업데이트해야합니다. </p> <consequ> PCI DSS를 준수하지 않은 결과는 무엇입니까? <h3> <ly> PCI DSS를 준수하지 않으면 벌금, 처벌 및 신용 카드 지불 처리 능력 상실 등 다양한 결과가 발생할 수 있습니다. 또한 회사의 명성을 손상시키고 고객 신뢰가 감소 할 수 있습니다. </ly> </h3> <ph> PHP 개발자는 시스템 및 응용 프로그램에 보안 취약점이 있는지 얼마나 자주 테스트해야합니까? <h3> PHP 개발자는 보안 취약점에 대한 시스템과 응용 프로그램을 정기적으로 테스트해야합니다. 테스트 빈도는 PCI DSS의 특정 요구 사항에 따라 다르지만 모범 사례로서 시스템 및 응용 프로그램은 1 년에 한 번 이상 테스트하고 중대한 변경 후에 테스트해야합니다. </h3> <information> 정보 보안 정책이란 무엇이며 PCI 준수에 중요한 이유는 무엇입니까? <p> <is> 정보 보안 정책은 정보 자산을 보호하기 위해 회사가 이어지는 일련의 규칙 및 절차입니다. 모든 직원이 카드 소지자 데이터를 보호하는 데있어 자신의 역할과 책임을 이해하고 보안 제어를 구현하고 유지하기위한 프레임 워크를 제공 할 수 있도록하는 데 PCI 준수에 중요합니다. </is></p> <p> PHP 개발자는 최신 PCI DSS 요구 사항 및 보안 모범 사례를 어떻게 최신 상태로 유지합니까? </p> <h3> PHP 개발자는 최신 PCI DSS 요구 사항을 최신 상태로 유지하고 공식 PCI 보안 표준위원회 웹 사이트를 정기적으로 확인하고 관련 보안 뉴스 레터 및 블로그에 가입하고 보안 컨퍼런스 및 웹 세미나에 참석하며 보안 교육 및 인증 프로그램에 참여합니다. 안전 모범 사례. </h3></information></ph></consequ></enc></common></don></track></p></things></p>

위 내용은 PHP 마스터 | PCI 준수 및 PHP에 대한 의미의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.