본문으로 바로가기

권한 관리

category 정보 보안/정보 보안 개론 2022. 10. 20. 06:42
728x90
반응형

1 다음 중 권한 관리를 위한 DCL이 아닌 것은?

GRANT ② SELECT DENY REVOKE

SELECT

 


DCL은 Data Control Language이며 데이터 관리 언어 즉 권한 관리를 위한 질의문이다.

그리고 DDL과 DML은 DCL에 의해 허용(GRANT)또는 거부(DENY)된다. 

DDL(Data  Definition Language) : 데이터 구조를 정의하는 질문이다. 데이터베이스를 처음 생성하고 개발할 때 주로 사용하고 운영중에는 거의 사용하지 않는다.
CREATE 데이터베이스 객체를 생성한다.
DROP 데이터베이스 객체를 삭제한다.
ALTER 기존 데이터베이스 객체를 다시 정의한다.
DML(Data Manipulation Language) : 데이터베이스의 운영 및 사용과 관련해서 가장 많이 사용하는 질의문으로 데이터의 검색과 수정 등을 처리한다.
SELECT 사용자가 테이블이나 뷰의 내용을 읽고 선택한다.
INSERT 데이터베이스 객체에 데이터를 입력한다.
UPDATE 기존 데이터베이스 객체에 있는 데이터를 수정한다.
DELETE 데이터베이스 객체에 있는 데이터를 삭제한다.
DCL(Data Control Language) : 권한 관리를 위한 질의문이다.
GRANT 데이터베이스 객체에 권한을 부여한다.
DENY 사용자에게 해당 권한을 금지한다.
REVOKE 이미 부여된 데이터베이스 객체의 권한을 취소한다.

 


2 뷰에 대해 간단히 설명하시오.

뷰를 간단히 설명하면 참조Table의 각 열에 대한 사용자 권한 설정을 간편하게 관리하기 위한 가상 Table이다.


뷰, view는 데이터베이스에 대한 중요한 보안 사항중 하나이다.


3 접근 권한이 rwxr-xr-x인 경우 8진수 고유한 숫자로 표기하면?

755


접근 권한을 8진수로 표기하는 방법은 간단하다.

문제를 예를 들면 rwxr-xr-x인데 이걸 read, write, exetcute인데 read는 4 write는 2 execute는 1

이런 매커니즘을 이해하면 된다 rwx=7, r-x = 5

더보기

원래같으면 유닉스에서는 접근 권한 앞에 d 또는 l이 붙는데 drwxr--r--이런식으로 

이때 d는 다이렉트를 의미하고 l은 링크를 의미한다.


4. 다음에 설명하는 유닉스 파일 시스템의 영역은 무엇인가?

파일시스템 내의 파일이나 디렉토리의 소유자, 소유그룹, 접근 모드(읽기, 쓰기, 실행권한), 크기, 속성, 시간 및 디스크 블록 내의 포인터 등에 대한 각종 정보를 저장하고 있는 영역으로서 각 파일이나 디렉토리별로 고유한 식별번호를 가지고 있다.

I-node 블록


i-node 블록은 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록이다.

UNIX 파일 시스템의 구조를 살펴보자

부트블록 슈퍼블록 i-node 블록 데이터 블록

부트블록 : 부팅시 필요한 코드를 저장하고 있는 블록

슈퍼블록 : 전체 파일 시스템에 대한 요약정보, 사용하고 있지 않은 inode를 저장하고 있는 블록

i-node 블록 : 각 파일이나 디렉터리에 대한 모든 정보를 저장하고 있는 블록

데이터 블록 : 디렉터리 별로 디렉터리 엔트리와 실제 파일에 대한 데이터가 저장된 블록

 


5 다음은 유닉스 계열에서 파일 및 디렉토리에 접근허가권을 설정하는 명령어를 설명한 것이다. 각각 해당하는 명령어는?

 

(A) 파일과 디렉토리에 접근권한을 변경한다.

chmod

(B) 파일과 디렉토리에 소유자 및 소유 그룹을 변경한다.

