운영체제 설정과 취약점 인터넷공학/컴퓨터공학 이수백/허성욱.

Slides:



Advertisements
Similar presentations
충북대 네트워크 보안 연구실 [ gmail.com ] 정보 보호 응용 11. 해킹기술 (3) 11. 해킹기술 (3) - hacking & security -
Advertisements

1 장 Unix/Linux 소개 1 Helpers. 1 장 내용 1. 왜 유닉스인가 ? 2. 유닉스 시스템 구조 3. 유닉스 역사 및 버전 4. 리눅스 설치 ( 별도 2 시간 실습 ) 5. 사용 환경 6. 사용자 계정 관리 Unix/Linux 2.
SPARCS 10 이 가 영 기본 UNIX 명령어. 일단 로그인 ! Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다. 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd.
제 4 장 인터넷 창병모 네트워크 구성 2 LAN(Local Area Network) LAN  근거리 통신망으로 집, 사무실, 학교 등의 건물과 같이  가까운 지역을 한데 묶는 컴퓨터 네트워크 이더넷 (Ethernet)  제록스 PARC.
8 스니핑.
리눅스와 보안 PLUS 오태호.
Chapter 03. 네트워크 보안 : 길을 지배하려는 자에 대한 저항
임베디드 시스템 개발 환경 (1) Lecture #3.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Chapter 13 전송층 개요.
1. 스푸핑 공격 - 스푸핑(Spoofing): ‘속이다’ 의 의미.
임베디드 시스템 개발을 위한 리눅스 환경설정.
Chapter 7 Networking.
Chapter 06. 프로토콜.
1장 유닉스 소개.
7 기타 시스템 관리 Cron을 이용한 작업 스케듈링 SPARCS 11 cling.
RTSP, RTP 김현철.
Linux University of Seoul Computer Science Park Jong wook
11장. 리눅스 시스템 조사.
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
컴퓨터 네트워크 실습.
PXA270 개발환경 설정 Ubuntu 실습용.
정보 보안 개론과 실습 시스템 해킹과 보안 √ 원리를 알면 IT가 맛있다 ehanbit.net.
NFS, FTP coearth, george.
System administration basics
Chapter 02. 시스템 보안 : 건강한 시스템이 챙겨야 할 기본
정보 보안 개론과 실습 시스템 해킹과 보안 √ 원리를 알면 IT가 맛있다 ehanbit.net.
오 태 호 POSTECH Laboratory for UNIX Security
시스템 로그 분석.
오 태 호 POSTECH Laboratory for UNIX Security
Network 네트워크 이론 및 실습 TCP / IP 4장.
Minicom,tftp,nfs설정,vnc설정
목 차 1. 기 업 현 황 회 사 개 요 2. Finger Police System 개요
LINUX SECURITY - 메일 보안 - 네트워크 실험실 김 윤 수 #
리눅스와 보안 PLUS 오태호.
윈도우&유닉스 시스템 보안설정 Start! 서화섭.
[beginning] Linux & vi editor
Inetd Daemon의 이용 VLSI 석사 3학기 고재현.
Development Environment of Embedded System : part 1
RTSP, RTP 김현철.
8. 네트워킹 (Networking) 9. 인터넷 (Internet)
Chapter 06 스니핑.
1. SNMP SNMP(Simple Network Management Protocol)은 네트워크의 중앙집중화된 관리를 목적으로 만들어졌으며, 현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안상의 문제에 의한 것이다. SNMP 발전 과정 버전.
컴퓨터 네트워크 실습.
자바 5.0 프로그래밍.
유닉스 시스템 보안 설정 여태현.
Processing resulting output
Chapter 05 목록화.
Network Security Footprint & Scan.
메일서버 구축 김현지.
Network Programming Version 2.1.
DataStage 운영자 지침서 Operator’s Guide
서버 보안 정상준.
Department of Computer Engineering
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
시스템 보안 정보 보안 개론 9장.
DoS와 DDoS 공격 DOS와 DDOS 공격의 이해 DOS 공격의 이해 DDOS 공격의 이해 한빛미디어(주)
Network Programming(1)
상지대학교 컴퓨터공학과 고광만 Lecture 01: 유닉스/리눅스 소개 상지대학교 컴퓨터공학과 고광만
rc script, 특정 port로 telnet
UNIX Internet Server의 대부분을 차지 대표적인 공급업체
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
User Datagram Protocol (UDP)
9 스푸핑.
시스템 인터페이스 Lab3 Unix 사용법 실습.
NFS (Network File system)
9 스푸핑.
한국 휴렛팩커드/고객지원사업본부/IT 기술사업부 박기영
Department of Computer Engineering
보안 김준원 이호영 고재만.
Presentation transcript:

운영체제 설정과 취약점 인터넷공학/컴퓨터공학 이수백/허성욱

chapter 11. 유닉스 시스템 보안 설정

학습 목표 계정에 대한 정책 수행 및 적용 유닉스의 개별 서비스에 따른 취약점 이해 취약점에 대한 적절한 보안 설정 시스템/파일 및 디렉토리에 대한 접근 제어 설정

목차 계정 관리 서비스 관리 패치 관리 접근 제어 파일 및 디렉토리 관리

계정 관리 취약한 패스워드의 점검 사용하지 않는 계정의 제거 중복된 root 계정의 존재 여부 grep ':0:' /etc/passwd

서비스 관리 먼저 솔라리스9에서 기본적으로 동작하는 nmap(포트스캐너)을 이용해 동작중인 포트를 점검

서비스 관리 ■ Inetd 데몬 다른 데몬을 관리하기 때문에 수퍼 데몬이라고도 불림 Inetd 데몬의 구성 및 동작 텔넷과 FTP클라이언트가 서버에 접속을 요구하면 inetd 데몬이 이를 확인 /etc/inetd.conf 파일에 데몬에 대한 설정을 읽음 /etc/services 파일에서 설정된 포트 번호에 대해 클라이언트의 요청이 있을 때 텔넷 데몬을 실행

서비스 관리 /etc/services [데몬 이름] [포트번호]/[프로토콜]

telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd 서비스 관리 /etc/inetd.conf telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd ① ② ③ ④ ⑤ ⑥ ⑦

telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd ① ② ③ ④ ⑤ ⑥ ⑦ ① : 서비스 : 서비스 이름을 정의하며, /etc/services에 정의되어 있어야 한다. ② : 소켓 타입(Socket Type) : TCP일 경우에는 stream, UDP일 경우에는 dgram이라고 표기한다. ③ : 프로토콜 : /etc/protocols 에 정의된 프로토콜 종류와 그 번호이다. tcp는 /etc/protocols 파일에서 확인할 수 있듯이 프로토콜 번호가 6번이다. ④ : 대기 설정 : inetd가 클라이언트로부터 서비스를 요청받은 경우, 이후에 즉시 또 다른 요청을 처리할 것인지 여부에 따라 nowait, wait로 구분한다. tcp의 경우에는 반드시 nowait여야 한다. ⑤ : 로그인 이름 : 데몬을 어떤 사용자의 권한으로 수행할 것인지 명시해준다. ⑥ : 서버 : 해당 서비스를 수행하기 위해 어떤 프로그램을 실행시킬 것인지를 적는다. 절대 경로로 적는다. ⑦ : 인자(Argument) : 데몬을 실행하는 데 필요한 인자 값을 적는다.

서비스 관리 ECHO ( 포트 7 ) Discard ( 포트 9 ) Daytime ( 포트 13 ) 어떤 시스템이 echo 포트로 데이터를 보내면, echo 포트에 데이터를 받은 시스템은 보낸 시스템에 똑같은 데이터를 보낸다. 특별한 서비스를 위한 것이라기보다는 ping과 비슷한 역할을 한다. Discard ( 포트 9 ) echo 포트와는 달리 discard 포트는 어떤 데이터를 받더라도 그 데이터를 소거하는 역할을 한다. 응답을 보내지 않는다. Daytime ( 포트 13 ) 현재 날짜와 시간을 알려준다. telnet 192.168.68.5 13

서비스 관리 Charen ( 포트 19 ) 입력 값에 관계없이 임의의 문자열을 보낸다. telnet 192.168.68.5 19 ECHO, Discard, Daytime, Charen 포트는 DoS공격의 대상이 될 수도 있기 때문에 사용하는 포트가 아니라면 제거하는 게 좋다 서비스를 제거할 때는 /efc/inetd.conf 에서 해당 서비스가 구동되는 행에#표시

