2016-12-02 5 views
-2

나는 회사의 구성원 인 동료가있어, 표준 포트 3306의 MySQL 서버에 액세스해야합니다. 그는 mysqli 연결을 사용하여 PHP 스크립트를 통해 액세스 할 것입니다. mysql을 통해 액세스 권한을 추가 했음에도 불구하고 그는 "연결 거부"메시지를 받기 위해 연결할 수 없습니다. 일시적으로 iptables를 비활성화하고 시도해 보았고 연결할 수있었습니다. 물론 iptables를 다시 켜야했지만 이제는 다시 연결할 수 없습니다. Iptables를 사용하여 허용 된 IP 주소로 포트 3306 (MySQL)을 여는 방법은 무엇입니까?

나는 파일로의 iptables 규칙 저장 및 확인하고이 포트 3306를 참조에서 유일하게 라인이이었다

-A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT 

내가 iptables에에서 전문가가 아니라고하지만 가정 오전에는 "INPUT이 없기 때문에 그 "3306에 대한 규칙은 포트 3306이 들어오는 모든 트래픽을 차단한다는 것을 의미합니다. 그래서 제 질문은 매우 간단하고 직접적입니다. 어떻게 그 항구를 제외한 모든 사람들에게 그 항구를 계속 폐쇄 할 수 있습니까? 다시 말해서, 그의 IP 주소가 포트 3306에서 INCOMING 트래픽 만 사용하고 OUTPUT 트래픽을 위해 서버가 계속 작동하는 것을 허용하려면 어떻게해야합니까? 또한 그의 IP 주소가 동적이며 모든 것을 자주 변경한다는 점에 주목할 필요가 있습니다. 그래서 IP 주소에 대한 액세스를 제거하고 새로운 IP 주소로 바꾸는 방법을 알고 싶습니다. 감사. 서로 연결하는 MySQL의에서 부여에서 지난

/etc/mysql/mysql.conf.d/mysqld.cnf 
bind-address=[IP_ADDRESS_FROM] 

권한을 : 당신은으로 IP 주소를 바인딩해야합니다, sudo iptables -A INPUT -s [IP_ADDRESS_FROM] -p tcp --destination-port 3306 -m state --state NEW,ESTABLISHED -j ACCEPT

그리고 :

+0

Shudder. "인터넷에서 해킹당하는 방식으로 MySQL 서버를 신중하게 설정하는 방법"과 같은 소리가납니다. 작업 MySQL 데이터는 가치가 있습니까? 그렇다면 VPN을 구성하여 홈 <> 작업 연결을 보호하고 보안 설정을 올바르게 구성하고 테스트 할 수있는 네트워킹 보안 담당자의 서비스를 구입하십시오. 아, 귀중한 모든 데이터를 잘 백업했는지 확인하십시오. 그리고 당신은 기본 MySQL 관리자 암호를 변경 했습니까? 비표준 포트 (예 : 3306이 아닌)로 이동하면 자동 해킹 될 가능성을 줄일 수 있습니다. – barny

+0

@barny 일반 로그에서 해킹 시도를 살펴 보는 것은 놀라운 일입니다. 꽤 무서운. – Drew

+0

실제로 그렇습니다. 조심해. – barny

답변

0

이 시도에 대해 동일 IP에서 모든 TCP 연결을 허용 호스트 (localhost가 아니라 [IP_ADDRESS_FROM] 또는 "%"로 변경 - 모든 IP에 대해).

+0

아, _all_ mysql 암호가 강력해야합니다. 열린 인터넷에 대해 이것을하는 생각은 무서운 것입니다. – barny