chxown/ chgrp


chomd 

  • 파일에 대한 사용자별 접근 권한이나 소유권을 재지정한다.
  • 접근 권한 연산자는 +, -, = 가 있다.
  • 위와 같이 8진수로 기술한다.
더보기

이런식으로 권한 변경이 가능하다.

권한 부여 할때 띄어쓰기를 하면 안되나 보다..

chgrp

  • 파일이나 디렉토리의 소유주나 그룹을 변경할 때 사용하고 명령을 실행하고 나면 파일에 대한 이전 소유주는 해당 파일에 이 명령을 다시 실행할 수 없음
  • 명령어를 사용하기 위해서는 슈퍼유저 권한이 필요하다(보안의 특성상 슈퍼유저만 사용)

6 사용자들마다 할당량을 설정하는 NTFS 의 특징을 무엇이라고 하는가?

디스크 쿼터


일단 NTFS가 뭔지 알아야 한다.

NTFS(New Technology File System)은 윈도우(Windows) 파일시스템중 하나이다.

NTFS(New Technology File System)파일시스템은 1993년에 Windows NT 3.1과 함께 발표했고

MFT(Master File Table)를 사용하여 관리하며 Mirror와 파일로그가 유지되어 비상시 파일이 복구 가능하다.

윈도우 파일 시스템의 FAT32 피일 시스템 기능에 대용량 하드 디스크 지원, 보안기능, 압축기능, 원격 저장소 기능을 추가하여 만든 윈도우 NT 전용 파일 시스템이다.

클러스터 사이즈가 512bite ~ 4KB이다.

더보기

NTFS(New Technology File System)의 특징

  • 데이터 복구 기능 

NTFS는 데이터의 신뢰성을 높이기 위해 볼륨에 수행하는 모든 작업에 대해 트랜잭션(Transaction) 단위로 기록

NTFS는 작업 도중에 어떤 문제가 발생하였을 경우 기록을 조사해 봄으로써 볼륨의 상태를 정상적으로 복구가능

트랜잭션 롤백(transaction rolled back) : 어떤 작업이 끝나기 이해 3번째 트랜잭션이 수행하여야 하나 2번째 트랜잭션이 수행하지 않을 경우 요구한 작업이 정상적으로 끝나지 않았기 때문에 Windows는 그 작업이 수행되기 전의 상태로 복구시키는 기능

  • 암호화

EFS는 인증 받지 않은 다른 사용자들이나 프로그램으로부터 데이터를 보호한다.

  • 압축

NTFS의 경우 파일시스템 수준의 압축 기능을 제공하며, 압축 알고리즘은 ZIP파일 포멧으로 유명한 'LZ77'의 변형된 방식을 사용

  • 디스크 쿼터

NTFS 5.0이후부터 제공되는 기능으로, 사용자마자 디스크의 사용량을 제한하며, Windows NT는 다수의 사용자들이 하나의 컴퓨터를 쓰는 것을 기본으로 설계하였으나여러 가지 이유로 볼륨의 용량을 다 써버린다면 다른 사람들은 더 이상 저장할 수 없게 될 것이다이것을 막기 위해 사용자들 마다 할당량을 설정할 수 있다.

  • 유니코드 지원

NTFS는 다국어를 지원하도록 설계되어 있으며, NTFS에 저장되는 스트링 데이터는 전부 유니코드이기 때문에 다양한 다국어 지원이 가능하다.


7 FATNTFS를 비교 설명하세요.

  FAT

NTFS

호환성 호환성이 높다. 최근 PC환경이 대부분 Windows XP나 Windows 7 이상을 사용하는 경우가 많기 때문에 NTFS가 호환성이 낮다고는 할 수 없을 것이다.
구현 난이도 쉽다. 파일 시스템 중에서도 매우 까다로운 수준
성능 파일 시스템 구조상 단편화 현상이 일어날 소지가 높기 때문에 성능이 좋지 않다. 성능이 좋은 편으로 단편화 현상이 일어날 소지가 적고파일을 읽거나 쓰는 구조도 NTFS가 좀더 빠른 수행이 가능 하다.

