본문 바로가기

공부/sis문제풀이

정보보호 기술 훈련장 관리방어 공간 49번문제

* mysql 원격접속 차단
     3306/tcp 포트를 리스닝하지 않게 할 경우, 외부에서 접근이 불가능하므로 mysql
     db 접근시 로컬에서만 가능하도록 설정하라.
     (mysql 데몬이 시작시 자동으로 인식하여 시작하도록 설정하여야 한다.)
  
   * root 암호 설정
     초기 설치시에는 root 암호가 설정되지 않아 누구든 접근이 가능하므로 보안을
     위해 root 암호를 설정하고 갱신하도록 한다.
     mysql root 암호는 akdlsql로 설정하도록 한다.

   * test DB 삭제
     기본적으로 설치되어 있는 test db에는 암호없이 접근이 가능하므로 보안을 위해
     삭제하도록 한다.

   * 사용하지 않는 유저 삭제
     db 뿐만이 아니라 사용하지 않는 mysql 계정은 바로 삭제하여 발생할 수 있는
     문제를 사전에 대처하여야 한다. 사용자 중 evil 이라는 계정을 삭제하도록 한다.

문제는 대강 이렇다.

우선 네트워크로 mysql 원격접속을 하지 못하게 하려면
/etc/my.cnf 파일에 skip-networking 옵션 추가 하면 되고

####################  testDB 삭제하기  ##############################
# mysqladmin drop test -p
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'test' database [y/N]
y
Database "test" dropped

##mysql로 들어가기(현재 비밀번호가 없음)################################
# mysql -u root -p

###############root계정에 비밀번호 주기###############################
mysql>update user set Password = password('akdlsql') where user ="root";
Query OK, 1 row affected (0.02 sec)

##############비밀번호 변경후 이 명령어를 반드시 쳐줘야한다###############
mysql>flush privileges
Query OK, 1 row affected (0.05 sec)

##############유저 삭제하기#########################################
mysql>delete from user where user="evil";
Query OK, 1 row affected (0.05 sec)

#######안쳐도 되는거 같은데 그냥 불안해서 쳐봤다;#########################
mysql>flush privileges
Query OK, 1 row affected (0.05 sec)


이렇게 진행하면 끝