보안되지 않은 MySQL 'root'@ 'localhost'계정이 원격으로 액세스 되었습니까?


8

약간의 배경 : 우리는 방금 PBX 시스템을 해킹했습니다. 서버 자체는 안전 해 보이지만 (로그인 된 무단 콘솔 액세스-SSH 등은 아님) 해커들은 PBX 소프트웨어 (FreePBX, MySQL 지원)에 새로운 관리자를 주입 할 수있었습니다. Apache 로그는 해커가 웹 인터페이스 (또는 웹 인터페이스의 악용)를 사용하지 않고 사용자를 추가했음을 의미합니다.

이제는 MySQL이 루트 비밀번호 (!!)없이 실행 중이고 외부 IP 주소에 공개적으로 바인딩되어 있음을 발견했습니다 (분명히이 문제를 해결했습니다). 그러나 MySQL의 유일한 루트 수준 사용자는 'root'@'localhost''root'@'127.0.0.1'이며 둘 다 로컬에서만 액세스 할 수 있어야합니다.

그래서 내 질문은 이것입니다 :

다른 익스플로잇을 로컬로 실행하지 않고 원격 IP 주소에서 'root'@ 'localhost'사용자에 연결할 수 있도록 MySQL 연결을 스푸핑하는 방법이 있습니까?

참고로이 상자는 Mysql 5.0.95를 실행하는 Centos 5 (Linux 2.6.10)입니다.


ServerFault에 더 적합합니다.
kapa

확실하지 않습니다-개인적 느낌은 서버 구성 / 관리 문제가 적고 MySQL의 잠재적 버그를 악용하여 여기에 더 적합 할 수 있다는 것입니다. 사람들이 내가 잘못된 사이트 / 섹션에 있다고 생각하면 사과드립니다.
TFk

2
실제로, 그것은 아마도 security.stackexchange.com에

1
"유일한 루트 레벨 사용자는 root @ localhost"라고 말하지만 다른 사용자가 있습니까? 레코드를 추가하기 위해 루트 레벨 사용자가 필요하지 않습니다. 또한, 같은 FreePBX의 취약점을 찾아야한다 이것 .
마커스 아담스

링크의 익스플로잇은 FreePBX 버전에서 패치되었지만, FreePBX 취약점은 (패치되지 않은) 알려진 취약점과 일치하는 아파치 액세스 로그에서 아무것도 찾을 수 없다는 점을 제외하고는 가장 가능성이 높은 진입 점이라는 데 동의합니다. . 다른 사용자와의 좋은 점-db의 유일한 다른 사용자는 별표 (비 기본)의 암호를가집니다. 이것이 진입 점 인 경우 다시 릴리스 된 FreePBX 취약점을 가리 킵니다. "루트 비밀번호 없음"은 문서화되지 않은 새로운 FreePBX 익스플로잇과 비교했을 때 큰 구멍처럼 보였습니다. 따라서 내 질문 / 게시물.
TFk

답변:


1

아니.

로컬 시스템에서 오지 않으면 MySQL은 localhost또는 127.0.0.1호스트 사양 의 사용자에게 로그인 하지 않습니다. 여기에는 인증 우회 취약점 CVE 2012-2122도 포함됩니다. 암호 비교는 속일 수 있지만 호스트 비교는 그렇지 않습니다.

소스 호스트 검사를 "트릭"하기 위해 프록시에서 시스템에 무언가가 필요합니다. phpmyadmin과 같은 것, 또는 MySQL TCP 포트 앞에서 실행되는 HAProxy와 같은로드 밸런서가 떠 오릅니다.


그것은 내가 의심했던 것입니다. 즉, 빈 루트 암호가 잘못되면 악용되지 않았을 것입니다. 항상 정보에 입각 한 의견을 얻는 것이 좋습니다-많은 감사합니다.
TFk

2

이름 root은 기본적으로 생성되며 잘 알려져 있습니다. 리터럴 값 root는 MySQL 권한 시스템에서 의미가 없습니다. 따라서 사용자 이름을 계속 사용할 필요가 없습니다 root.

root외부 세계가 쉽게 식별 할 수 없도록 사용자 이름을 다른 이름으로 변경해야 합니다. 이렇게하면 해킹 시도가 줄어 듭니다.

예를 들어, 모든 사용자에게 root@ localhost로 알려진 사용자가있는 경우 해커가 사용자를 연결하려고하면 보안을 강화하기 위해 admin_db_name@ 와 같은 특정으로 변경해야합니다 localhost.

MySQL 서버에 대한 연결 Aborted_connects을 알기 위해 주기적으로 호출되는 상태 변수를 모니터링 Refused하십시오. Flush status;명령 후 0이어야하며 더 이상 증가해서는 안됩니다.

'Aborted_connects'와 같은 상태를 표시합니다.


2

실시하지 않습니다 "무단 액세스 기록" 시도한다을 로그인 실패 포함? 그렇지 않은 경우 CVE 2012-2122 일 수 있습니다 .

[...] memcmp 함수의 특정 구현으로 특정 환경에서 실행할 때, (MySQL)은 원격 공격자가 동일한 잘못된 암호로 반복적으로 인증함으로써 인증을 우회 할 수 있습니다. 반환 값.


"로그인 무단 액세스 금지"는 매우 모호합니다. 공격자가 서버에 대한 콘솔 액세스 권한을 얻지 못했음을 의미했습니다 (예 : SSH를 통해). 또한 Centos 빌드는 영향을받지 않지만 (< community.rapid7.com/community/metasploit/blog/2012/06/11/… ), 분명히 내가 찾고있는 종류입니다.
TFk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.