Windows 파일 시스템에는 2가지의 시스템이 있다.

FAT(File Allocation Table) 파일 시스템과 NTFS(New Technology File System)이다.


8 Windows 부팅을 위한 기계어 코드와 NTFS 여러 설정 값들이 있는 NTFS의 영역은 ?

부트레코드(Boot Record)


부트레코드(Boot Record)

  • NTFS의 부트 레코드 구조는 FAT 파일시스템의 부트 레코드와 구조가 비슷하며, 이 영역에는 Windows를 부팅을 위한 기계어 코드와 NTFS 여러 설정 값들이 있다. 
  • 이 영역을 분석함으로써 볼륨의 크기, 클러스터의 크기, MFT의 시작 주소의 정보를 얻을 수 있다.
  • 1개의 섹터 뿐이지만, 여러 섹터가 부트레코드용으로 예약되어 있으며, 운영체제가 NTFS를 인식하기 위한 시작점이 되기 때문에 이 영역이 망가지면 인식이 불가능 하다.
  • NTFS는 부트 레코드 영역까지 파일의 형태로 관리하고 있다고 볼 수 있다.
  • FAT 파일시스템처럼 볼륨을 여러 영역으로 나누어 사용하지 않기 때문에 부트 레코드에 존재하는 항목 수가 적은 편이며, FAT 파일 시스템 부트 레코드에 비해 내용이 간단하다

9 존재하는 모든 파일과 디렉토리의 정보를 담고 있는 테이블은 NTFS의 어느영역인가?

MFT(Master File Table)



MFT(Master File Table)

  • MFT에는 존재하는 모든 파일과 디렉토리의 정보를 담고 있는 테이블이다.
  • 테이블을 분석하게 되면 볼륨에 있는 파일과 디렉토리에 대한 정보를 알아낼 수 있다
  • Windows 가 볼륨을 인식할 때 가장 먼저 접근하는 영역이 부트레코드
  • 부트 레코드는 MFT가 어디 있는지 알아내어 그곳을 조사하는 것이 주 목적
  • MFT도 데이터 영역에 존재하는 파일로 관리되므로 볼륨의 어디에 위치하든 상관 없게 됨
  • MFT는 MFT Entry라고 불리는 자료들의 집합으로 이루어져 있으며, 각각의 MFT Entry는 하나의 파일, 디렉토리에 대한 내용을 담고 있다.
  • 파일의 정보가 많아 MFT Entry 하나로 부족한 경우 여러 개의 MFT Entry를 사용해도 무방
  • 각각의 MFT Entry들은 0번부터 시작하는 고유의 주소를 가진다.

10 NTFS는 클러스터의 크기를 ( )로 지정하고 있다

512bite ~ 4KB


11 NTFS의 권한의 규칙 3가지는 무엇인가요?

규칙 1: 접근 권한이 누적

규칙 2: 파일 접근 권한이 디렉터리 접근 권한보다 우선

규칙 3: ‘허용’보다 ‘거부’가 우선

 


12 유닉스 파일시스템의 파일형식 3가지는 무엇인가요?

일반파일, 디렉터리파일, 특수파일


13 유닉스에서 $ ls aRl bb 옵션의 의미는?

경로안의 하부 디렉토리까지 모두 자세히 출력한다


ls -a는 경로안의 모든 파일은 나열한다.

ls -R은 위치한 디렉토리 하부 디렉토리 까지 모두 출력

ls -l은 파일을 자세히 출력

그러면 경로안의 하부 디렉토리까지 모두 자세히 출력한다 이다.

이렇게 출력이 되는데 이게 끝이 아니라 밑으로 엄청 나온다..

더보기

자주 사용하는 ls 옵션

 

-l : 파일들을 나열할때 자세히 출력한다.

-a : 경로안의 모든 파일을 나열한다.(도트파일(숨김파일)도 포함)

-R : 위치한 디렉토리 하부 디렉토리의 파일까지 모두 출력한다.

