여기서의 SysDBA와 SysOper 를 통한 인증은 결과적으로 PASSWORD FILE 인증을 의미한다.
이전에도 보았듯이 Oracle의 접속 그룹에 대한 리스트는 컴퓨터 관리에서 확인할 수 있다.
기존의 방법은 이를 이용하여 접근하는 방법이었다.
이를 확인해 보면 기본적으로 Administrator가 포함도어 있는 것을 알 수 있다. 허나, 이는 보안상 위험하므로 이를 삭제하고 별도로 접속하도록 한다.
위의 그림을 보면 기존에 ora_dba 그룹에 Administrator가 있을 때에는 conn /as sysdba 로 접근이 가능했다. 이는 현재 OS에 로그인 한 계정에 대한 정보를 기본적으로 넘기기 때문에 가능했던 일이었으나, 그룹에서 Administrator를 삭제한 후에는 접속이 안되는걸 볼 수 있다. 이 후로는 접속시 권한을 지정하여 접속하는 방법으로 접근하도록 한다. 위의 마지막 같이 ID/PW 뒤에 AS 권한 을 입력하면, 할당 되어 있을 시에 그 해당 권한을 가진 ID로 접속할 수 있다.
이에 대한 정보는 C:\oracle\product\10.2.0\db_1\database 폴더에 있는 PWDTKOraDB.ora란 파일 안에 계정과 암호가 저장되어 있다. 암호를 잊어먹거나, 이 파일이 손상되었을 때에 대한 방법은 추후 확인하도록 하겟다.
저장된 SysDBA와 SysOper 계정에 대한 정보는 위와 같은 쿼리문으로 확인할 수 있다. 이때 Normal 계정에 Grant 명령어로 SysDBA 권한을 부여한다.
이 부여된 계정은 기본적인 Normal 권한과 SysDBA 권한을 동시에 가지고 있다. 맨 처음 명령처럼 연결 할 때, user정보에 대한 접근이 불허 되었지만, SysDBA권한으로 연결 시 접근되는 것을 볼 수 있다.
User 계정과 PWD 확인이 위와 같이 가능하다. 단, PWD는 암호화 되어 있는 것을 볼 수 있다.
기본적인 Oracle Server에 대한 정보는 Registry를 통하여 알 수 있다.
Regedit를 실행후 HEKY_LOCA_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1을 확인하면 설치시 지정된 값들에 대한 정보를 확인할 수 있다.
부여된 권한은 revoke를 이용하여 삭제할 수 있다.
이번엔 SysOPER권한을 부여하여 보자.
이때 SysOper의 권한은 상세한 다른 권한은 제한된다. 다만, System의 Shutdown과 StartUp등의 구동만이 가능하다.
위의 화면은 이를 확인하는 과정이다.
이번엔 PWD 파일이 삭제 되었거나 계정 암호를 잃어버렸을 때 처리하는 방법이다.
우선 기존에 있던 PWD 파일을 삭제하자.
삭제 후 연결을 시도하면 접속이 불가능함을 알 수 있다.
이럴 경우 orapwd 명령을 이용하여 sys 계정에 대한 암호를 설정할 수 있다.
orapwd file=c:\Database 경로\PWD'DB명'.ora password='새로운 PWD' entries='DBA권한을 가질 계정수'의 양식으로 입력을 하면 PWD파일이 새로 생성된다.
database 폴더를 확인하면 새로운 파일이 생성되었음을 알 수 있다.
접속을 다시 시도하면 새로 생성된 PWD파일로 인해 연결이 가능하다.
이제 원격으로 접근하는 방법을 알아보자
우선 접근을 허락할 계정에 합당한 권한을 부여한다.
기존엔 위와 같은 방법으로접근을 했다. 하지만 이때의 가장 큰 단점이라면, 직접적으로 화면에 ID와 함께 PWD가 노출된다는 것이다. 내부에서의 보여짐은 물론이요, 요즘의 해킹 추세에 따르면 화면으로 보이는 것 또한 백도어로 유출이 되기 때문에 이는 기피해야 할 것이다.
기본적으로 서버에 연결하는 방법은 아래와 같이 여러 방법이 있다.
이중 주로 사용 되는 방법은 위에 설명한 이유로 마지막 방법을 가장 애용한다.
원격으로 연결할 때에도 위와 같이 처리한다. 즉, ID와 함께 @서버명 as 권한 을 입력하여 처리한다.
단, 9i에서는 ID부터는 ""로 묶어야 한다. 예를 들자면 sqlplus " blauen@tkoradb as sysdba "처럼 입력해야 한다.
댓글 없음:
댓글 쓰기