[정보 보안] 실기 문제 풀이 - 8

Cookie·2024년 10월 4일
0

정보보안

목록 보기
11/40
post-thumbnail

시스템

실무형


153 ⭐️⭐️

다음은 TCP Wrapper를 이용하여 접근제한을 설정한 것이다. 빈칸에 알맞은 내용을 기술하시오.

  • 정답
    A : 192.168.20.1 IP주소에 대해 telnet 서비스를, 192.168.30.1 IP주소에 대해 ftp 서비스를 허용한다.
    B : in.ftpd : 192.168.1. 반드시 .을 포함해야 함
    C : in.telnetd : .com EXCEPT www.abc.com
    D : 모든 호스트에 대해서 telnet을 제외한 모든 서비스를 허용한다.

154 ⭐️

리눅스 서버에서 SSH 원격 접근을 TCP Wrapper를 이용하여 아래와 같이 제한하려고한다. 이를 위해 /etc/hosts.allow파일과 /etc/hosts.deny파일에 추가할 내용을 서술하시오.
1. 허용할 IP 주소 : 192.168.159.133, 10.10.10.XXX
2. 허용할 IP 이외의 모든 IP 주소에 대해서는 SSH 접속 불가

  • 정답
    1. /etc/hosts.allow :
      sshd : 192.168.159.133, 10.10.10.0/255.255.255.0
    2. /etc/hosts.deny :
      sshd : ALL
      • ALL : ALL 로 설정할 경우 모든 서비스를 차단하기 때문에 sshd 서비스에 대한 접근만 차단해야 함

155 ⭐️

TCP Wrapper 설정을 서술하시오.
1. 허용할 IP 주소 : 123.123.123.123 , 124.124.124.XXX(0-255)
2. 허용할 IP 이외의 모든 IP 주소에 대해서는 SSH 접속 불가

  • 정답
    1. sshd : 123.123.123.123, 124.124.124.0/255.255.255.0
    2. sshd : ALL

156 ⭐️⭐️

FTP 서버로 사용하고 있는 리눅스/유닉스 시스템에서 FTP 서비스를 더 이상 사용하지 않고 다른 용도로 사용하려고 한다.

  1. 현재 inetd로 제공되고 있는 FTP 서비스를 중지시키고, 재부팅 시에도 더 이상 FTP 서비스가 사용되지 않도록 시스템을 설정하는 방법을 설명하시오.
  2. Telnet 서비스에 대해 TCP Wrapper 를 통한 접근 제어를 하고자 할 때 inetd.conf 파일을 어떻게 설정해야하는지 설명하시오.
  • 정답
    1. inetd 설정 파일인 inetd.conf 파일에 FTP 서비스 부분을 주석처리 후 inetd 데몬을 재기동
    2. Telnet 서비스 항목의 실행 경로 부분을 in.telnetd 에서 tcpd로 수정하면 Telnet 접속 시 TCP Wrapper의 접근제어를 받게됨

158

다음은 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

  • 해설

    • disable : 서비스 실행 여부를 설정(yes : 실행 안함/ no : 실행함)
    • only_from : 접근을 허용할 특정 IP 주소 또는 IP주소 대역을 설정한다.
      • 공백(space)를 구분자로 사용, 대역 표기는 CIDR 사용
    • no_access : 접근을 차단할 특정 IP 주소 또는 IP주소 대역을 설정한다.
    • access_times : 접근을 허용할 시간(24시간 기준) 범위를 설정한다.
      • 공백(space)를 구분자로 사용
    • cps(connnectoin per second) : 초당 연결개수를 제한하기 위해 초당 최대 연결 개수를 설정한다.
      • 첫 번째 : 초당 연결 개수
      • 두 번째 : 최대 연결 개수 초과 시 연결을 제한하는 시간(초 단위)
    • instances : 동시에 사용할 수 있는 최대 서버(서비스 프로세스) 개수를 설정
      • instances 의 지시자의 경우 최대 서버 개수 설정, 최대 서비스 개수 설정, 최대 접속자(또는 접속) 수 등으로 표현될 수 있음
    • per_source : 출발지 IP별 최대 연결개수를 설정