-F : 디렉토리인지 어떤 종류의 파일인지를 알려줌(디렉토리:/, 실행파일:*)

-I :inode 번호를 보여줌

-h : 파일크기를 해석파기 편하게 출력한다.

-r : 출력 결과를 내림차순으로 정렬한다.

-t : 출력 결과를 파일이 수정된 시간을 기준으로 정렬한다.

-d : 지정 경로에 있는 최상위 디렉토리의 목록만 출력합니다.

-g : 사용자 권한을 출력하지 않는다.

-i : 파일의 인덱스 값을 출력합니다.


14 유닉스에서 접근권한이 +x,go=rw 의 의미는?

모두에게 실행권한 주고 그룹과 other에게 읽기 쓰기 지정


위에 얘기 했던건데 chmod 파일 권한 관리에서 접근 권한 변경할때를 말하는 거다

여기서 +x는 모두에게 실행권한이고 만약 u+x면 유저에게만 부여

g는 group을 의미 o는 other


15 $ ls l결과 - rw - - w - - w - 의 의미는?

user는 r과 w group은 w other도 w만 권한을 가진다


- /rw -/ - w -/- w - 

요로코롬 생각해주면 댐

첫번째는 user 두번째는 group 세번째는 other


16 GRANT SELECT ON 학생 TO park WITH GRANT OPTION; 의 의미는?

SELECT권한을 소유한 학생이 park에게 SELECT를 권한 부여


여기서 기본적으로 GRANT문으로 부여받은 권한은 다른 사용자에게 부여할 수 없다

부여 가능한 주요 권한

  • INSERT, DELETE, UPDATE, SELECT, REFERENCES
  • 여려 권한을 한번에 동시에 부여하는 것도 가능

REFERENCES : 외래키 제약조건을 정의할 수 있는 권한

UPDATE, SELECT : 테이블의 일부 속성에 대한 권한 부여도 가능

더보기

PUBLIC

  • 모든 사용자에게 권한을 똑같이 부여하고 싶다면 특정 사용자를 지정하는 대신 PUBLIC 키워드를 이용하여 작성

WITH GARNT OPTION

  • 권한을 부여받은 사용자가 자신이 부여받은 권한을 다른 사용자에게도 부여할 수 있도록 함

17 REVOKE SELECT ON 학생 FROM Jang CASCADE; 의 의미는?

                                                                                             SELECT 권한을 가진 학생이 Jang에게 부여한 SELECT를 취소

객체 권한 취소 : REVOKE문

객체 소유자가 다른 사용자에게 부여한 객체의 사용 권한을 취소

REVOKE 권한 ON 객체 FROM 사용자 CASCADE | RESTRICT;

CASCADE 옵션 : 권한을 취소할 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 함께 취소

RESTRICT 옵션 : 권한을 취소할 사용자가 다른 사용자에게 부여한 권한은 취소되지 않도록 함


※ DB 권한 관리


※역할(role)의 개념

여러 권한들을 그룹으로 묶어 놓은 것

필요성 : 역할을 이요하면 훨씬 수월하게 작업할 수 있다. 권한 관리가 쉬워진다.


역할 생성 : CREATE ROLE 문

CREATE ROLE 롤이름;

예를 들면 role_1이라는 이름의 역할을 생성해보자 하믄

CREATE ROLE role_1; 이런식

역할에 권한 추가를 하고싶다 그러면

고객테이블에 대한 검색삽입삭제 권한을 role_1에 넣어보면

GRANT SELECT, INSERT, DELETE ON 고객 TO role_1;

이제 역할을 부여 해보자

고객테이블에 대한 권한을 포함하고 있는 role의 역할을 사용자 LIM에게 부여해보자

GRANT role_1 TO LIM;

이런 느낌으로 가면 된다.

728x90
반응형

'정보 보안 > 정보 보안 개론' 카테고리의 다른 글

MPEG (Moving Picture Experts Group) 엠팩  (0) 2024.06.18
네트워크 보안  (0) 2022.11.08
시스템 보안  (2) 2022.10.15
정보 보안의 세계  (0) 2022.10.15