리눅스 서버 보안/데이터베이스 보안 3

데이터베이스 장애를 방지하기 위한 이중화 구성

데이터베이스가 DDOS 공격이나 해킹을 당해서 장애가 발생하더라도 데이터베이스 서비스는 유지되어야 한다. 이를 위해서 여러 대의 데이터베이스 서버를 구성하여서 주 서버가 예비 서버에게 데이터를 실시간으로 복제하거나 3대 이상의 서버로 구성하는 클러스터 기능을 사용하자. 이번 실습에서는 MariaDB에서 제공하는 복제기능을 사용해서 데이터베이스 이중화를 구성해 볼 것이다.데이터베이스 이중화데이터베이스 이중화를 구성하려면 먼저 이중화를 위한 서버를 하나 생성해야한다. 기존 서버를 종료하고 오른쪽 마우스를 클랙하면 복제버튼이 나올 것이다. 복제를 누르면 이러한 창이 뜬다.예비 서버를 slave로 지정하고 복제를 해보자.이렇게 설정이 끝났다면 slave 서버가 하나 복제가 될 것이다.자, 이제 복제한 slave..

데이터베이스 네트워크 보안 설정

데이터베이스는 사용자 다수가 외부에서 접근하는 서비스로 네트워크 보안이 가장 중요하다. 만약 데이터베이스에 누구나 접속이 가능하다면 서비스 거부 공격이나 SQL Injection 같은 해킹 공격에 취약해질 수밖에 없다. 이번 실습에서는 방화벽 설정을 통해서 데이터베이스를 사용하는 특정 포트만 네트워크에 접근하게 하고, 원격 접속을 제한하여 네트워크 보안을 강화해 볼 것이다. 데이터베이스의 네트워크 방화벽 설정MariaDB와 Mysql은 주로 TCP 3306번 포트로 통신을 한다. 외부 사용자가 데이터베이스에 접근하도록 하려면 해당 포트의 방화벽을 허용해야 한다. 그러나 이렇게 모든 사용자가 접근하도록 방화벽 정책을 사용한다면 해킹공격에 매우 취약해진다. 보안을 강화하기 위해서 데이터베이스를 사용하는 서버..

데이터베이스 초기 보안 설정

데이터베이스를 공격하는 대표적인 방법으로 파일 업로드 공격으로 인한 webshell공격, 네트워크 취약점을 활용하여 hydra를 사용한 공격 등이 있다. 안전한 데이터베이스 구축을 위해 고려할 요소는 데이터베이스의 접근 통제, 데이터베이스의 통신보안, 데이터베이스 가용성, 암호화 등이 있다. 이번 실습에서는 실무에서 많이 사용하는 MySQL 기반의 오픈소스인 MariaDB를 설치하고 데이터베이스를 안전하게 구축하기 위한 데이터베이스 초기 환경을 설정할 것이다. 데이터 베이스 초기 설정우선 MariaDB를 설치하고 실행해서 정상적으로 작동되는지 확인하자.MariaDB에서는 관리자 비밀번호 설정 및 초기 보안 설정을 위한 명령어를 제공한다. 그래서 초기 설정을 위해 다음과 같이 실행해 보자.그러면 여러 가지..