Posted on 2008/09/08 13:11
Filed Under [1] IT 관련/2. Linux

오늘은 네임서버에 대하여 알아보도록 하겠습니다.

1. 네임서버의 작동은 53번 포트를 이용하여 쿼리를 주고 받는 역활을 합니다.
방화벽이나 혹은 iptable에서 53번을 막고 동작이 않된다고 하시는 분들이 계시는데
그런 실수가 없으시기 바랍니다.

2. 네임서버를 만들기 위해서는 우선 네임서버의 도메인을 호스트로 등록해야 합니다.
필자가 사용할 도메인은 가비아를 통해서 등록하였다. (http://domain.gabia.com)
호스트 등록을 위해서는 고정 IP가 꼭 필요하므로 고정 IP를 확인하도록 한다.

3. 네임서버를 운영하기 위해서는 Bind가 설치되어 있어야 한다. 혹시 설치가 되어 있지 않은 경우
Bind는 ISC(http://www.isc.org)에서 받아 설치를 하자. RPM은 레드햇(http://www.redhat.com)
이나 리눅스 설치 시디롬에서 RPM을 설치하면 된다.

사용할 도메인 : jaehun.org
사용할 고정아이피 : 211.189.69.36

이곳 쥔장의 서버 IP는 미리내 웹호스팅업체의 사장님과의 친분으로 제공되는 회선이다.

네임서버의 구축의 위해서 새로 작성하거나 수정할 파일들은 다음과 같다.

/etc/named.conf [수정]
/var/named/named.zone [새로작성]
/var/named/named.rev [새로작성]

# vi /etc/named.conf

// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//

controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

zone "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone "69.189.211.in-addr.arpa" IN { <---새로추가입력부분 시작
type master;
file "named.rev";
allow-update { none; };
};

zone "jaehun.org" IN {
type master;
file "named.zone";
allow-update { none; };
}; <---새로추가입력부분 끝


아랫부분의 두행이 새로 추가한 부분이다.

주의할 점은 'zone "69.189.211.in-addr.arpa" IN {

P를 뒤로 적은 것이라는 것을 명심해야 한다. 원래 IP는 '211.189.69.36'이다.
맨 마지막의 IP는 적지 않는다.

여기서는 jaehun.org 도메인에 대한 네임서버설정을 하는 것이다.

# vi /var/named/named.rev

$TTL 86400
@ IN SOA ns.jaehun.org. park.jaehun.org. (
200703060101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum

IN NS ns.jaehun.org.

36 IN PTR localhost.

이 파일은 새로생성을 해야하는 파일이다. 위와 같이 작성을 하면 된다.
여기서 네임서버로 사용할 도메인의 호스트를 적어주고 IP의 마지막 부분만 정확하게 적어주면 된다.

# vi /var/named/named.zone

$TTL 86400
@ IN SOA ns.jaehun.org. park.jaehun.org. (
200703060101 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum

  IN NS ns.jaehun.org.
  IN MX 10 mail.jaehun.org.
  IN A 211.189.69.36
ns   IN 218.50.55.55
mail IN 218.50.55.55
www IN 211.189.69.36
* IN 211.189.69.36
named.zone과 윗부분은 같다.

여기서는 jaehun.org의 서버의 IP는 211.189.69.36이라고 정했고
jaehun.org의 도메인의 IP는 211.189.69.36이라고 정했다.

주의) 도메인뒤에는 항상 '.'을 찍어야 한다는 것이다.

여기까지 네임서버의 운영을 위한 모든 준비가 끝이 났다.

네임서버 메몬을 다시 띄우면 네임서버는 작동한다.

#named -u named

4. 네임서버가 제대로 동작하는지 확인하는 방법은 nslookup가 있다.
우선 nslookup를 사용하기 위해서 '/etc/resolv.conf'의 네임서버의 IP를 변경하자.

#nslookup jaehun.org

Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
Server: 168.126.63.2
Address: 168.126.63.2#53

Name: jaehun.org
Address: 218.50.55.55

이상과 같이 출력된다면 정상적으로 작동하는 것이다.

마지막으로 한가지만 더 알아보자.

hostname가 정상적이지 않다면
sysctl -a | grep hostname
여기서 적용이 되어야 합니다.

sysctl -w 'kernel.hostname=jaehun.org'


위의 설정파일들을 만들때 vim등을 사용하지 않고 윈도우용 edit프로그램으로 사용하면
낭패를 볼 수 있다. 주의하자. vim을 반드시 사용하자.

그리고 작동시키고 나서 오류가 발생하여 정상적으로 돌아가지 않는다면
message파일을 살펴보고 오류를 잡아나가는게 수순이겠다. 끝.
2008/09/08 13:11 2008/09/08 13:11

Posted on 2008/09/08 13:04
Filed Under [1] IT 관련/3. Windows

DNS의 정보가 변경이 되었는데 클라이언트PC에서

변경된 정보로 나오지 않을때 아래의 방법으로

간단히 DNS cache를 삭제하여 새로운 정보를

얻을 수 있다.


C:\>ipconfig /flushdns

위의 방법으로 기존에 클라이언트pc에서 담고있었던

DNS정보를 삭제하고 새로운 정보를 받아들이게 된다
2008/09/08 13:04 2008/09/08 13:04

Posted on 2008/09/08 12:48
Filed Under [1] IT 관련/2. Linux

상쾌한 아침에 스팸메일로 가득찬 메일함을 열 때 마다 클릭과 삭제의 반복으로 짜증난 하루를 시작한 적은 없는지?

- Antivirus
- RBL, SURBL
- procmail, byspam통한 스팸필터링
- joe job attack에 대한 방어 설정
- spamassassin활용한 점수제 메일 필터링

등 다양한 방법들로 메일 필터링을 하는데 오늘은 SPF에 대해 알아보겠다.

1. SPF(Sender Policy Framework)란

10개의 포털사이트가 SPF기술을 통해서 스팸메일을 필터링할 계획이라는 오늘자 기사를 봤다.
Meng Weng Wong에 의해 2003년에 시작된 SPF기술은 메일의 헤더를 보고 실제 해당 메일서버에서 보내진
것인지를 판단하여 메일 수신을 막는 방법이다.

예를 들어
메일의 From 헤더에 foo@spammer.com 라고 적혀있으면
spammer.com 을 관리하는 DNS를 통해서
해당 메일이 실제 spammer.com에서 설정한 IP와 수신된 메일헤더의 IP와 비교해서 다르면 수신을 거부하게
된다. 즉, 실제로 hanmail.net에서 보내지 않지 않았으면서 메일주소는 @hanmail.net 로 속여서 발송되는
메일은 필터링이 가능하게 되는 것이다.

사진출처 : http://pm-lib.sourceforge.net/
사용자 삽입 이미지

2. SPF 기술 적용위한 DNS 설정

SPF 기술을 적용하기 위해서는 메일서버를 운영중인 사이트의 DNS에는 TXT 레코드 설정이 필요하다.
이 설정은 다른 메일수신서버들에게 SPF정책을 통해 메일을 필터링하도록 도움을 주기위한 설정이지
본인의 메일서버로 수신된 메일이 필터링되도록 설정하는 것이 아니니, DNS 설정했다고 '어~ 필터링이
안되지'하고 헛삽집하지 말기 바란다.

SPF 기술을 적용하겠다고 보도된 10개의 포털 사이트에 대해 DNS 설정을 확인한 결과 5곳의 DNS에는
이미 TXT 설정이 되어 있었다.

※ 10개 포털 사이트
  nownuri.net, hanmail.net, chol.com, dreamwiz.com, empas.com(empal.com),
  korea.com, hotmail.com, paran.com, naver.com, nate.com

--------------------------------------------------------------------
# dig txt 도메인
--------------------------------------------------------------------
--------------------------------------------------------------------
;; ANSWER SECTION:
korea.com.       1759  IN   TXT   "v=spf1 mx ip4:210.117.14.85 ip4:211.109.1.111
ip4:211.109.1.113 ip4:211.109.1.114 ip4:211.109.1.115 ip4:211.109.1.151 ip4:211.109.1.152
ip4:211.109.11.35 ip4:211.109.11.40 ip4:211.109.2.50 ip4:211.109.2.51 ~all"

;; ANSWER SECTION:
nownuri.net.      10800  IN   TXT   "v=spf1 a:203.238.128.57 a:203.238.128.90 ~all"

;; ANSWER SECTION:
chol.com.        3600  IN   TXT   "v=spf1 ip4:203.252.3.0/24 ~all"

;; ANSWER SECTION:
dreamwiz.com.      900   IN   TXT   "v=spf1 ip4:211.39.128.0/24 a mx ptr ~all"

;; ANSWER SECTION:
hotmail.com.      3600  IN   TXT   "v=spf1 include:spf-a.hotmail.com include:spf-b.hotmail.com

include:spf-c.hotmail.com include:spf-d.hotmail.com ~all"

;; ANSWER SECTION:
spf-a.hotmail.com.   2590  IN   TXT   "v=spf1 ip4:209.240.192.0/19 ip4:65.52.0.0/14
ip4:131.107.0.0/16 ip4:157.54.0.0/15 ip4:157.56.0.0/14 ip4:157.60.0.0/16 ip4:167.220.0.0/16
ip4:204.79.135.0/24 ip4:204.79.188.0/24 ip4:204.79.252.0/24 ip4:207.46.0.0/16 ip4:199.2.137.0/24 ~all"
--------------------------------------------------------------------


저 설정을 보고 어떻게 TXT를 설정해야하는지 눈치를 챘을 것이다.

---------- ---------------------------------------------------------------------------
methods   설 명
---------- ---------------------------------------------------------------------------
v=spf1   SPF의 버전
ip4     메일을 송신하는 IP주소들. 211.39.128.0/24처럼 CIDR형태로 표시 가능
a      DNS의 A 레코드로 설정한 IP주소를 sender로 설정
      예를 들어 dreamwiz.com라면
      dreamwiz.com의 IP 211.39.128.129와 211.39.128.129을 sender로 판단함을 의미
      a:foo.com 처럼 도메인을 지정할 수도 있다.
mx     MX 레코드에 지정한 IP주소들을 sender로 판단하라는 의미
ptr     IP에 대해 lookup을 하여 PTR 레코드에 지정되어 있으면 sender로 판단하라는 의미
include   지정한 도메인의 TXT 레코드에서 설정을 찾는다.
~all    이 method는 TXT 레코드의 끝에 넣어주기 바란다.
---------- ---------------------------------------------------------------------------

보다 자세한 사항은 http://spf.pobox.com/mechanisms.html 를 참조하기 바란다.

3. 관련 사이트

* SPF
 http://spf.pobox.com/
 http://spf.pobox.com/faq.html

* SPF Mechanisms
 http://spf.pobox.com/mechanisms.html

* An Overview of the Sender Policy Framework
 http://www.msexchange.org/tutorials/se ··· ork.html

* SPF기술을 위한 DNS 설정
 http://www.petri.co.il/sender_policy_framework.htm

* SPF Council (SPF 기술, 표준에 대해 논의)
 http://spf.mehnle.net/Home_Page

* SPF 테스트
 http://www.schlitt.net/spf/tests/

* Domain Registrars and DNS Providers that Support SPF
 http://www.kitterman.com/spf/txt.html

* sendmail에서 SPF를 위한 설정(Milter-SPF 설치 방법)
 http://spf.pobox.com/sendmail-milter-INSTALL.txt
 http://www.brandonhutchinson.com/insta ··· ail.html

2008/09/08 12:48 2008/09/08 12:48

About

by Jaehun

Counter

· Total
: 51169
· Today
: 20
· Yesterday
: 100