1 / 28

강 명 수 flag12@cherub.sungkyul

데몬과 프로세스 관리. 강 명 수 flag12@cherub.sungkyul.edu. 데몬이란 ?. 데몬 (daemon) 이란 ? 커널 상에서 백그라운드 모드 (background mode) 로 작동 . 백그라운드 모드란 ? 비활성화 상태에서 어떤 요청이 있을때 동작을 하는 프로세스 . 부팅 과정에서 적재되고 , 백그라운드에서 작동하지 않고 슬립 (sleep) 모드로 작동중인 프로세스 . 부팅 과정에서 적재되기 때문에 메모리에 상주하고 있는 프로세스 .

brendy
Télécharger la présentation

강 명 수 flag12@cherub.sungkyul

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 데몬과 프로세스 관리 강 명 수flag12@cherub.sungkyul.edu

  2. 데몬이란? • 데몬(daemon)이란? • 커널 상에서 백그라운드 모드(background mode)로 작동. • 백그라운드 모드란? 비활성화 상태에서 어떤 요청이 있을때 동작을 하는 프로세스. • 부팅 과정에서 적재되고, 백그라운드에서 작동하지 않고 슬립(sleep) 모드로 작동중인 프로세스. • 부팅 과정에서 적재되기 때문에 메모리에 상주하고 있는 프로세스. • 백그라운드로 슬립 상태에 있는 경우 CPU를 점유하지 않는다. • 시스템 관리자 입장에서는 이러한 데몬의 적절한 관리로 시스템의 리소스 자원 관리가 이루어져야 한다. • 리눅스의 서버 기능을 저하할 수 있는 가능성 성결대학교 LINUX 수업 강명수

  3. 데몬의 종류 • 일반적인 리눅스 시스템의 실행 데몬 • 관리자에 의한 온,오프 관리. • 관리자 입장에서 데몬 관리를 위한 명령어 • ntsysv, chkconfig, system-config-services 성결대학교 LINUX 수업 강명수

  4. 데몬의 종류 성결대학교 LINUX 수업 강명수

  5. 데몬의 종류 성결대학교 LINUX 수업 강명수

  6. 데몬의 종류 성결대학교 LINUX 수업 강명수

  7. 데몬의 종류 성결대학교 LINUX 수업 강명수

  8. 데몬의 종류 성결대학교 LINUX 수업 강명수

  9. 데몬의 종류 성결대학교 LINUX 수업 강명수

  10. 데몬의 종류 성결대학교 LINUX 수업 강명수

  11. 슈퍼데몬 Xinetd(eXtended inetd) • Xinetd 슈퍼데몬이란? • 리눅스 시스템이 부팅될 때 적재되는 서비스 데몬들을 관장하는 데몬. • 기존의 inetd의 비효율적인 리소스 관리와 보안성 문제를 극복하기 위해 나온 대체 데몬. • 기존의 TCP wrapper의 기능을 흡수하여 보안에 강화된 데몬. • TCP wrapper는 네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴. • 임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인. 성결대학교 LINUX 수업 강명수

  12. Xinetd 데몬의 특징(1) • TCP, UDP, RPC 서비스 접근 제어 조절 기능(접근 제어:Access Control) • 차별적인 접속을 위한 접근 제어 기능 제공 • lipwrap 옵션 지원으로 TCP 랩퍼와 같은 tcpd 접근 제어 기능 제공 • 액세스 타임(Access Time)에 기반한 서비스 접근 제한 • 접속 회수 제한 • 서비스 거부(Denial of Service) 공격 방지 • 접속 한계 회수에 도달 시 서비스 실행을 중지하여 DoS 공격 방지. • 동일한 클라이언트의 동시 접속 제한. • 로그 파일 크기 제한. 성결대학교 LINUX 수업 강명수

  13. Xinetd 데몬의 특징(2) • 철저한 로깅(logging) 기능 • 각각의 서비스에 대해 syslog 로깅 레벨 설정. • 클라이언트의 서비스 이용 시간 기록. • 서비스 접속 실패 시 자세한 로그 기록. • 원격 호스트로 서비스 리다이렉션 • IPv6 지원 성결대학교 LINUX 수업 강명수

  14. Xinetd 데몬의 설정(1) • /etc/xinetd.conf 파일 설정 • /etc/xinetd.conf 설정 파일 형식 • Xinetd 슈퍼데몬의 설정은 default section과 Services section 으로 구성. • default section : xinetd 슈퍼데몬에서 다루는 모든 서비스에 적용되는 속성과 속성 값들을 지정. • /etc/xinet.conf 파일 • Service section : xinetd 슈퍼데몬 하에서 서비스하도록 각 서비스별로 속성과 속성 값을 지정. • /etc/xinetd.d/서비스명 파일 성결대학교 LINUX 수업 강명수

  15. Xinetd 데몬의 설정(2) • 연산자(assign_operator) • ‘=‘, ‘+=‘, ‘-=‘ • 대부분 ‘=‘값만 지원하지만, 두 개의 속성 값을 갖는 속성들은 모든 연산자를 지원 • ‘+=‘값은 하나의 속성 값을 더해주고, ‘-=‘값은 하나의 속성 값ㅇ르 뺀다는 의미. • env 속성은 ‘-=‘연산자는 지원하지 않는다. 성결대학교 LINUX 수업 강명수

  16. Xinetd 데몬의 설정(3) • default section에 사용되는 주요 속성 • instances = 60 • 동시에 서비스를 실행할 수 있는 서버의 최대 개수를 지정. • 접속 제한을 두지 않으려면, UNLIMITED로 지정. • 이 속성 값을 통해 DoS 공격을 막을 수 있다. • log_type = SYSLOG authpriv • 어떠한 포맷으로 로그를 저장할 것인지를 지정하는 속성. • SYSLOG와 FILE, 두 포맷을 사용. • SYSLOG : 지정된 facility에서 syslog로 로그 기록. • 설정 방법 : SYSLOG syslog_facility [syslog_level] • FILE : 지정된 크기를 가진 파일명에 로그 기록. • 설정 방법 : SYSLOG FILE soft_limit [hard_limit] 성결대학교 LINUX 수업 강명수

  17. Xinetd 데몬의 설정(4) • SYSLOG의 facility와 syslog_level • Facility : 어떤 종류의 프로그램으로 메시지를 출력할지 결정. • AUTH : 보안, 권한 설정에 대한 로그(login, su, getty등의 프로그램) • AUTHPRIV : 보안, 권한 설정에 대한 로그 정의 • CRON : cron, at 데몬 • DAEMON : 다른 시스템 데몬(xinetd, ftpd) • KERN : 커널 메시지들 • LOCAL0~7 : 로컬 사용자용으로 예약 • LPR : 프린터 스풀링 시스템에서 생성되는 메시지(lp, lpsched) • MAIL : 메일 시스템에서 생성되는 메시지 • NEWS : 뉴스 시스템에서 생성되는 메시지 • SYSLOG : syslogd 데몬이 내부적으로 생성한 메시지 • USER(default) : 임의의 사용자 프로세스가 생성한 메시지 기능 식별자를 지정하지 않은 경우 기본적으로 사용됨. • syslog_level : 우선 순위 수준(메시지의 중요성 정도) • EMERG : 시스템 패닉상태(시스템 사용불가 상태) • ALERT : 즉각적인 조취가 취해져야만 하는 상태 • CRIT : 하드 장치의 임계에러경고 • ERR : 일반적인 에러 • WARNING : 일반적인 경고 • NOTICE : 일반 알림사항(비임계) • INFO : 정보메세지 • DEBUG : 문제 해결을 위한 도움말 성결대학교 LINUX 수업 강명수

  18. Xinetd 데몬의 설정(5) • log_on_success = HOST PID • 서버가 시작될 때와 끝날 때 기록될 것들을 지정. • 다음의 5가지 값을 조합 지정 가능. • PID : xinetd 프로세스 ID • HOST : 원격 호스트의 IP • USERID : 원격 사용자의 ID • EXIT : 서비스가 빠져 나갈 때의 상태 • DURATION : 서버 세션(session) 지속 상태 • log_on_failure = HOST RECORD • 서버가 리소스 부족으로 시작될 수 없거나 설정 파일 내의 규칙에 의한 접근이 거부되었을 때 기록될 값들을 지정. • 다음의 4가지 값을 조합 지정 가능. • HOST : 원격 호스트의 IP • USERID : 원격 사용자의 ID • ATTEMPT : 실패한 시도가 있을 경우 • RECORD : 클라이언트에 대한 가능한 정보 성결대학교 LINUX 수업 강명수

  19. Xinetd 데몬의 설정(6) • only_from = • 특정 서비스를 이용 가능한 원격 호스트를 설정. • 이 속성에 값이 주어지지 않으면 모든 접속이 허용. • 도메인이 아닌 아이피 주소로 지정((ex)192.168.0.1 or 192.168.1.0/24) • per_source = 5 • 똑같은 원격 IP 주소가 로컬 서비스에 접속할 수 있는 최대 접속 수를 지정. • 무제한 접근 허용은 “UNLIMITED” • enable = pop3s imaps • 실행 가능한 서비스의 목록을 표시. • 이 속성에서 나열된 서비스명만이 실행이 가능. • 만약 disable 속성과 DISABLE 플래그가 존재할 경우 이 속성을 무시. • no_access = 0.0.0.0/0 • 원격 호스트의 주소로 서버에 접근하지 못하게 지정. • only_from 속성과 같이 사용하여 TCP Wrapper기능을 부여. • disable = shell login exec finger • 나열된 서비스 값들이 실행되지 못하도록 지정. • enable 속성과 같이 존재하면, enable 속성은 무시. • includedir = /etc/xinetd.d • Services section을 /etc/xinetd.conf 파일 내에 지정하지 않고 서비스마다 하나의 파일로 지정하고자 할 쌔 이 속성에서 서비스 파일이 위치할 디렉토리를 지정. 성결대학교 LINUX 수업 강명수

  20. Xinetd 데몬의 설정(7) • Services section에 사용되는 주요 속성 • service telnet • service 속성으로 설정하고자 하는 서비스의 이름을 지정. • 여기서 지정해 주는 서비스들은 /etc/services 파일 리스트에 있어야 한다. • disable = yes • 해당 서비스가 실행되지 못하도록 설정. • flags = REUSE • 아래 속성을 조합하여 사용. • REUSE : 포트가 사용중(TIME_WAIT)의 경우에서도 재이용할 수 있도록 지원 • INTERCEPT : 패킷 전송을 중단해, 허가된 발신처로부터 오고 있는지 확인 • NORETRY : 인증에 실패할 경우 같은 서비스에 접속을 허가하지 않음. • IDONLY : 리모트 호스트로 인증되는 유저의 경우만 접속을 허가(로그 옵션의 USERID와 병용 필요) • NAMEINARGS : tcpd를 사용하는 경우에, server_arg로 지정하는 변수가 서비스에 인수(argv[0])으로 받은. • NODELAY : TCP 접속의 경우, TCP_NODELAY 플래그를 셋(set) • DISABLE : 서비스가 실행되지 않게 한다. • KEEPALIVE : TCP 접속의 경우, keep_alive가 셋(set) 성결대학교 LINUX 수업 강명수

  21. Xinetd 데몬의 설정(8) • protocol = tcp • 서비스가 사용할 프로토콜을 설정 • 프로토콜은 /etc/protocols 내에 있어야 하며, 이 속성을 지정하지 않으면, 서비스가 사용하는 기본 프로토콜을 사용. • socket_type = stream • 4가지 선택 가능한 값이 있다. • stream : stream 기반의 서비스 • dgram : datagram 기반의 서비스 • raw : 아이피에 직접 접근을 요하는 서비스 • seqpacket : 신뢰성 있는 연속적인 데이터그램 전송을 요구하는 서비스 • wait = no • 서비스가 단일 스레드인지, 다중 스레드인지를 결정하는 플래그로 yes는 단일, no는 다중 스레드 • user = root • 서버 프로세스를 실행할 수 있는 사용자의 ID를 나타내는 것으로 슈퍼유저일 경우에만 효과를 낼 수 있음. • server = /usr/sbin/in.telnetd • 해당 서비스를 실행할 데몬 프로그램의 위치 지정. • access time = 01:00-07:00 • 지정된 시간에만 서비스를 이용할 수 있도록 해 주는 속성. • redirect = 192.168.1.10 23 • TCP 서비스를 다른 호스트에게 이양하고자 할 때 사용. • port = 8080 • 서비스 포트를 명시. • 여기서 지정하는 포트는 /etc/services 파일 목록 내의 서비스 포트와 일치해야 한다. • nice = 10 • 서버의 예약 우선권을 나타내는 속성 • -20은 가장 빠른 우선권. 성결대학교 LINUX 수업 강명수

  22. Xinetd 데몬의 설정 실습 • xinetd 설정 예제 따라하기(p431). • 예제 1. • xinetd 슈퍼데몬 시작과 중지 실행(p432). • xinetd 슈퍼데몬 설정 파일 보안 유지하기(p433) 성결대학교 LINUX 수업 강명수

  23. 데몬 및 프로세스 관리 • 프로세스 작동 상황 알아보기 • ps 명령어 사용 • ps –ef | more • 위 명령어로 나타나는 컬럼(UID, PID, PPID, PGID, SID, TTY, STAT, STIME, TIME, CMD) • 프로세스 죽이기 • kill [ -시그널번호 또는 시그널 ] PID • Ex) kill –SIGKILL 933 or kill -9 933 • 프로세스를 멈추지 않고서 재실행토록 하기 위해서 –SIGHUP 또는 시그널 번호 -1를 넣어서 kill 명령어 실행 • Ex) kill –SIGHUP pid • 백그라운드 작업과 포어그라운드 작업 • bg %작업 번호, fg %작업번호 • 커맨드 상태에서 실행 명령어 뒤에 &를 붙이면, 백그라운드로 실행 • jobs 성결대학교 LINUX 수업 강명수

  24. 데몬 및 프로세스 관리 실습 • 백그라운드 작업과 포그라운드 작업 전환 실습(p438) • ncftp가 아닌 sftp로.. 성결대학교 LINUX 수업 강명수

  25. 데몬 및 프로세스 관리 • 프로세스 상태 살펴보기 • pstree 명령어 • 프로세스를 트리 형태로 표현 • pstree [-옵션] [pid | usr] • 위 명령어로 나타나는 컬럼(UID, PID, PPID, PGID, SID, TTY, STAT, STIME, TIME, CMD) • top 명령어 • CPU를 많이 점유하는 프로세스들을 실시간으로 점검 • top [-] [d delay] [q] [c] [C] [S] [s] [i] [b]0 • nice 명령어 • 일반적으로 프로세스가 생성되면 우선권에 따라서 프로세스가 실행된다. 이것을 사용자가 빠꿀때 사용하는 명령어 • nice –n 명령 • n은 -20에서 19까지의 값 지정. 성결대학교 LINUX 수업 강명수

  26. 데몬 관리 • ntsysv • chkconfig • system-config-services 성결대학교 LINUX 수업 강명수

  27. 데몬 활용 실습 • at 데몬(p445) • 현재 시간에서 3분 뒤에 시스템이 커지도록 예약 • at 사용자 제한(root) • at 작업 확인(atq) • at 큐 작업 제거 • cron 데몬(p448) • 로그 파일을 자기의 홈 디렉토리에 저장하도록 예약 • 매일 현재 시각 + 5분 • Cron의 작업 리스트 확인(crontab –l) • Cron 작업 명령 취소(제거) 성결대학교 LINUX 수업 강명수

  28. Q & A 감 사 합 니 다. 성결대학교 LINUX 수업 강명수

More Related