답변:
이 주장을 한 사람은 "누군가가 발에 들어가면 완전히 접근 할 수있을 것"이라고 말하는 것 같습니다. 이 논리에 따라 방화벽은 내부 네트워크의 모든 암호가 필요하지 않습니다.
강력한 암호는 네트워크 침입으로 인한 피해를 제한하기위한 한 단계입니다. 네트워크의 작은 부분이 손상되었다고해서 패배 할 이유가 없습니다.
그것은 실제로 ' 심층 방어 '라는 개념으로 돌아가서 적어도 강력한 암호는 암호를 느리게하여 발견하고 차단할 수 있습니다. 나는 문이있는 공동체를위한 하나의 열쇠와 모든 집의 문 열쇠를 갖는 비유를 좋아한다.
MySQL 서버 설정 방법에 따라 다릅니다. 홈 (127.0.0.1) IP 외부의 요청 만 수락하면 적당히 더 안전합니다.
원격 IP를 허용하는 시나리오에서는 훨씬 더 큰 거래가됩니다.
또한 침입시 강력한 보안을 유지하는 것이 좋습니다. 가능한 한 적은 거리를 유지하는 것이 좋습니다.
실제로 다른 방법이 될 수 있습니다. mysql에 액세스 할 수 있으면 서버 OS 자체에 액세스 할 수 있습니다.
여기서 간과 된 것 같습니다. 신뢰할 수있는 네트워크에서 사용자를 신뢰하십니까?
솔직히, 나는 IT에서 시작할 때 어떤 모습인지 알기 때문에 그렇지 않습니다. 나는 권한이 없었던 영역을 찌르고 찌르고, 솔직히 약한 MySQL 암호는 나에게 행운이었고 기회를 얻었을 때 우연히 기뻐했을 것입니다. 당연하지).
누군가 사회 공학을 사용하여 신뢰할 수있는 네트워크에 접속하면 어떻게 되나요? 그럼 넌 어때? 방화벽 뒤의 시스템에있는 경우 보안이 제대로 작동하지 않으며 견고한 방화벽 보안이 손상되어 시스템으로 바로 연결됩니다.
강력한 암호는 매우 간단하고 암호를 안전하게 유지하기위한 많은 암호 관리 도구가 있으므로 암호를 사용하지 않는 것에 대한 변명이 없습니다.
localhost
/ 127.0.0.1
를 호스트로 지정해야한다는 것 입니다. 이런 식으로 아무도 외부의 데이터베이스에 액세스 할 수 없습니다 (같은 네트워크의 데이터베이스도 포함).
요구 사항이 변하기 때문에 ...
따라서 로컬 시스템으로 만 MySQL 연결을 수락하는 것으로 제한되는 오늘날 서버는 내일에 외부 도구를 사용하여 데이터베이스를 관리 할 수 있습니다. 이 설정을 수행하는 사람은 사용중인 암호가 매우 약하다는 것을 모를 수 있습니다.
우수하고 강력한 (예 : 길고 임의의) 암호를 기억해야하는 사용자가 불편한 경우 암호를 매우 강하게 설정 한 다음 .my.cnf
암호를 입력하는 것이 약한 암호를 사용하는 것보다 훨씬 편리합니다. 물론 여기에도 보안 관련 사항이 있지만 비밀번호를 액세스하는 애플리케이션과 같이 비밀번호를 어딘가에 저장해야하므로 이미 비밀번호 사본을 확보하고 있습니다.
또한 @meagar의 말을 읽어보십시오.
그들이 이미 액세스 할 수 있다는 전제는 사실이 아닙니다. 그러나 액세스 권한이 있고 권한이없는 계정이 있으면 여전히 mysql 비밀번호를 쉽게 해킹 할 수 있습니다.
또한 서버가 라이브 프로덕션 서버 인 경우 인터넷에 자신을 광고하는 것보다. 어떤 점에서, 누군가는 것을 의미 것 , 포트 및 사용자 계정 모두를 mysql을 포함하여 해당 서버에 브 루트 포스 공격을 시도합니다.
데이터에 관심이있는 경우 기본 단계보다 루트 사용자와 데이터베이스의 루트 비밀번호가 다릅니다. 다른 사람들은 사용자와 프로그램에 대해 가능한 가장 낮은 권한을 가져야한다고 말했습니다.
꽤 싼 컴퓨터에서 4 자 암호를 몇 분 안에 해킹 할 수 있습니다.
나는 다른 사람들이 말한 것을 반복하고 있을지 모르지만, 당신의 상사를위한 탄약이 많을수록 좋습니다.
실제 시나리오의 많은 이유는 이전에 게시물로 덮여 있었으므로 "철학"을 추가하겠습니다. 강력한 암호를 사용하고 보안을 강화하기 위해 예방 조치를 취하는 것이 작업 철학입니다. 사고 방식.
약한 암호를 사용하여 지금 당신이있는 거 MySQL의는 127.0.0.1에서 실행 루트 사용자가 액세스 권한을 가지고 있기 때문에 당신이 미리 생각하지 않는다는 것을 보여줍니다. 언젠가 mysql에 네트워크를 통해 액세스 권한을 부여해야하는 경우 어떻게됩니까? 당신이 떠난 모든 보안 전체를 포함해야합니까?
좋은 관리자는 최악의 시나리오를 편집증의 관점에서 먼저 생각합니다.
사용자의 권한에 따라 항상 여러 수준에서 항목을 잠 가야합니다. 또한 데이터베이스에 저장 한 데이터에 따라 다릅니다. 또한 MySQL에는 전체 데이터베이스를 인수 할 수있는 취약점이 있지만 사용자 계정으로 로그인하기 만하면된다는 가설도 있습니다. 암호가 강력하면이 취약점이 무시됩니다. 그러나 이것은 실제로 특정 사건에 달려 있습니다.
mysql에서 다른 사람을 사칭하는 것은 매우 쉽습니다. 비밀번호가없는 사용자 ID (가장 약한 보안)가 주어지면 그냥 사용하십시오 mysql -u userid
. 암호가 있으면 조금 더 어렵지만 암호가 약하면 쉽게 사용할 수 있습니다. root에 비밀번호가 없으면 root로 액세스 할 수 있습니다 mysql -u root
. 그런 다음 루트가 할 수있는 모든 것을 데이터베이스 내에서 수행 할 수 있습니다.
특히 원격 액세스가 가능하거나 사용 가능한 경우 보안에 호스트 사양을 사용하는 것이 좋습니다.
파일의 비밀번호는 권한에 의해 다소 보호 될 수 있습니다. 루트 또는 비밀번호 파일 소유자의 액세스는 사소한 것입니다. 가능한 경우 디스크의 암호를 암호화해야합니다. 이로 인해 액세스가 약간 어려워 지지만 여전히 취약합니다.
글쎄, 당신이 MySQL DB를 직접 호스팅하지 않지만 호스팅 서비스에 있고 누군가가 서버의 IP 주소에 액세스하면 사용자 이름과 비밀번호가 마지막 방어선입니다. 항상 안전한 사용자 이름 / 암호를 사용하는 것이 좋습니다.
root:root
로그인 중 하나 인 것 같습니다 .