2017년 10월 24일 화요일

[mysql]웹서버 보안관련 mysql 계정 권한 설정.

웹서버에서 injection 공격에 의해서 의도치 않는 데이터 위변조를 막기위해서

서버측 에서 접속하는 mysql 계정에 select 권한만 주고 데이터 변경 로직은 프로시저로

처리 하기 위한 권한 설정.

use mysql;

-- 계정 확인
select host,user from user;

1.
-- 이미 존재할 경우만 계정 삭제
DROP USER 'client'@'%'; -- client 라는 계정 생성 하고 myschema 스키마 에 모든 테이블에 모든 원격접속을 허용하고 패스워드를 설정.
grant usage on myschema.* to 'client'@'%' identified by 'password'

-- myschema 스키마에 모든 테이블에 모든 권한 부여
grant all privileges on myschema.* to 'client'@'%' identified by 'password' with grant option;

-- myschema 스키마에 모든 테이블에 추가,삭제,변경 권한 삭제.
revoke DELETE,UPDATE,INSERT on myschema.* from 'client'@'%';

-- 적용
flush privileges;


-- 기타
-- 특정 권한주기
grant select on myschema.* to 'client'@'%' identified by 'password';

-- 프로 시저 실행 권한 주기.
grant execute on procedure myschema.* to 'client'@'%' identified by 'password'; -- 프로시저 실행 권한 추가.

댓글 없음:

댓글 쓰기

[OS]리눅스서버 WAS 관련 권한 관리

[Best Practice] Linux 서버 WAS 권한 체계 구축 가이드 리눅스 환경에서 다수의 운영자가 WAS(Tomcat, Nginx 등)를 공동 관리할 때 발생하는 권한 꼬임(Permission Denied) 문제를 방지하기 위한 표준 설정...