다음은 TCP Wrapper를 이용하여 접근제한을 설정한 것이다. 빈칸에 알맞은 내용을 기술하시오.
192.168.20.1
IP주소에 대해 telnet 서비스를, 192.168.30.1
IP주소에 대해 ftp 서비스를 허용한다.in.ftpd : 192.168.1.
반드시 .
을 포함해야 함in.telnetd : .com EXCEPT www.abc.com
리눅스 서버에서 SSH 원격 접근을 TCP Wrapper를 이용하여 아래와 같이 제한하려고한다. 이를 위해
/etc/hosts.allow
파일과/etc/hosts.deny
파일에 추가할 내용을 서술하시오.
1. 허용할 IP 주소 :192.168.159.133
,10.10.10.XXX
2. 허용할 IP 이외의 모든 IP 주소에 대해서는 SSH 접속 불가
/etc/hosts.allow
:sshd : 192.168.159.133, 10.10.10.0/255.255.255.0
/etc/hosts.deny
:sshd : ALL
ALL : ALL
로 설정할 경우 모든 서비스를 차단하기 때문에 sshd 서비스에 대한 접근만 차단해야 함TCP Wrapper 설정을 서술하시오.
1. 허용할 IP 주소 : 123.123.123.123 , 124.124.124.XXX(0-255)
2. 허용할 IP 이외의 모든 IP 주소에 대해서는 SSH 접속 불가
sshd : 123.123.123.123, 124.124.124.0/255.255.255.0
sshd : ALL
FTP 서버로 사용하고 있는 리눅스/유닉스 시스템에서 FTP 서비스를 더 이상 사용하지 않고 다른 용도로 사용하려고 한다.
- 현재 inetd로 제공되고 있는 FTP 서비스를 중지시키고, 재부팅 시에도 더 이상 FTP 서비스가 사용되지 않도록 시스템을 설정하는 방법을 설명하시오.
- Telnet 서비스에 대해 TCP Wrapper 를 통한 접근 제어를 하고자 할 때 inetd.conf 파일을 어떻게 설정해야하는지 설명하시오.
다음은 xinetd 슈퍼데몬의 telnet 서비스 설정 내용이다. 보기의 조건을 만족하도록 빈칸을 채우시오.
service telnet { ( ① ) = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID ( ② ) = 192.168.10.0/24 ( ③ ) = 192.168.10.22 access_times = ( ④ ) ( ⑤ ) = 50 10 ( ⑥ ) = 100 per_source = 10 }
- 조건
- telnet 서비스를 실행한다.
- telnet 서비스에 대해 192.168.10.0/24 IP 대역의 접속만 허용하되 192.168.10.22의 접속은 허용하지 않는다.
- telnet 서비스 허용 시간은 오전 9시부터 오후 6시까지이다.
- 최대 동시 접속 수는 100개로 제한하고 초당 연결개수는 50개로 제한하되 초과시 10초간 연결을 제한한다.
- 출발지 IP를 기준으로 최대 서비스 연결개수를 10개로 제한한다.
정답 :
① : disable
② : only_from
③ : no_access
④ : 09:00-18:00
⑤ : cps
⑥ : instances
해설
초당 최대 연결 개수를 설정
한다.최대 서버 개수 설정
, 최대 서비스 개수 설정
, 최대 접속자(또는 접속) 수
등으로 표현될 수 있음리눅스 시스템에서 다음 보안 조치를 위한 명령어 및 설정을 쓰시오.
1. SSH Login 세션 타임아웃을 10분으로 하여 모든 사용자에게 적용되도록/etc/profile
에 설정한다.
2. 사용자 계정 인증 관련 pam 모듈을 이용하여 계정 잠금 임계값을 설정하고자 한다. 5회 입력 실패 시 패스워드를 잠그고, 자동 계정 잠금 해제 시간을 120초로 설정하고, root 계정은 패스워드 잠금 설정을 적용하지 않는다.# cat /etc/pam.d/system-auth auth required /lib/security/pam_taaly.so ( A )( B )( C )
- xinetd의 telnet 서비스를 비활성화 하도록 설정한다.
service telnet { ( ) flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd ~~ (이하 생략) ~~ }
다음은 리눅스 시스템에서 루트(root) 계정의 원격 호스트 접속 차단을 위한 보안 설정에 관한 내용이다. 각각의 질문에 답하시오.
- Telnet 서비스를 통해 원격 호스트에 루트 계정으로 직접 접근하는 것을 차단하는 설정을 쓰시오.
(/etc/pam.d/login 설정 파일에auth required /lib/security/pam_securetty.so
가 설정되어 있음)- 1.을 설정해도 SSH 서비스를 통한 접근은 차단할 수 없다. SSH 서비스를 통해 원격 호스트에 root 계정으로 직접 접근하는 것을 차단하는 설정을 쓰시오.
- 및 2. 를 설정해도 일반 사용자가 원격 접속을 한 후 su 명령을 통해 root 쉘을 실행할 수 있다. rooㅅ 쉘로 전환하는 것을 봉쇄하고 루트 권한이 필요한 명령어에 대해서는 sudo 명령을 사용하도록 설정하는 방법을 쓰시오.
#pts/0
#pts/1
PerminRootLogin no
test01 ALL=(ALL) /was/batch/log_batch.sh
다음 각 항목에서 요구하는 리눅스 시스템 명령어를 작성하시오.
1. 전체 시스템에서 3일 이내에 생성되거나 내용이 수정된 파일을 모두 출력하시오.
2. 3일 이내에 시스템에 로그인한 사용자를 출력하시오.
3. useradd 명령어를 사용한 사용자 정보와 시간을 출력하시오.
정답
find / -mtime -3
lastlog -t 3
lastcomm -command useradd
또는 lastcomm | grep '^useradd'
해설
-u
: 계정명, -t
: 해당 일수 이내다음 보기의 xferlog 정보를 참조하여 각각의 질문에 답하시오.
(1)일시 (2)전송자 (3)행위 주체 식별자 (4)접근 방식 (5)전송 파일 (6)성공/실패 유무
정답
해설
a : 전송 날짜 및 시간
b : 전송 소요 시간
c : 원격 호스트 주소
d : 전송 파일 크기
e : 전송 파일명
f : 전송 파일 유형 (a: 아스키, b: 바이너리)
g : 액션 플래그 ( _: 액션 없음, C: 파일 압축됨, U: 압축 파일이 해제됨, T: tar로 묶임)
h : 전송 방향 ( i : 서버로 업로드, o : 서버에서 다운로드)
i : 접근 방식 (r: 로컬, a: 익명, g: 게스트)
j : 사용자 명
k : 서비스 명
l : 인증 방법 (0: 인증 없음, 1: RFC931 인증)
m : 인증된 사용자(*: 이용 불가능 상태)
n : 완료 상태 (c: 성공, i: 실패)