서비스 관리 FTP ( 포트 21 ) FTP – /etc/ftpusers 를 이용한 접근제어 주요 보안 이슈는 원격 버퍼 오버플로우 공격과 포맷 스트링 공격, 그리고 anonymous 로그인과 root 계정의 로그인 허용이 있다. FTP – /etc/ftpusers 를 이용한 접근제어 등록된 계정은 ftp 를 이용한 로그인 불가

서비스 관리 SSH (포트 22) -> Secure CRT 프로그램 SSH는 암호화된 Telnet 서비스. SSH1은 접속과 인증을 위해서 RSA(Rivest-Shamir-Adleman)를 이용하며, 통신의 암호화를 위해서는 Blowfish, DES, 3DES, RC4 및 IDEA 등을 사용한다. .

서비스 관리 Telnet (포트 23) Telnet – 관리자 원격 로그인 제한 - /etc/default/login 평문 전송으로 암호화 되지 않은 통신. 네트워크를 이용한 다양한 공격에 매우 취약하다. Telnet – 관리자 원격 로그인 제한 - /etc/default/login CONSO|LE=/dev/consol에 주석(#)처리 Telnet – 로그인 시 경고문 출력 - /etc/issue

서비스 관리 SMTP (포트 25) Sendmail에 대한 가장 일반적인 보안 이슈는 원격 버퍼오버플로우나 포맷 스트링 그리고, EXPN (Expansion)과 VRFY(Verify) 명령의 실행 여부다. telnet 192.168.68.5 25 Expn root Vrfy wishfree

서비스 관리 SMTP – Expn, Vrfy 명령 금지 설정 Vi /etc/mail/sendmail.cf

서비스 관리 Sendmail 배포판 무결성 확인 1. sendmail의 배포판과 전자서명 파일인 sig(signature : 서명) 파일을 다운로드 받는다.

서비스 관리 2. md5sum 유틸리티를 이용해서 해시 값을 구한다. 3. GNUPG 설치 md5sum sendamil.8.12.11.tar.gz 3. GNUPG 설치 rpm -Uvh gnupg-1.2.1-9.i386.rpm

서비스 관리 4. sendmail 배포 사이트의 공개 키 입력 5. 서명 파일을 이용한 서명 확인 http://www.sendmail.org/ftp/PGPKEYS gpg --import PGPKEYS 5. 서명 파일을 이용한 서명 확인 gpg --verify sendmail.VERSION.tar.gz.sig sendmail.VERSION.tar.gz

서비스 관리 Time (포트 37) TFTP (포트 69) daytime(포트 13) 프로토콜과 마찬가지로 시간을 알려주는 프로토콜이다. TFTP (포트 69) FTP를 이용해서 접속하고자 할 때, Anonymous 계정이 존재하는 경우를 제외하면 계정과 패스워드를 입력해야만 접속할 수 있다. 그러나 TFTP의 경우에는 이러한 인증 과정이 전혀 없다. TFTP를 이용하는데 계정과 패스워드는 필요 없다. 따라서, TFTP 데몬은 운영하지 않는 것이 최상이며, 운영하고자 할 경우에는 –s(secure) 옵션을 주어 실행한다.

서비스 관리 TFTP를 이용한 임의 파일 전송 TFTP 데몬이 –s 옵션없이 실행되고 있을 경우 다음과 같이 임의의 사용자가 이를 다운로드 받을 수 있다.

서비스 관리 Finger (포트 79) finger는 서버에 현재 로그인 중인 사용자 계정에 대한 정보를 확인할 수 있다. 이러한 정보는 해커에게 사용자의 이용 시간 및 계정의 존재 유무를 확인할 수 있게 한다. finger -l @192.168.68.5

서비스 관리 HTTP (포트 80) SUNRPC (포트 111) 웹 서비스를 수행하는 매우 중요한 포트다. 또한 취약점이 많은 포트이기도 하다. SUNRPC (포트 111) RPC는 자신에게 연결을 요청한 클라이언트에게 등록된 포트 중 적당한 포트를 클라이언트에게 할당해주고, 클라이언트는 RPC로부터 서버에 대한 연결 정보를 얻어 자신에게 필요한 서비스를 제공해주는 포트로 재접속한다.

서비스 관리 SUNRPC - rpcinfo SUNRPC – rpc 중단 현재 구동중인 rpc 정보를 확인할 수 있다. /etc/init.d/rpc stop

서비스 관리 SNMP (포트 121) 시스템에 대한 많은 정보를 유출할 수 있다.

서비스 관리 SNMP의 중지 SNMP는 다른 서비스와는 달리 inetd 데몬에 의해서 운영되는 데몬이 아니다. standalone 데몬이라는 뜻이다. 따라서 이 SNMP를 중지시켜주기 위해서는 기본 부팅 설정인 /etc/rc3.d에서 이를 제거해주어야 한다. 제거할 때는 나중에 다시 동작시킬 수 있도록 backup과 같은 디렉토리로 옮겨주자. Mv /etc/rc3.d/S76snmpx /etc/rc4.d/backup/S76snmpdx

서비스 관리 Exec (포트 512), Login(포트 513), Shell (포트 514) R-command라는 명령어 계열을 위한 포트다. R-command는 자체적으로 위험을 가지고 있다. r-command는 네트워크 해킹에서 하나의 이슈였던 시스템간 신뢰(Trust) 관계가 형성되어 있을 때 편리하다. 그러나, 보안에 있어서는 매우 위험하다. 신뢰관계가 형성된 시스템에서는 이러한 기능을 이용해서 임의의 명령을 수행, 및 조정할 수 있다. Exec, Login, Shell 서비스 중지 vi /etc/inetd.conf

서비스 관리 Exec 데몬을 이용한 원격지 시스템에서 임의 명령 수행 rexec 192.168.68.5 -l root cat /tmp/a.txt rexec 192.168.68.5 -l root cat /etc/shadow

서비스 관리 Exec, Login, Shell 서비스의 중지 Printer (포트 515) vi /etc/inetd.conf 프린터 연결을 위한 포트다. 서버에 굳이 프린터를 이용해야 하는 서버는 그다지 많지 않다. 버퍼 오버플로우 또는 포맷 스트링 공격 가능성이 있으므로 제거해준다.

서비스 관리 UUCP (포트 540) Submission (포트 587) UUCP(Unix to unix copy protocol)는 1976년 IBM에 의해 만들어진 프로토콜이다. 유닉스 시스템간 통신을 위해서 만들어졌다. 하지만 지금은 거의 사용되지 않는다. 마찬가지로 /etc/inetd.conf에서 제거해준다. Submission (포트 587) SNMP 서비스를 제공하는 또 다른 포트다. 보조적으로 동작하는 포트로, 25번 포트와 마찬가지로 sendmail에 의해서 운영된다. /etc/mail/sendmail.cf 에서 설정할 수 있다.

서비스 관리 Unknown (포트 898) 솔라리스 시스템에만 열려 있는 포트로 ‘Sun Management Console’이라고 부르는 포트다. 시스템에 있는 사용자 계정 등에 대한 프로파일을 생성하고 삭제하는 등의 기능을 한다. usr/sadm/bin/smprofile add -H myhost -p mypasswd -u root -- -n "User          Manager" -d "Manage users and groups" -a solaris.admin.usermgr.write -a solaris.admin.usermgr.read -p Operator -m RtUserMgmt.html

서비스 관리 Lockd (포트 4045) RPC 데몬 중에 하나로 rpc.lockd로 표기하는 게 보통이며, rpc.statd와 함께 사용된다. NFS를 사용할 경우에 하나의 클라이언트가 시스템 자원에 대해 자원을 공유할 때 파일을 여는 동안 다른 클라이언트가 중복 변경을 행하지 않도록 파일을 잠그는(lock) 데몬이다. 이 데몬 역시 standalone 데몬으로서 snmp를 정지시켜주었을 때와 마찬가지 방법을 사용한다. 옮겨주어야 할 파일은 /etc/rc2.d/S73nfs.client다. Mv /etc/rc2.d/S73nfs.client /etc/rc2.d/backup/S73nfs.client

서비스 관리 X11 : XDMCP (포트 6000) XDMCP(X Display Manager Control Protocol)는 원격에서 GUI 환경으로 시스템을 관리하기 위한 프로토콜이다. 윈도우의 터미널 서비스와 비슷하다고 생각하면 될 것이다. XDMCP를 이용하기 위해서는 윈도우에서 Xmanager라는 툴이 필요하다. Xmanager를 이용한 원격 시스템 접속

서비스 관리 X11 : XDMCP (포트 6000) Xmanager를 이용한 원격 시스템 접근 후 로그인

서비스 관리 X11 : XDMCP (포트 6000) - 접근제어 vi /usr/openwin/lib/xdm/Xaccess

서비스 관리 DTSPC (포트 6112) Font – Service (포트 7100) DTSPC(desktop subprocess control service)는 원격에서 서버를 관리할 때, 프로세스 제어를 위한 것으로 XDMCP와 같이 CDE(common Desktop Environment)를 사용하지 않는 경우에는 중지시킨다. 다른 일반적인 서비스들처럼 inetd.conf에서 중지시킨다. Font – Service (포트 7100) 7100 포트는 명칭에서도 알 수 있듯이 폰트에 대한 정보를 제공해준다. XDMCP와 같은 서비스에 해당 문자 폰트를 제공한다. 특별한 취약점이 있는 서비스는 아니다. 그러나, 다른 데몬들과 마찬가지로 버퍼오버플로우나 포맷 스트링 공격의 가능성이 있으므로 사용하지 않을 경우에는 중지시킨다.

패치 관리 - 레드햇 Up2date 명령을 이용한 자동 업데이트 보안패치에 대한 사이트 정보 http://www .redhat.com/apps/support/errata

패치 관리 - 솔라리스 SUN 사이트에서 적절한 패치 정보 및 패치 획득

패치 관리 - 솔라리스 설치된 패치 목록 확인 showrev showrev -p

패치 관리 - 솔라리스 압축된 패치 풀기와 설치 jar xvf 114137.jar atchadd /wishfree/patch/114137-04

패치 관리 - 솔라리스 압축된 패치 확인과 제거 showrev -p patchrm 114137-04

패치 관리 - HP-UX, AIX

접근제어 윈도우에서는 접근제어를 시스템 기반 방화벽을 이용해서 구현하였다. 리눅스와 유닉스에도 이러한 접근 제어 툴이 있다. 대표적인 경우가 TCPWrapper와 xinetd다. 이러한 접근제어 도구는 시스템에 기본적으로 설치되어 있는 경우도 있고, 설치해야 하는 경우도 있다. 이 절에서는 이 두가지를 알아볼 것인데 솔라리스9는 TCPWrapper를 이용해서 접근제어를 구현할 것이며, 레드햇에서는 xinetd를 이용 할것이다.

접근제어 - TCPWrapper TCPWrapper 의 동작 원리 TCPWrapper가 설치되면, inetd 데몬은 연결을 TCPWrapper의 데몬인 tcpd 데몬에 넘겨준다. tcpd 데몬은 접속을 요구한 클라이언트가 적절한 접근 권한이 있는 지를 확인하고, 해당 데몬에 연결을 넘겨준다. 이때 연결에 대한 로깅도 실시한다. TCPWrapper는 모든 프로토콜에 대한 접근 제어를 할 수 있는 것은 아니다. inetd 데몬이 관리하지 않는 standalone 데몬과 같은 경우는 inetd 데몬이 통제할 수 없으며, TCP 프로토콜 외에 일부 프로토콜에 대해서만 통제가 가능하다.

접근제어 - TCPWrapper TCPWrapper의 설치 /usr/sfw/sbin/ 설치되어 있지 않을 경우에는 각 벤더에서 팩키지로 제공하고 있다. 그렇지 않을 경우 TCPWrapper 소스를 받아 컴파일해야한다.

접근제어 - TCPWrapper TCPWrapper의 적용 vi /etc/inetd.conf telnet stream tcp6  nowait   root    /usr/sfw/sbin/tcpd   in.telnetd 설정을 변경한 후에는 이를 적용하기 위해서 inetd 데몬을 재시작해야 한다.

접근제어 - TCPWrapper 접근제어의 설정 vi /etc/inetd.conf telnet stream tcp6  nowait   root    /usr/sfw/sbin/tcpd   in.telnetd TCPWrapper에서는 접근 제어에 /etc/hosts.allow와 /etc/hosts.deny를 사용하는데, 이름에서도 쉽게 알 수 있듯이 시스템에 접근을 허용 또는 차단할 시스템과 네트워크를 정의하는 파일이다. hosts.allow 파일과 hosts.deny, 두 파일 모두에  접근하고자 하는 해당 클라이언트가 설정 사항에 포함되지 않을 때는 접근을 허용하게 된다.

접근제어 - TCPWrapper 접근제어의 설정 – 통제 규칙 설정 접근제어의 설정 – /etc/hosts.deny 데몬 목록 : 클라이언트 목록 [ :셸 명령] 접근제어의 설정 – /etc/hosts.deny ALL:ALL 접근제어의 설정 – /etc/hosts.allow in.telnetd:192.168.68.3

접근제어 - TCPWrapper 접근제어의 규칙 검사 /usr/local/bin/tcpdchk  /usr/sfw/sbin/tcpdmatch in.telnetd 192.168.68.3

접근제어 - TCPWrapper 접근제어의 규칙 설정 방법 ALL : 192.168.68.3, 192.168.68.4 EXCEPT 192.168.68.5 모든 데몬에 대해, 192.168.68.3과 192.168.68.4에 대한 접근을 허락해주고, 192.168.68.5는 금지한다. in.ftpd : 192.168.68.0/255.255.255.0 192.168.68.*** 네트워크에 해당하는 시스템이 FTP에 접속하는 것을 허락한다. in.telentd : .co.kr 도메인 이름이 co.kr로 끝나는 시스템으로부터의 telnet 접근을 허락한다.

접근제어 - Xinetd Xinetd의 동작 원리 xinetd도 inetd와 매우 유사하다. 다른 점이 있다면 xinetd는 /etc/xinetd.conf 파일에서 xinetd 데몬에 대한 공통적인 설정을 하고 있으며, /etc/xinetd.d/ 디렉토리 안에 각 데몬별로 설정 파일이 따로 존재한다. 예를 들면, 텔넷 데몬에 대한 설정이 /etc/xinetd.d/telnet으로 존재하는 것이다.

접근제어 - Xinetd Xinetd 기본 데몬 설정 vi /etc/xinetd.conf

접근제어 - Xinetd Xinetd 기본 데몬 설정 vi /etc/xinetd.conf ○  instances : 동시에 동일 서버의 최대 동작 가능 수를 정의한다. 기본은 60이므로, 60명 이상이 동시에 텔넷 데몬을 이용할 수 없다. ○  logtype : 로깅 방식으로 syslogd가 기본으로 설정되어 있으며, auth priv는 인증 레벨을 의미하며, daemon, auth, user 또는 local0-7 중에서 선택할 수 있다. ○  log_on_success : 서버에 사용자가 접속하여 구동될 때 로깅되는 정보를 선택한다. ○  log_on_failure : 서버가 자원 부족 또는 접근 규칙 때문에 구동할 수 없을 때의정보를 로깅한다. ○  cps : 서버에 들어올 수 있는 초당 최대 접속 수를 제한한다. ‘25 30’은 1초 안에 25회 이상 접속을 시도할 때 30초 동안 서비스가 중지된다는 의미다.

접근제어 - Xinetd Xinetd – 데몬별 설정 vi /etc/xinetd.d/telnet

접근제어 - Xinetd Xinetd – 데몬별 설정 ○ disable : 데몬에 대한 동작 여부를 설정한다. 조금 이상하지만, ‘yes'는 동작 중지이고, ’no'는 동작을 의미한다. disable이 부정의 의미이니, 부정의 부정이 동작을 의미하는 것이다. ○ flags : 데몬의 동작에 대한 특성을 부여한다. ○ socket_type : inetd 데몬과 같다. 텔넷은 TCP 프로토콜을 이용하므로 stream으로 적어준다. UDP 프로토콜일 경우에는 dgram, IP를 이용한 3계층 접속일 경우에는 raw 또는 seqpacket()을 적는다. ○ wait : 스레드에 대한 서비스 동작을 정의한다. ○ user : 데몬을 구동시킬 사용자를 정의한다. telnet을 이용해 root 권한을 사용할 필요가 없다면, 적절한 권한의 다른 계정으로 바꾸어 주는 것이 좋다. ○ server : 텔넷의 실제 데몬이 있는 경로를 지정한다. ○ log_on_failure : xinetd.conf 파일의 log_on_failure과 같다.

접근제어 - Xinetd Xinetd – 접근제어 /etc/xinetd.conf 파일에서도 가능하고, 각 데몬의 설정 파일인 /etc/xinetd.d/telnet와 같은 각 데몬 파일에서도 가능하다.

접근제어 - Xinetd Xinetd – 접근제어 설정 'only_from = 192.168.68.3'을 /etc/xinetd.conf 파일에 추가하였다. 이런 설정은 IP 192.168.68.3을 가진 클라이언트 이외에는 xinetd 데몬이 관리하는 어떤 서비스에도 접근할 수 없게 한다. vi /etc/xinetd.conf Xinetd – 재시작 service xinetd restart

접근제어 - Xinetd Xinetd – 접근제어 설정 only_from = 192.168.68.0/24 시스템에 대한 접근 제어를 허락하듯이 192.168.68.0 네트워크에 대한 접근 제어를 설정한 것이다. only_from = 10.0.0.0/8 192.168.68.3 접근 제어는 TCPWrapper와 마찬가지로 시스템과 네트워크를 나열해서 적용할 수 있다. no_access = 0.0.0.0/0 no_access는 명시적으로 특정 네트워크에 대해 접근을 금지할 때, 사용되며 only_from에 허락되어 있더라도, no_access에 정의되어 있는 시스템이나  네트워크는 접근이 차단된다. 0.0.0.0/0은 모든 네트워크에서의 접근을 차단함을  의미한다.

접근제어 - Xinetd Xinetd – 로깅 로깅은 데몬의 설정 파일에서 log_on_success, log_on_failure에 의해 로그 설정을 확인할 수 있다. 로그 파일은 /var/log/messages 파일에서 다음과 같이 확인할 수 있다. vi /var/log/messages

파일 및 디렉토리 관리 PATH 설정 각 디렉토리 및 파일 별 적절한 권한 설정 PATH 환경 변수에 현재 디렉토리를 지칭하는 '.'이 맨 앞에 포함되어 있을 경우에는 자주 사용하는 명령과 같은 이름으로 생성한 백도어를 임의의 디렉토리에 생성해놓으면, 관리자가 해당 디렉토리에서 명령을 실행할 때 PATH에서 그 명령이 포함되어 있는 경로를 찾게 되는데, 최초에 ‘.’이 있으므로 현재 디렉토리의 내용을 먼저 검색한다. 이 때, 실제 명령과 관계없는 백도어가 실행된다. 따라서 PATH 환경 변수에 현재 디렉토리를 의미하는 ‘.’을 포함시키지 않아야 한다. 각 디렉토리 및 파일 별 적절한 권한 설정 /etc 접근 권한 751 (d rwx r-x --x) /bin 접근 권한 771 (d rwx rwx --x) /usr/bin 접근 권한 751 (d rwx r-x --x) /sbin 접근 권한 771 (d rwx rwx --x)

파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정 /tmp 접근 권한 1777 (d rwx rwx rwt) /var/tmp 접근 권한 1777 (d rwx rwx rwt) /var/log 접근 권한 751 (d rwx r-x --x) /etc/ssh 접근 권한 750 (d rwx r-x ---) /var/log/messages 접근 권한 640 (- rw- r-- ---) /etc/crontab 접근 권한 600 (- rw- --- ---) /etc/syslog.conf 접근 권한 640 (- rw- r-- ---) /var/log/wtmp 접근 권한 640 (- rw- r-- ---)

파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정 /var/log/lastlog 접근 권한 640 (- rw- r-- ---) /etc/ftpusers 접근 권한 600 (- rw- --- ---) /etc/passwd 접근 권한 440 (- r-- r-- ---) /etc/shadow 접근 권한 600 (- rw- --- ---) /etc/hosts.equiv 접근 권한 600 (- rw- --- ---) /etc/hosts.allow 접근 권한 600 (- rw- --- ---) /etc/hosts.deny 접근 권한 600 (- rw- --- ---) /etc/lilo.conf 접근 권한 600 (- rw- --- ---)

파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정 /etc/securetty 접근 권한 600 (- rw- --- ---) /etc/rc.d/init.d 접근 권한 750 (- rwx r-x ---) /etc/init.d 접근 권한 750 (- rwx r-x ---) /etc/inetd.conf 접근 권한 600 (- rw- --- ---) /etc/cron.allow 접근 권한 400 (- r-- --- ---) /etc/cron.deny 접근 권한 400 (- r-- --- ---) /etc/hosts 접근 권한 644 (- rw- r-- r--)

Thank you