더북(TheBook)

7.11 보안을 위한 주의 사항

 

 

데이터베이스는 해커가 노리는 주요 대상입니다. 따라서 데이터베이스를 안전하게 보호하려는 노력이 필요합니다. 게임 서버에서는 데이터베이스에 접속할 때 접속 가능한 계정으로만 접속하게 하는 것이 좋습니다. 다음 두 가지를 기억하세요.

• 데이터베이스의 모든 것을 다룰 수 있는 관리자 계정은 오직 관리자만 직접 다룰 수 있게 합니다.

• 게임 서버가 사용하는 계정은 게임 서버가 다루는 테이블 이외에는 건드리지 못하게 합니다.

또 데이터베이스에는 게임 서버 이외의 다른 곳에서는 접속하지 못하게 네트워크를 격리할 필요가 있습니다. 예를 들어 게임 서버 데이터베이스만 서로 통신할 수 있는 사설 네트워크를 구축하면 좋습니다. 가상 사설 네트워크도 좋고, 방화벽을 이용해서 게임 서버만 접속할 수 있도록 하는 것도 권장합니다.

게임 서버나 다른 종류의 서버가 데이터베이스에 질의 구문을 던질 때, 질의 구문을 해커가 조작할 수 있는 상황을 미리 고려해야 합니다. 예를 들어 다음 코드를 봅시다.

sprintf(queryString, "select * from t1 where a='%s'", userName);
db.execute(queryString);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.