>  기사  >  데이터 베이스  >  MySQL 데이터베이스 보안 강화 (3)

MySQL 데이터베이스 보안 강화 (3)

巴扎黑
巴扎黑원래의
2017-04-28 16:55:001599검색

사용자 권한 관점에서 MySQL 데이터베이스의 보안을 강화하는 방법에 대해 이야기해 보세요

말하듯 아는 것이 힘입니다. MySQL의 권한 시스템과 특정 권한 부여의 결과를 이해했는지 확인하세요. 어떤 사용자에게도 불필요한 권한을 부여하지 마십시오. 이를 확인하려면 가트 테이블을 살펴봐야 합니다.

특히 꼭 필요한 것이 아니라면 관리자가 아닌 사용자에게는 PROCESS, FILE, SHUTDOWN, RELOAD 등의 권한을 부여하지 마세요. PROCESS 권한을 사용하면 다른 사용자가 입력한 비밀번호를 포함하여 무엇을 하고 입력하는지 관찰할 수 있습니다. FILE 권한은 예를 들어 UNIX 시스템의 /etc/password를 포함하여 운영 체제에서 파일을 읽고 쓰는 데 사용될 수 있습니다.

GRANT 권한은 사용자가 다른 사용자와 권한을 공유할 수 있으므로 매우 신중하게 부여해야 합니다.

사용자를 생성할 때 현재 연결된 호스트의 데이터베이스에 대한 액세스 권한만 부여하는지 확인하세요. jane@localhost라는 이름의 사용자가 있습니다. 괜찮지만 간단한 jane이 어디에서든 로그인하는 것은 매우 일반적입니다. 이 jane은 여러분이 생각하는 jane이 아닐 수도 있습니다. 같은 이유로 호스트 이름에 와일드카드를 사용하지 않아야 합니다.

호스트 테이블에서 도메인 이름 대신 IP 주소를 사용하면 보안 성능을 향상시킬 수 있습니다. 이렇게 하면 DNS 위치에서 오류 문제나 해커를 피할 수 있습니다. --skip-name-resolve 옵션을 사용하여 MySQL 데몬을 시작하면 향상될 수 있습니다. 즉, 모든 호스트 열의 값은 IP 주소 또는 localhost여야 합니다.

또한, 관리자가 아닌 사용자는 웹 서버의 mysqladmin 프로그램에 접근하지 못하도록 해야 합니다. 이는 명령줄에서 실행되므로 운영 체제 권한 문제입니다.


MySQL 서버에 대한 원격 액세스 제한

대부분의 사용자는 이 단계를 거칠 필요가 없습니다. 안전하지 않음 MySQL 서버에 액세스하기 위한 개방형 네트워크입니다. 방화벽이나 하드웨어를 구성하거나 MySQL이 localhost만 수신하도록 하여 호스트를 제한할 수 있습니다. 또한 원격 액세스에는 SSH 터널이 필요합니다.

사용자가 localhost에서만 연결하지 못하도록 제한하려면 구성 파일에 바인딩 주소=127.0.0.1을 추가해야 합니다.

[관련 권장 사항]

MySQL 데이터베이스의 보안을 개선하세요(1)

MySQL 데이터베이스의 보안을 개선하세요(2)

MySQL 데이터베이스의 보안을 개선하세요. MySQL 데이터베이스 보안 (4)


위 내용은 MySQL 데이터베이스 보안 강화 (3)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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