161 ⭐️

리눅스 시스템에서 다음 보안 조치를 위한 명령어 및 설정을 쓰시오.
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 )
  1. xinetd의 telnet 서비스를 비활성화 하도록 설정한다.
service telnet
{
	(                   )
    flags       = REUSE
    socket_type = stream
    wait        = no
    user        = root
    server      = /usr/sbin/in.telnetd
    ~~ (이하 생략) ~~
}
  • 정답
    1. TMOUT=600; export TMOUT 또는 export TMOUT-600
    2. A : deny=5, B : unlock_time=120, C : no_magic_root
    3. disable = yes

162 ⭐️

다음은 리눅스 시스템에서 루트(root) 계정의 원격 호스트 접속 차단을 위한 보안 설정에 관한 내용이다. 각각의 질문에 답하시오.

  1. Telnet 서비스를 통해 원격 호스트에 루트 계정으로 직접 접근하는 것을 차단하는 설정을 쓰시오.
    (/etc/pam.d/login 설정 파일에 auth required /lib/security/pam_securetty.so가 설정되어 있음)
  2. 1.을 설정해도 SSH 서비스를 통한 접근은 차단할 수 없다. SSH 서비스를 통해 원격 호스트에 root 계정으로 직접 접근하는 것을 차단하는 설정을 쓰시오.
    1. 및 2. 를 설정해도 일반 사용자가 원격 접속을 한 후 su 명령을 통해 root 쉘을 실행할 수 있다. rooㅅ 쉘로 전환하는 것을 봉쇄하고 루트 권한이 필요한 명령어에 대해서는 sudo 명령을 사용하도록 설정하는 방법을 쓰시오.
  • 정답
    1. securetty 파일에 가상 터미널 설정을 모두 제거하거나 주석처리한다.
      #pts/0
       #pts/1
    2. SSH 데몬 설정 파일인 sshd_conf 파일의 PermitRootLogin 옵션을 no로 설정
      PerminRootLogin no
    3. pam_wheel.so PAM 모듈을 이용하여 wheel 그룹에 su를 허용할 계정 이외의 일반 사용자 계정을 제거한 후 sudo 명령 설정 파일인 sudoers 파일에 sudo 명령을 허용할 일반 사용자 계정과 실행을 허용할 명령어를 설정한다.
      test01  ALL=(ALL)   /was/batch/log_batch.sh

165 ⭐️

다음 각 항목에서 요구하는 리눅스 시스템 명령어를 작성하시오.
1. 전체 시스템에서 3일 이내에 생성되거나 내용이 수정된 파일을 모두 출력하시오.
2. 3일 이내에 시스템에 로그인한 사용자를 출력하시오.
3. useradd 명령어를 사용한 사용자 정보와 시간을 출력하시오.

  • 정답

    1. find / -mtime -3
    2. lastlog -t 3
    3. lastcomm -command useradd 또는 lastcomm | grep '^useradd'
  • 해설

    1. -u : 계정명, -t : 해당 일수 이내
    2. lastcomm 명령을 이용하면 로그인한 모든 사용자가 로그아웃할 때까지 실행한 명령어, 플래그, 실행한 계정명, 터미널 타입, 프로세스 시작 시간등의 시록을 확인할 수 있다.
      • ex) lastcomm --command useradd : 명령어가 useradd면 모두 출력
        ex) lastcomm --user root : 사용자명이 root면 모두 출력
        ex) lastcomm --tty tty0 : 터미널 타입이 tty0이면 모두 출력
        ex) lastcomm --user root --command useradd
            : 사용자명이 root이거나 명령어가 useradd이면 모두 출력

166 ⭐️

다음 보기의 xferlog 정보를 참조하여 각각의 질문에 답하시오.

(1)일시 (2)전송자 (3)행위 주체 식별자 (4)접근 방식 (5)전송 파일 (6)성공/실패 유무

  • 정답

    1. Sat Nov 5 02:19:26 2002
    2. 192.168.1.132
    3. test01
    4. g(게스트)
    5. testfile.html
    6. i(실패)
  • 해설
    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: 실패)

profile
나만의 공부 일지... [임시 休]

0개의 댓글