1 / 34

LINUX SECURITY - 메일 보안 -

LINUX SECURITY - 메일 보안 -. 네트워크 실험실 김 윤 수. 목 차. SMTP 서버와 클라이언트 Sendmail 보안 기초 Qmail 설치 요약. SMTP 서버와 클라이언트. SMTP 의 메일 처리 과정 - 들어오는 메시지 수신 - 메시지 주소 확인 - 로컬 주소이면 메시지 저장 - 원격 주소이면 메시지 전달. 전자메일의 구조 . 전자메일 헤더. From hskim@daelimrnd.co.kr Thu Jun 29 08:42:27 2000

kassia
Download Presentation

LINUX SECURITY - 메일 보안 -

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. LINUX SECURITY- 메일 보안 - 네트워크 실험실 김 윤 수 #

  2. 목 차 • SMTP 서버와 클라이언트 • Sendmail보안 기초 • Qmail설치 • 요약 #

  3. SMTP 서버와 클라이언트 • SMTP의 메일 처리 과정 - 들어오는 메시지 수신 - 메시지 주소 확인 - 로컬 주소이면 메시지 저장 - 원격 주소이면 메시지 전달 #

  4. 전자메일의 구조 #

  5. 전자메일 헤더 From hskim@daelimrnd.co.kr Thu Jun 29 08:42:27 2000 Received: from magpie.daelimrnd.co.kr (magpie.daelimrnd.co.kr [202.30.60.10]) by bomun.kaist.ac.kr (8.10.2/8.10.2) with ESMTP id e5SNgQL21721 for <yskim@bomun.kaist.ac.kr>; Thu, 29 Jun 2000 08:42:26 +0900 (KST) Received: from hskim.daelimrnd.co.kr (dt002.daelimrnd.co.kr [202.30.60.16]) by magpie.daelimrnd.co.kr (8.9.3/8.9.3) with SMTP id JAA27737; Thu, 29 Jun 2000 09:04:11 +0900 (KST) Message-ID: <000801bfe15a$56e94e60$103c1eca@daelimrnd.co.kr> #

  6. SMTP 명령어 (1) #

  7. SMTP 명령어 (2) #

  8. SMTP의 보안 • 외부 침입으로부터 서버를 보호하는 일. 외부 공격자가 승인되지 않은 접근을 할 수 없도록 서버를 강화 • 외부 사용자가 메일 서버를 통해 스팸(spam)메일을 보내거나 위조된 메일을 보내는 것 같은 잘못된 사용으로 부터 SMTP 보호 #

  9. sendmail 보안기초 (1) • sendmail의 version #

  10. sendmail보안 기초 (2) • sendmail을 목표로 공격하는 원인 • sendmail은 공개적으로 이용 가능한 서비스이므로 누구나 연결해서 사용 할 수 있다. • Sendmail은 루트권한으로 수행되기때문에 루트 권한을 획득하기 쉽다. • 환경설정이 어려워 설정오류를 기대하고 공격 #

  11. MIME 버퍼 오버플로 버그 (1) • 98년 3사분기 보고 • sendmail 자체에 영향을 미치는 것이 아니라 sendmail이 메일을 전달하는 클라이언트에게 영향을 미친다. 즉 sendmail은 공격대상이 아니라 공격에 이용되는 도구. • MIME은 그림이나 소리, 특정 형식의 텍스트 등 다양한 종류의 데이터를 지원하기 위한 방법으로, MIME헤더에는 어떤 종류의 데이터가 인코딩 되어있는지에대한 정보저장 #

  12. MIME 버퍼 오버플로 버그 (2) • CERT권고안(CERT 권고안 CA 98.10, 1998년 8월11일) – sendmail 8.9.1 - “공격자는 정교하게 제작된 메일을 보냄으로써 공격자가 선택한 코드가 실행될 수 있도록 하고, 경우에 따라서는 메일 클라이언트를 망가뜨릴 수 도 있다. 또한, 운영체제에 따라서 사용자의 권한을 가지고 수행되기 때문에 루트 같은 관리자 계정으로 악의적으로 제작된 메일을 읽게 된다면 시스템에 대한 권한을 얻을 수도 있다.” #

  13. 패스워드 파일 / 루트 접근 • sendmail 8.8.4에서는 sendmail이 배달되지 않은 메시지를 /var/tmp/dead.letter 파일끝에 저장한다는 사실과 링크를 이용하여 내부 사용자는 루트 권한을 얻을 수가 있었다. • /var/tmp/dead.letter /etc/passwd • 메시지내용은 사용자계정을 기록하고 도착할 수 없는 메시지를 보내면 새로운 계정기록 #

  14. sendmail 헤더 파싱 DoS공격 • sendmail 헤더 파싱 코드의 버그에 초점 • 많은수의 “To:”헤더를 가진 메시지를 생성함으로써 크래커들은 서버를 정지시킬 수 있는데 sendmail 8.9.2와 그 이전 버전에 영향을 미쳤다. • P.379 잘레브스키의 테스트 코드 • 서버와 연결후에 사용자에게 전자메일을 보내는 일을 반복한다. 특히 전송되는 메시지안에 15,000개의 To:가 있어 sendmail을 정지시키에 되고 서버는 메일 송수신을 거부한다. #

  15. sendmail 서비스 보호 (1) • /etc/mail/access #

  16. sendmail 서비스 보호 (2) #

  17. sendmail 서비스 보호 (3) #

  18. 실시간 블랙 리스트 관리 (1) • RealTime Blackhole List 스팸을 전송하는 사람들의 목록, sendmail은 동적으로 특정 도메인으로부터 메일을 받을 것인가를 결정. #

  19. 실시간 블랙 리스트 관리 (2) #

  20. 실시간 블랙 리스트 관리 (3) #

  21. 실시간 블랙 리스트 관리 (4) #

  22. 실시간 블랙 리스트 관리 (5) • RBL 서비스의 활용 • /etc/sendmail.mc파일에 다음을 추가한다. • - Sendmail Version 8.9 Use • FEATURE(rbl) • - sendmail 8.10 and above • FEATURE(dnsbl) • Then, reconfigure and restart the daemon. #

  23. EXPN과 VRFY기능억제 (1) • SMTP명령어중 EXPN(expand)와 VRFY(verify)는 사용자의 정보를 외부로 유출할수 있다. #

  24. EXPN과 VRFY기능억제 (2) • EXPN(expand)와 VRFY(verify)의 억제 • sendmail.cf 의 다음 부분을 추가하여 기능억제 # privacy flags O PrivacyOption=authwarnings, noexpn, novrfy And Then sendmail Restart!! #

  25. TCP wrapper와 SMTP (1) • Daemon프로세서로 수행하지 않고 inetd의 일부로 사용(단, traffic이 많지 않을 경우) 1. Sendmail 초기화 스크립트 삭제 /etc/rc.d/rc3.d/S80sendmail or /etc/rc.d/rc5.d/S80sendmail 2. /etc/inetd.conf에 sendmail메일에 대한 항목 추가 smtp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/sendmail –bD 3. inetd설정파일 다시 읽도록 한다. 4. Tcp wrapper제어 파일인 /etc/hosts.allow, /etc/hosts.deny 파일설정 #

  26. TCP wrapper와 SMTP (2) • TCP wrapper설정예 (1) games.com, toys.com, weapons.com의 요구만 수용 - /etc/hosts.deny deny:deny - /etc/hosts.allow ALL:LOCAL, games.com, toys.com, weapons.com • TCP wrapper설정예 (2) badpeople.com과 evilspam.com에서 오는 요구를 제외하고는 누구나 연결 가능 - /etc/hosts.deny ALL:badpeople.com, evilspam.com - /etc/hosts.allow ALL:ALL #

  27. Qmail의 설치 (1) • http://www.qmail.org • qmail-1.03.tar.gz • Qmail의 특징 - 안전성 - 속도 - 신뢰성 - 쉬운 가상도메인 - ezmlm을 이용한 이용자가 제어하는 메일링 리스트. #

  28. Qmail의 설치 (2) • source DownLoad qmail-1.03.tar.gz • tar zxvf qmail-1.03.tar.gz • 몇 개의 사용자 계정과 그룹 생성 • cd qmail-1.03 • Make setup check # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias # useradd -g nofiles -d /var/qmail -s /bin/false qmaild # useradd -g nofiles -d /var/qmail -s /bin/false qmaill # useradd -g nofiles -d /var/qmail -s /bin/false qmailp # groupadd qmail # useradd -g qmail -d /var/qmail -s /bin/false qmailq # useradd -g qmail -d /var/qmail -s /bin/false qmailr # useradd -g qmail -d /var/qmail -s /bin/false qmails #

  29. Qmail의 설치 (3) • [root@yskim qmail-1.03]# ./config • [root@yskim qmail-1.03]# (cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root) • [root@yskim qmail-1.03]# chmod 644 ~alias/.qmail* • Sendmail 삭제 # mv /usr/lib/sendmail /usr/lib/sendmail.old # mv /usr/sbin/sendmail /usr/sbin/sendmail.old # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail # killall –9 sendmail #

  30. Qmail의 설치 (4) • /etc/inetd.conf 추가 stmp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd • [root@yskim qmail-1.03]# cp /var/qmail/boot/proc /var/qmail/rc • [root@yskim qmail-1.03]# csh –cf ‘/var/qmail/rc &’ • 자동스크립트에 추가 #

  31. Qmail의 설치 (5) #

  32. Qmail의 설치 (6) #

  33. Qmail 관련문서들 • http://www.qmail.org/ • http://kldp.org/qmail/ • Michael Samuel의Qmail문서화 프로젝트 http://qmail-docs.surfdirect.com.au • David Sill의 LWQ(Life with Qmail) http://Web.InfoAve.Net/~dsill/lwq.html • Qmail에서 RBL을 지원하도록 하기 위한 페이지 http://www.qmail.org/rbl/ #

  34. 요 약 • 중계기능을 막고 계정 해킹을 방지하기 우해 MTA를 설정함으로써 네트워크와 서버 그리고 사용자들을 보호 할 수 있다. Sendmail은 높은 성능의SMTP서비스를 제공하고, 현존하는 리눅스/유닉스 유틸리티와 호환성이 잘 이루어지는 반면에, Qmail은 작지만 빠르고 안전하다. #

More Related