2009년 11월 9일 월요일

MySQL 보안 - TCP Wrapper

MySQL에 TCP Wrapper가 되게 하려면 configure옵션에 --with-libwrap을 지정한다.

shell$ ./configure --with-libwrap=/usr

디렉토리가 지정된 경우, 지정된 디렉토리 밑에 TCP Wrapper 헤더파일과 라이브러리가 필요하다.

컴파일과 인스톨이 끝난 뒤는 다른 TCP Wrapper설정과 마찬가지로 hosts.allow와 hosts.deny파일을 편집해야한다.

hosts.{allow,deny}의 최초 컬럼은 프로그램이름이다. 보통은 mysqld이지만 만약 바이너리 파일의 이름을 변경했을 경우에는 그것으로 해야한다.

hosts.deny파일의 편집예

mysqld: .my.domain
mysqld-5.1: 192.168.0.0/255.255.255.240


libwrap를 추가하면 클라이언트가 접속할 때마다 서버는 TCP Wrapper를 이용해서 클라이언트의 접속의 허가, 거부를 수행한다.