동일한 호스트에 있는 응용 프로그램에 Mysql을 사용하면 Mysql에 네트워크를 통한 접근을 전혀 허용하지 않아도 될 확률이 높다. 외부연결을 허용할 필요를 없애면 공격자가 여러분의 Mysql 서버에 접근하는 방법의 수가 줄어든다.
네트워크 접근 비활성화는 관리 변경을 원격에서 하는 기능을 제한하므로, Mysql 서버에 SSH로 로그인하거나, 여러분이 직접 변경하도록 해주는 웹 기반 응용프로그램을 설치해야 한다. 일부 윈도우 시스템에서는 원격 로그인이 어려울 수도 있는데, 그런 경우 원격 접근의 대안이 있다. 해결책 한 가지는 phpMyAdmin을 설치하는 것이다. 하지만 거기에도 보안상의 문제가 있으므로 주의해야한다.
skip_networking 옵션은 Mysql이 어떠한 TCP 소켓에 대해서도 접속 대기를 하지 않게 하지만, 유닉스 소켓의 연결은 계속 허용할 것이다. 네트워크 지원없이 Mysql을 시작하기는 간단하다. 다음 옵션을 my.cnf 파일의 [mysqld]절에 넣는다.
[mysqld]
skip_networking
skip_networking 옵션은 불편한 부작용이 있다. 이옵션은 안전한 원격 연결과 복제에 stunnel 등의 도구를 사용하는 것을 막으며 자바 응용프로그램의 연결을 막는다.( Mysql JDBC 드라이버인 Connector/J는 TCP/IP를 통해서만 연결한다.)
다른 방법으로는 아래와 같이 Mysql을 구성하는 것이 있다.
[mysqld]
bind_address=127.0.0.1
이렇게 하면 TCP 연결이 가능해지지만 로컬 장치에서만 가능하므로 안전하며 편리하다. 잘 알려진 GNIU/리눅스 배포판 일부는 이 구성을 기본으로 포함하도록 바뀌었다.
* skip_networking 으로 구성된 Mysql 슬레이브 서버 구성은 흥미롭다. 이것은 마스터에 연결을 시작하므로 슬레이브의 모든 데이터가 갱신되지만 어떠한 TCP 연결도 허용되지 않으므로 원격으로 피해를 입을 수 없는 더욱 안전한 백업 복제를 할 수 있다. 하지만 장애 조치 구성에서는 그러한 슬레이브를 사용할 수 없다.
다른 클라이언트가 거기에 연결할 수 없기 때문이다.
-> 마스터 & 슬레이브 구성할 떄는 들어가면 위험한 옵션이었군
'쇠똥굴리기(BOOK) > Mysql 성능최적화' 카테고리의 다른 글
실행계획(explain) 사용 (2) | 2019.09.25 |
---|---|
운영체제 보안 (0) | 2019.09.10 |
localhost와 127.0.0.1로 연결 및 차이점 (0) | 2019.09.09 |
1.Mysql 아키텍처 (0) | 2019.09.04 |
INTRO (0) | 2019.09.04 |