• 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. 보안
  • 1. 일반적인 보안 문제
    1. 보안 지침
    2. 비밀번호를 안전한 상태로
    1. 비밀번호 보안에 대한 최종 사용자 지침
    2. 비밀번호 보안에 대한 관리 지침
    3. 암호 및 로깅
    4. MySQL에서 암호 해시
    5. MySQL 4.1에서 암호 해시 변경이 응용 프로그램에 미치는 영향
    6. 비밀번호 확인 플러그인
    3. 공격자에 대한 MySQL의 안전한 상태 유지
    4. 보안 관련 mysqld 옵션 및 변수
    5. MySQL을 일반 사용자로 실행하는 방법
    6. LOAD DATA LOCAL 보안 문제
    7. 클라이언트 프로그램의 보안 지침
    2. MySQL 권한 시스템
    3. MySQL 사용자 계정 관리
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. 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 새로운 기능

6.1.2.1 비밀번호 보안에 대한 최종 사용자 지침

MySQL 사용자는 암호를 안전한 상태로하기 위해 다음 지침을 사용하는 것이 좋습니다.

클라이언트 프로그램을 실행하여 MySQL 서버에 연결하는 경우 다른 사용자의 검색에 의해 노출되는 방식으로 암호를 지정하는 것은 권장되지 않습니다. 클라이언트 프로그램을 실행할 때 암호를 지정하는 데 사용할 수있는 방법과 각 방법의 위험의 평가에 대해 다음 나열합니다. 간단히 말하면, 가장 안전한 방법은 클라이언트 프로그램이 암호를 묻는 프롬프트를 내도록하거나 적절하게 보호 된 옵션 파일에 암호를 지정하는 방법입니다.

  • mysql_config_editor 유틸리티를 사용합니다. 이것은 .mylogin.cnf 라는 암호화 된 로그인 파일에 인증 정보를 저장할 수 있습니다. 이 파일은 MySQL Server에 연결하기위한 인증 정보를 취득하기 위해 MySQL 클라이언트 프로그램에 의해 나중에 읽을 수 있습니다. 섹션 4.6.6 "mysql_config_editor - MySQL 구성 유틸리티" 를 참조하십시오.

  • 명령 행에서 -p your_pass 또는 --password= your_pass 옵션을 사용합니다. 예 :

     shell> mysql -u francis -pfrank db_name
    

    이것은 편리하지만 보안은 없습니다. 일부 시스템에서는 사용하고있는 비밀번호가 명령 행을 표시하기 위해 다른 사용자가 시작할 수 ps 등의 시스템 상태 프로그램에 의해 표시 할 수 있습니다. MySQL 클라이언트는 일반적으로 클라이언트 초기화 시퀀스 중에 명령 행 암호 인수를 제로로 덮어 씁니다. 그러나 아직 값이 표시되는 짧은 기간이 있습니다. 또한 일부 시스템에서는이 덮어 방법은 효과가없고, 암호 ps에서 볼 수있게 남아 있습니다. (SystemV Unix 시스템 및 아마 다른 시스템에서도이 문제의 영향이 있습니다.)

    터미널 창의 제목 표시 줄에 현재의 명령을 표시하도록 운영 환경이 설치되어있는 경우 명령 창 컨텐츠 영역에서 스크롤 아웃되고 표시되지 않는 경우에도 명령이 실행중인 한 암호가 표시 된 상태로 유지됩니다.

  • 명령 행에서 암호 값을 지정하지 않고 -p 또는 --password 옵션을 사용합니다. 이 경우 클라이언트 프로그램은 비밀번호를 대화식으로 요구합니다.

     shell> mysql -u francis -p db_name
     Enter password : ********
    

    " * "문자는 비밀번호를 입력했는지를 보여줍니다. 암호는 입력시 표시되지 않습니다.

    이 방법으로 암호를 입력하는 것이 명령 행에서 암호를 지정하는 것보다 보안입니다. 이것은 암호가 다른 사용자에게 표시되지 않기 때문입니다. 그러나이 비밀번호 입력 방법은 대화 형으로 실행하는 프로그램에 대해서만 적​​합합니다. 비 대화식으로 실행하는 스크립트에서 클라이언트를 호출하면 키보드에서 암호를 입력 할 수있는 기회는 없습니다. 일부 시스템에서는 스크립트의 첫 번째 행이 (잘못) 암호로 읽히고 해석되는 것조차 있습니다.

  • 비밀번호를 옵션 파일에 저장합니다. 예를 들어 Unix의 경우 홈 디렉토리의 .my.cnf 파일의 [client] 섹션에 비밀번호를 나열 할 수 있습니다.

     [client]
     password = your_pass
    

    비밀번호를 안전하게 유지하려면 자신 이외의 모든 사용자가 파일에 액세스 가능하게해서는 안됩니다. 이렇게하려면 파일 액세스 모드를 400 또는 600 으로 설정합니다. 예 :

     shell> chmod 600 .my.cnf
    

    암호를 저장하는 특정 옵션 파일을 명령 행에서 지정하려면 --defaults-file= file_name 옵션을 사용합니다. 여기서 file_name 은 파일의 전체 경로 이름입니다. 예 :

     shell> mysql --defaults-file=/home/francis/mysql-opts
    

    섹션 4.2.6 "옵션 파일 사용" 에는 옵션 파일에 대한 추가 정보 기재되어 있습니다.

  • MYSQL_PWD 환경 변수에 암호를 저장합니다. 섹션 2.12 "환경 변수" 를 참조하십시오.

    이 방법으로 MySQL 암호를 지정하는 것은 매우 위험하므로 사용해서는 없습니다. ps 버전은 실행 프로세스의 환경을 표시하는 옵션이 있습니다. 일부 시스템에서 MYSQL_PWD 을 설정하면 암호 ps를 실행하는 모든 사용자에게 공개됩니다. 그런 버전의 ps가없는 시스템도 사용자가 처리 환경을 조사 할 다른 방법이 없다고 가정하는 것은 현명하지 않습니다.

Unix의 경우 mysql 클라이언트는 실행 된 명령문을 기록 파일에 기록합니다 ( 섹션 4.5.1.3 "mysql 로그" 를 참조하십시오). 기본적으로이 파일은 .mysql_history 라는 이름으로 사용자의 홈 디렉토리에 작성됩니다. 암호는 CREATE USER , GRANT , SET PASSWORD 등의 SQL 문은 일반 텍스트로 쓸 수 있기 때문에 이러한 문을 사용하면 문은 기록 파일에 기록됩니다. 이 파일을 안전하게 유지하려면 이전 .my.cnf 파일에 대해 설명하는 것과 같은 방법이다 제한 액세스 모드를 사용합니다.

명령 인터프리터가 기록을 보존하도록 구성되어있는 경우 명령이 저장되는 모든 파일은 명령 행에서 입력 된 MySQL 암호가 저장됩니다. 예를 들어, bash는 ~/.bash_history 을 사용합니다. 그런 모든 파일은 제한된 액세스 모드로하도록하십시오.

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