• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 1. InnoDB 소개
    2. InnoDB의 개념과 아키텍처
    3. InnoDB 구성
    4. InnoDB 관리
    5. InnoDB 테이블 스페이스 관리
    6. InnoDB 테이블 관리
    7. InnoDB 압축 테이블
    8. InnoDB 파일 형식 관리
    9. InnoDB Row Storage and Row Formats
    10. InnoDB 디스크 I/O 및 파일 영역 관리
    11. InnoDB와 온라인 DDL
    12. InnoDB 부팅 옵션 및 시스템 변수
    13. InnoDB의 성능
    14. InnoDB INFORMATION_SCHEMA 테이블
    15. InnoDB 모니터
    16. InnoDB 백업 및 복구
    17. InnoDB와 MySQL 복제
    18. InnoDB 및 memcached의 통합
    1. InnoDB 및 memcached 조합의 장점
    2. InnoDB 및 memcached의 통합 아키텍처
    3. InnoDB Memcached 플러그인의 개요
    4. InnoDB memcached 플러그인의 보안 고려 사항
    1. SASL을 활용한 memcached 인터페이스 암호 보호
    5. InnoDB memcached 인터페이스용 응용 프로그램 만들기
    6. 복제에서 InnoDB memcached 플러그인 사용
    7. InnoDB memcached 플러그인 내부 구조
    8. InnoDB memcached 플러그인 문제 해결
    19. InnoDB 문제 해결
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

14.18.4.1 SASL을 활용한 memcached 인터페이스 암호 보호

SASL 지원을 통해 memcached 클라이언트를 통해 인증되지 않은 액세스로부터 MySQL 데이터베이스를 보호하는 기능을 사용할 수 있습니다. 이 섹션에서는이 옵션을 사용 가능하게하는 단계를 설명합니다. 이러한 지원을 가능하게하는 단계는 기존의 memcached 서버에서 SASL을 사용 가능하게하는 단계와 거의 동일합니다.

백그라운드 정보

SASL은 "Simple Authentication and Security Layer"를 의미하고, 연결 기반 프로토콜에 인증 지원을 추가하기위한 규격입니다. memcached는 1.4.3 버전에서 SASL 지원이 추가되었습니다.

SASL 인증은 바이너리 프로토콜에서만 지원됩니다.

InnoDB + memcached 조합의 경우 memcached 데이터를 저장하는 테이블은 container 시스템 테이블에 등록해야합니다. 또한 memcached 클라이언트는 이러한 등록 된 테이블에 액세스 할 수 있습니다. memcached 플러그인에 등록 된 테이블에 DBA의 액세스 제한을 추가 할 수 있지만, memcached 응용 프로그램을 통해 액세스 할 수있는 사용자를 제어 할 수 없습니다. 따라서 memcached와 관련된 InnoDB 테이블에 액세스 할 수있는 사용자를 제어하기위한 (SASL을 통한) 방법을 제공하고 있습니다.

다음 섹션에서는 SASL 지원 InnoDB memcached 플러그인을 구축, 활성화 및 테스트하는 방법을 보여줍니다.

InnoDB Memcached 플러그인 SASL을 빌드 및 사용 가능하게하는 단계

기본적으로 SASL 지원 InnoDB memcached는 SASL 라이브러리를 사용한 memcached 빌드에 의존하고 있기 때문에 릴리스 패키지에 포함되어 있지 않습니다. 이 기능을 사용하려면 MySQL 소스를 다운로드하여 SASL 라이브러리를 다운로드 한 후 InnoDB memcached 플러그인을 다시 빌드합니다.

  1. 첫째, SASL 개발 라이브러리 및 유틸리티 라이브러리를 가져옵니다. 예를 들어, Ubuntu에서는 다음과 같이하여 이러한 라이브러리를 얻을 수 있습니다.

     sudo apt-get -f install libsasl2-2 sasl2-bin libsasl2-2 libsasl2-dev libsasl2-modules
    
  2. 그런 ENABLE_MEMCACHED_SASL=1 을 cmake 옵션에 추가하여 SASL 기능을 갖는 InnoDB memcached 플러그인 (공유 라이브러리)를 빌드합니다. 또한 memcached는 테스트에 쉽게 사용할 수있는 간단한 평문 암호 지원을 제공합니다. 이를 활성화하려면 옵션 ENABLE_MEMCACHED_SASL_PWDB=1 을 설정합니다.

    전반적으로 다음 세 가지 옵션을 cmake에 추가합니다.

     cmake ... -DWITH_INNODB_MEMCACHED = 1
       -DENABLE_MEMCACHED_SASL = 1 -DENABLE_MEMCACHED_SASL_PWDB = 1
    
  3. 세 번째 단계에서는 섹션 14.18.3 "InnoDB Memcached 플러그인 개요" 에서 설명한 바와 같이, InnoDB memcached 플러그인을 이전과 같이 설치합니다.

  4. 앞에서 설명한 바와 같이, memcached는 SASL에 의한 단순한 평문 암호 지원이 제공되며,이 데모에서 사용합니다.

    1. testname 라는 사용자와 암호 testpasswd 를 파일에 작성합니다.

      echo "testname:testpasswd:::::::" >/home/jy/memcached-sasl-db
      
      
    2. 환경 변수 MEMCACHED_SASL_PWDB 을 설정하여 memcached에이 정보를 알려줍니다.

       export MEMCACHED_SASL_PWDB=/home/jy/memcached-sasl-db
      
    3. 또한 이것이 일반 텍스트 암호 인 것도 memcached에 통지합니다.

      echo "mech_list: plain" > /home/jy/work2/msasl/clients/memcached.conf
      export SASL_CONF_PATH=/home/jy/work2/msasl/clients
      
      
  5. 그런 다음 서버를 재부팅하고 daemon_memcached_option 옵션 -S 를 추가하여 SASL을 사용합니다.

     mysqld ... --daemon_memcached_option = "- S"
    
  6. 이제 설치가 완료되었습니다. 이를 테스트하려면이 SASL 대응 libmemcached 같은 SASL 해당 클라이언트가 필요한 경우도 있습니다.

     memcp --servers = localhost : 11211 --binary --username = testname
       --password = testpasswd myfile.txt
    
     memcat --servers = localhost : 11211 --binary --username = testname
       --password = testpasswd myfile.txt
    

    적절한 사용자 이름이나 암호가 없으면 이전 절차는 오류 메시지 memcache error AUTHENTICATION FAILURE 거부됩니다. 그렇지 않으면 작업이 성공합니다. 또한 memcached-sasl-db 파일에 설정된 일반 텍스트 비밀번호를 조사하여이를 검증 할 수 있습니다.

memcached에서 SASL 인증을 검사하는 방법은 그 밖에도 있습니다. 그러나 위에 언급 된 것이 가장 쉽습니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved