!주의! sa 계정의 비밀번호를 설정하지 않고 윈도우 인증을 차단할 경우 DB ADMIN 접속 불가

위 사항을 주의하고 미리 sa 계정을 설정하고 진행

보통 서버의 administrator가 sql server의 windows 인증에 사용된다.

 

1. sa나 윈도우 인증을 통해 관리자로 로그인

2. 보안-로그인-xxxx\Administrator 우측클릭-속성클릭

3. 상태-로그인: 사용 안 함 체크 후 확인

 

 

'Knowledge > SQL-server' 카테고리의 다른 글

Check size and conunt of tables  (0) 2015.01.19
Posted by neo-orcl
,

비밀번호를 변경하고 싶은데 평소에 이 유저에 접속하는 다른 머신을 확인하고 싶을 수가 있다.

 

sys나 system으로 진행

 

1. 테이블 생성

create table log_audit

(username varchar2(30),

osuser varchar2(30),

machine varchar2(64),

logon_time date,
session_id_1 number,

session_id_2 number)

tablespace users;

 

2. 트리거 생성

CREATE or replace TRIGGER logonauditing
AFTER LOGON ON 유저명.SCHEMA
DECLARE
  username       VARCHAR2(30);
  machinename         VARCHAR2(64);
  osuserid            VARCHAR2(30);
  session_id_part1    NUMBER;
  session_id_part2    NUMBER;
  CURSOR c1 IS
    SELECT username, osuser, machine, sid, serial#
      FROM v$session WHERE audsid = userenv( 'sessionid' );
BEGIN
  OPEN c1;
  FETCH c1 INTO username, osuserid, machinename, session_id_part1, session_id_part2;
  INSERT INTO r3log_audit(username, osuser, machine, logon_time, session_id_1, session_id_2)
          VALUES ( username, osuserid, machinename, sysdate,session_id_part1, session_id_part2);
  CLOSE c1;
  COMMIT;
END;
/

'Knowledge > Oracle' 카테고리의 다른 글

undo 관련 좋은 링크  (0) 2015.09.15
null 관련 주의사항  (0) 2015.07.10
oracle 접속 ip 차단하기  (0) 2015.01.22
dg4obbc 제약사항  (0) 2014.12.31
EZCONNECT 사용방법  (0) 2014.05.30
Posted by neo-orcl
,

이 트리거를 걸어둬도 유저가 dba 권한을 가지고 있으면 동작하지 않는다.

허용하는 ip가 아니면 해당 유저가 접속할 수 없도록 하는 예시

 

create or replace TRIGGER SYSTEM.LOGON_ACL
after logon
on database
WHEN (
    user='유저명'
)
declare
v_ip varchar(32);
BEGIN
    select sys_context('USERENV', 'IP_ADDRESS') into v_ip from dual;
    IF (v_ip not in ('xx.xx.xx.xx','xx.xx.xx.xx')) THEN
         RAISE_APPLICATION_ERROR(-20000, 'Access denied! You don"t have permission to login!');
    ELSIF (v_ip is null) then                                                    --db서버에서 sqlplus 방지
         RAISE_APPLICATION_ERROR(-20000, 'Access denied! You don"t have permission to login!');
    END IF;
END;

 

아니면 이렇게도 가능하다

 

create or replace TRIGGER SYSTEM.LOGON_ACL
after logon
on 유저명.schema

declare
v_ip varchar(32);
BEGIN
    select sys_context('USERENV', 'IP_ADDRESS') into v_ip from dual;
    IF (v_ip not in ('xx.xx.xx.xx','xx.xx.xx.xx')) THEN
         RAISE_APPLICATION_ERROR(-20000, 'Access denied! You don"t have permission to login!');
    ELSIF (v_ip is null) then                                                    --db서버에서 sqlplus 방지
         RAISE_APPLICATION_ERROR(-20000, 'Access denied! You don"t have permission to login!');
    END IF;
END;

 

'Knowledge > Oracle' 카테고리의 다른 글

null 관련 주의사항  (0) 2015.07.10
logon trail trigger on oracle  (0) 2015.01.22
dg4obbc 제약사항  (0) 2014.12.31
EZCONNECT 사용방법  (0) 2014.05.30
DB Upgrade 상식  (0) 2014.05.27
Posted by neo-orcl
,