본문 바로가기

ETC/자격증

[리눅스마스터]제1402회 리눅스마스터 1급 2차 시험 작업식 풀이 2

반응형

14. 다음은 한 회사 시스템 관리자의 메일 송수신 설정을 위한 내용이다.

관리자는 로컬 네트워크 사용자의 메일을 이 서버를 통해 보내고 받고, 그 외의 사용자는 아래 조건에 맞게 설정하고자 할 때 ( 괄호 )안에 알맞은 내용을 작성하시오.(8점)

localhost.localdomain RELAY
localhost ( ➀ )
( ➁ ) REJECT
admin@ihd.or.kr ( ➂ )
spam@hacker.com ( ➃ )

<조 건>
- spam.com이라는 도메인의 모든 메일을 수신/발신을 거부한다.
- ihd.or.kr의 사용자 admin만 무조건 수신을 허용한다.
- spam@hacker.com에서 오는 메일을 받아 완전히 폐기한다.

 

메일 Relay 제한 및 스팸메일 방지 설정 파일 : /etc/mail/access

[root@server1 /]# vi /etc/mail/access
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# If you want to use AuthInfo with "M:PLAIN LOGIN", make sure to have the
# cyrus-sasl-plain package installed.
#
# By default we allow relaying from localhost...
Connect:localhost.localdomain           RELAY
Connect:localhost                       RELAY
Connect:127.0.0.1                       RELAY

 

- RELAY : relay 허용

- OK  : 무조건 허용
- REJECT : relay 차단 주로 스팸 서버의 IP 를 차단
- DISCARD : relay 없이 폐기 어떠한 답신도 보내지 않음
- 501 : 지정된 메일 주소와 일치하는 모든 메일의 수신 차단

- 503 : 지정된 도메인과 관련된 메일 수신 차단

- 550 : 특정한 도메인에 대해 지정된 메시지로 거부

- 553 : 발신자 주소와 호스트명이 없을 경우 메일 수신 거부

- 571 : 저장된 메시지로 경로메일을 보낸 후 수신 거부

 

수행 후 DB생성 명령어

[root@server1 /]# makemap hash /etc/mail/access < /etc/mail/access

 

DB 확인

[root@server1 /]# strings access.db

 

① RELAY

② REJECT

③ OK

④ DISCARD

 

15. 다음은 xinetd 데몬으로 동작하는 rsync 데몬에 대한 설정이다. 다음 ( 괄호 ) 안에 알맞은 내용을 작성하시오.(8점)

service rsync
{
	disable = ( ① )
	socket_type = stream
	wait = no
	user = root
	server = /usr/bin/rsync
	server_args = --daemon
	log_on_failure += USERID	
	( ② ) = 09:00-18:00
}

<조 건>
- rsync 서비스를 활성화 한다.
- rsync 사용시간을 09시부터 18시 까지로 제한한다.

 

1) xinetd rsync 설정 확인

[root@server1 /]# vi /etc/xinetd.d/rsync

 

- disable : yes -> 비활성화 / no -> 활성화

- access_times : 사용시간 제한

 

① no

② access_times

 

16. 다음은 외부로 부터의 접근을 막기 위한 DNAT(Destination NAT) 설정이다. 다음 ( 괄호 ) 안에 알맞은 내용을 작성하시오.(12점)

[root@linux] # iptables -t nat –A ( ① ) -p ( ② ) -d 211.111.222.3 ( ③ ) 80 –j ( ④ ) --to
192.168.1.3

<조 건>
- 공인 목적지 주소는 211.111.222.3 이고, tcp 프로토콜 기반의 80번 포트로 요청이 들어오면 내부 목적지 주소인 192.168.1.3으로 변경한다.
- 192.168.1.3 은 내부서버로 웹서비스 중이다.

 

[root@server1 /]# man iptables

 

SYNOPSIS
       iptables [-t table] {-A|-C|-D} chain rule-specification

       ip6tables [-t table] {-A|-C|-D} chain rule-specification

       iptables [-t table] -I chain [rulenum] rule-specification

       iptables [-t table] -R chain rulenum rule-specification

       iptables [-t table] -D chain rulenum

       iptables [-t table] -S [chain [rulenum]]

       iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]

       iptables [-t table] -N chain

       iptables [-t table] -X [chain]

       iptables [-t table] -P chain target

       iptables [-t table] -E old-chain-name new-chain-name

       rule-specification = [matches...] [target]

       match = -m matchname [per-match-options]

       target = -j targetname [per-target-options]
       
       
 ...

 

<액션>
-A : APPEND : 정책 추가
-I : INSERT : 정책 삽입
-D : DELETE : 정책 삭제
-R : REPLACE : 정책 교체
-F : FLUSH : 모든 정책 삭제
-P : POLICY : 기본 정책을 설정
-L : LIST : 정책 나열

<체인>
INPUT : 외부에서 들어오는 패킷에 대한 체인
OUTPUT : 내부에서 나가는 패킷에 대한 체인
FORWARD : 내부에서 경유하는 패킷에 대한 체인
PREROUTING : 패킷의 도착지 주소를 변경
POSTROUTING : 패킷의 출발지 주소를 변경

<매치>
-s : 출발지 매칭. 도메인, IP 주소, 넷마스크 값을 이용하여 표기(––source, ––src)
-d : 목적지 매칭. 도메인, IP 주소, 넷마스크 값을 이용하여 표기(––destination, ––dst)
-p : 프로토콜과 매칭. TCP, UDP, ICMP 와 같은 이름을 사용하고 대소문자는 구분하지 않음
-i : 입력 인터페이스와 매칭(––in-interface)
-o : 출력 인터페이스와 매칭(––out-interface)
-j : 매치되는 패킷을 어떻게 처리할지 지정 (--jump)

<타켓>
ACCEPT : 패킷을 허용한다.
DROP : 패킷을 버린다(패킷이 전송된 적이 없던 것처럼)
REJECT : 패킷을 버리고 이와 동시에 적절한 응답 패킷을 전송한다.(icmp-port-unreachable)
LOG : 패킷을 syslog에 기록한다.
SNAT --to [주소] : 소스 IP를 [변환(NAT)|NAT]한다.
DNAT --to [주소] : 목적지 IP를 변환(NAT)한다.
RETURN : 호출 체인 내에서 패킷 처리를 계속한다.

 

① PREROUTING

② tcp

③ --dport

④ DNAT

반응형