[자격증] 정보보안기사.09
1. 다음 지문을 읽고 물음에 답하시오.
- 리눅스 시스템에서 일반 사용자가 자신의 패스워드를 변경하고자 할 때 ( A ) 명령어를 수행한다. 새로운 패스워드는 ( B ) 파일에 저장된다. 이 때 ( A ) 에 부여된 실행권한을 ( C ) 라 한다.
1) A, B, C에 적절한 용어를 기술하시오.
A - passwd
B - /etc/passwd
C - setuid
2) C 가 설정되어 있는 프로그램과 설정되지 않는 프로글매을 실행할 때 차이점을 기술하시오.
setuid가 설정된 프로그램은 프로세스로 동작하는 동안에 해당 실행파일 소유자의 권한으로 자원에 접근하게 되고, 설정되지 않은 프로그램은 프로그램을 실행한 사용자의 권한으로 자원에 접근하게 된다.
2. 리눅스 시스템의 로그 파일에 관한 내용이다. 빈 칸 ( ) 에 적절한 로그 파일 명 또는 로그 파일의 내용과 이를 확인하기 위한 명령어를 서술하시오.
- ( 1 ) : 사용자의 성공한 로그인/로그아웃 정보, 시스템의 Boot/Shutdown 정보에 대한 기록을 담고 있는 로그 파일로 last 명령어를 사용하여 내용을 확인할 수 있다.
- utmp : ( 2 )
- btmp : ( 3 )
- lastlog : ( 4 )
1) wtmp
2) 현재 로그인한 사용자 정보를 담고 있는 로그 파일로 w, who 등의 명령어를 사용하여 내용을 확인할 수 있다.
3) 실패한 로그인 시도에 대한 기록을 담고 있는 로그 파일로 lastb 명령어를 사용하여 내용을 확인할 수 있다.
4) 가장 최근에 성공한 로그인 기록을 담고 있는 로그 파일로 lastlog 명령어를 사용하여 내용을 확인할 수 있다.
3. 로그 파일이 생성될 경우 파일의 MAC time 을 확인하여 공격자의 위/변조 여부를 파악 할 수 있다.
MAC time으로 확인할 수 있는 3가지 정보를 기술하시오.
- mtime(last Modify Time) : 파일의 내용이 마지막으로 수정된 시간
- atime(last Access Time) : 파일에 마지막으로 접근한 시간
- ctime(last Chage Time) : 파일의 속성정보가 마지막으로 변경된 시간
4. 버퍼 오버플로우 대응 기술에 대한 설명이다. 각 질문에 답하시오.
- 카나리 단어 기법의 동작 방식을 간단히 설명하시오.
카나리 단어 기법은 메모리상에서 프로그램의 복귀주소 와 변수 사이에 특정값을 저장해 두는 기법을 말한다.
- 카나리 단어 기법의 공격 차단 원리를 설명하시오.
버퍼 오버플로우 발생 시 특정값의 변조가 발생하므로 이를 탐지하여 차단한다.
- ASLR 기법의 동작 방식을 간단히 설명하시오
ASLR 기법은 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화하는 기법을 말한다.
- ASLR 기법의 공격 차단 원리를 설명하시오.
실행 시 마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정주소 호출을 차단한다.
*리눅스의 패스워드 정책 설정파일
login.defs
# PASS_MIN_LEN 8 : 패스워드 최소 길이를 8자 이상으로 설정한다.
# PASS_MAX_DAYS 90 : 패스워드 최대 사용기간을 90일로 설정한다.
# PASS_MIN_DAYS 1 : 패스워드 최소 사용기간을 1일로 설정한다.
5. 리눅스 시스템에서 각 명령이 의미하는 바를 쓰시오.
1) find / -ctime -7 -print > ctime7.out
2) find / -user root -perm -4000 -print
3) find / -perm 1777 -print
4) find /dev -type f -print
5) find / -nouser -print
- 루트 디렉터리 이하 파일 중 파일 속성이 마지막으로 변경된 지 7일 이내의 파일을 검색하여 ctime7.out 파일로 출력한다.
- 루트 디렉터리 이하 파일 중 소유자가 root 이고 setuid가 설정된 파일을 검색하여 출력한다.
- 루트 디렉터리 이하 파일 중 sticky bit 와 읽기, 쓰기 , 실행 모든 권한이 설정된 파일을 출력한다.
- dev디렉토리에 일반 파일을 출력한다.
- 루트 디렉토리 이하 파일 중 소유자가 없는 파일을 출력한다.
6. 리눅스 시스템 관리자는 cron 프로그램을 이용하여 다음과 같은 작업을 수행하려고 한다. 다음 질문에 각각 답하시오.
1) crontab에 예약된 작업을 확인하기 위한 crontab 명령어 작성
2) sys라는 사용자의 cron 테이블을 생성하기 위한 crontab 명령어 작성
3) cron 테이블에 "/bin/rm -rf" 명령어를 사용하여 /home 디렉터리 밑에 있는 모든 디렉터리 및 파일을 삭제하기 위한 crontab 명령어를 작성하시오. 단, 매주 일요일 오전 03:00 에 동작하며 표준 출력은 /dev/null로 보내어 출력되지 않게 하고 표준에러는 표준 출력으로 재입력 하도록 등록하시오.
1) crontab -l
2) crontab -u sys -e
3) 0 3 * * 0 /bin/rm -rf /home/* > /dev/null 2>&1
7. 다음은 TCP Wrapper를 이용하여 접근 제한을 설정한 것이다. 빈 칸 ( ) 에 알맞은 내용을 기술하시오.
hosts.deny hosts.allow
ALL:ALL ALL : 192.168.10.1 -> 192.168.10.1 IP 주소에 대해 모든 서비스가 가능하다.
ALL:ALL in.telnetd : 192.168.20.1 -> ( 1 )
in.ftpd : 192.168.30.1
ALL:ALL ( 2 ) -> 192.168.1로 시작하는 IP 주소에 대해 ftp서비스가 가능하다.
1) 192.168.20.1 IP 주소에 대해 telnet 서비스를 허용하고 192.168.30.1 IP 주소에 대해 ftp 서비스를 허용한다.
2) in.ftpd : 192.168.1.
8. FTP 서버로 사용하고 있는 리눅스/유닉스 시스템에서 FTP 서비스를 더 이상 사용하지 않고 다른 용도로 사용하려고 한다.
1) 현재 inetd로 제공되고 있는 FTP 서비스를 중지시키고, 재부팅 시에도 더 이상 FTP 서비스가 사용되지 않도록 시스템을 설정하는 방법을 설명하시오.
- inetd 설정파일인 inetd.conf 파일에 FTP 서비스 부분을 주석처리 한 후 inetd 데몬을 재기동 시킨다.
2) Telnet 서비스에 대해 TCP Wrapper를 통한 접근제어를 하고자 할 때 inetd.conf 파일을 어떻게 설정해야 하는지 설명하시오.
- inetd 설정파일인 inetd.conf 파일에서 Telnet 서비스 항목의 실행경로 부분을 in.telnetd에서 tcpd로 수정하게 되면 Telnet 서비스 접속 시 TCP Wrapper의 접근제어를 받게 된다.
9. xinetd 데몬은 기존의 inetd 데몬이 가지고 있는 비효율 적인 리소스 관리와 보안성 문제를 극복하기 위해 등장한 슈퍼데몬으로 서비스별 다양한접근제어를 위한 설정 옵션을 가지고 있다. 다음은 xinetd 슈퍼데몬의 서비스 설정파일 중 일부이다. A, B, C 각 설정의 의미를 기술하시오.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
( A ) cps = 20 5
( B ) instances = 50
( C ) per_source = 10
}
A - cps : 초당 연결 개수를 20개로 제한하고 이를 초과 시 5초간 일시 중지 후 다시 서비스를 개시한다
B - instances : 동시에 서비스할 수 있는 서버의 최대 개수를 50개로 제한한다.
C - per_source : 동일 출발지 IP 클라이언트의 최대 서비스 연결 개수를 10개로 제한한다.
*윈도우 시스템에서 공유된 폴더를 해제하는 명령어
- net share "디렉토리경로" /delete
*VLAN
- 데이터링크 계층에서 브로드캐스트 도메인을 나누기 위해 사용하는 기술
- 각 스위치들은 하나의 브로드캐스트 프레임에 대하여 동일 브로드캐스트 그룹이 아닌 곳에는 전달하지 않는다는 조건을 바탕으로 하고 있다.
- 스위치들은 VLAN 태그가 상이한 네트워크에서의 접근을 근본적으로 차단하여 보안성을 유지하게 된다.
- 네트워크 관리자로 하여금 그룹단위 혹은 세그먼트 포트 단위의 유용성을 보장하기 위해 논리적인 개별 스위칭 동작을 하게 하는 스위칭 LAN의 옵션 구성이다.
- 가상의 브로드캐스트 도메인을 생성함으로써 전체 브로드캐스트 트래픽을 제한할 수 있다. 즉 VLAN으로 생성된 가상 세그먼트는 인증된 VLAN 구성원만이 접근할 수 있다.
- VLAN은 관리자가 서로 다른 논리적 그룹에 대하여 서로 다른 보안정책을 적용할 수 있게 한다.
VLAN종류
- Port 기반 VLAN : 스위치 포트를 각 VLAN에 할당하는 것으로 같은 VLAN에 속한 포트에 연결된 호스트들 간에만 통신이 가능한 VLAN이다. 가장 일반적이고 많이 사용하는 구성이다.
- MAC 기반 VLAN : 각 호스트들의 MAC 주소를 VLAN에 등록하여 같은 VLAN에 속한 MAC 주소의 호스트들 간에만 통신이 가능한 VLAN이다. 호스트들의 MAC주소를 전부 등록하고 관리해야 하는 어려움이 있다.
- 네트워크 주소 기반 VLAN : 네트워크 주소 별로 구성하여 같은 네트워크에 속한 호스트들 간에만 통신이 가능하도록 구성한 VLAN 이다. 주로 IP 네트워크 VLAN 을 사용한다.
- 프로토콜 기반 VLAN : 같은 통신 프로토콜을 가진 호스트들 간에만 통신이 가능하도록 구성한 VLAN.
10. 다음은 VLAN에 대한 설명이다. 적절한 용어를 쓰시오.
VLAN은 네트워크 자원 접근을 제한함으로써 ( 1 ) 을 높이고 브로드캐스트 도메인의 ( 2 ) 를 줄여서 브로드캐스트 트래픽량을 줄이는 효과가 발생하고 결과적으로 전체 네트워크 서비스의 ( 3 ) 을 향상시킬 수 있다.
1) 보안성
2) 크기/범위
3) 성능