화요일, 8월 26, 2008

운분투(ubuntu) BIND9 설정

설정

BIND9의 설정파일은 /etc/bind 디렉토리에 있다.

/etc/bind/named.conf

/etc/bind/named.conf.options

/etc/bind/named.conf.local

BIND9 서버가 정상 동작하는지 확인

$ dig -x 127.0.0.1

; <<>> DiG 9.4.2-P1 <<>> -x 127.0.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12073
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR

;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 604800 IN PTR localhost.

;; AUTHORITY SECTION:
127.in-addr.arpa. 604800 IN NS localhost.

;; ADDITIONAL SECTION:
localhost. 604800 IN A 127.0.0.1
localhost. 604800 IN AAAA ::1

;; Query time: 1 msec
;; SERVER: 211.219.50.233#53(211.219.50.233)
;; WHEN: Thu Aug 21 11:15:36 2008
;; MSG SIZE rcvd: 121

Zone 파일

named.conf 파일에 다음을 추가

        [...]



zone "example.com" {

type master;

file "/etc/bind/db.example.com";

};



[...]

기존을 zone파일을 복사하여 수정함.

$ sudo cp /etc/bind/db.local /etc/bind/db.example.com
$ sudo vi /etc/bind/db.local /etc/bind/db.example.com
;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.example.com. root.example.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.example.com.

@       IN      MX 10      mail.example.com.

@ IN A 192.168.1.10

box IN A 192.168.1.10

설정시 메일 서버 설정부분에 MX 뒤에 숫자를 꼭 입력할 것

마스터 네이서버만 사용하더라도 MX뒤에 숫자를 입력해야 정상 동작합니다.

설정이 잘 되었는지 확인하는 방법

$ named-checkzone example.com /etc/bind/db.example.com
zone example.com/IN: loaded serial 5
OK

설정이 끝났으면 BIND9 재시작

sudo /etc/init.d/bind9 restart

Reserve Zone 파일

named.conf 파일에 다음을 추가

zone "1.168.192.in-addr.arpa" {

type master;

notify no;

file "/etc/bind/db.192";

};

기존 zone 파일을 복사하여 수정한다.

$ sudo cp /etc/bind/db.local /etc/bind/db.example.com
$ sudo vi /etc/bind/db.local /etc/bind/db.example.com
;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA ns.example.com. root.example.com. (

1 ; Serial

604800 ; Refresh

86400 ; Retry

2419200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS ns.example.com.

@ IN A 192.168.1.10

box IN A 192.168.1.10

재시작

설정이 끝났으면 BIND9 재시작

sudo /etc/init.d/bind9 restart

금요일, 8월 22, 2008

우분투 메일서버(ubuntu mail server) 구축

postfix 설치

대부분 postfix는 설치되어 있다.

만약 설치되어 있지 않다면 postfix를 설치해야 한다.

$ sudo apt-get install postfix ; 설치

postfix 설정

$ sudo dpkg-reconfigure postfix ; 환경 설정

인터넷 사이트(internet site)

Postfix Configuration : server.com mail.server.com localhost.server.com localhost

동기 업데이트 설정 Yes/No

Postfix Configuration : 기본 설정을 그대로 사용

procmail : yes

로컬 주소 확장용 문자 : + (기본값)

메일 폴더 설정

sudo postconf -e 'home_mailbox = Maildir/'

procmail은 사용하지 않는것으로 설정

postfix 초기 설치시 기본설정은 procmail 사용으로 되어있다.

마약 초기 설치시 procmail 사용으로 설정하였다면 아래와 같이 사용하지 않는것으로 수정할것

그렇지 않으면 Maildir폴더로 메일이 넘어가지 않는다.

sudo postconf -e "mailbox_command = "

SASL을 사용하여 SMTP인증을 하기 위한 postfix 설정

sudo postconf -e 'smtpd_sasl_local_domain ='

sudo postconf -e 'smtpd_sasl_auth_enable = yes'

sudo postconf -e 'smtpd_sasl_security_options = noanonymous'

sudo postconf -e 'broken_sasl_auth_clients = yes'

sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

sudo postconf -e 'inet_interfaces = all'

/etc/postfix/main.cf에 위의 내용이 저장된다.

/etc/postfix/sasl/smtpd.conf에 다음 내용 추가

pwcheck_method: saslauthd

mech_list: plain login

TLS 인크립션과 인증을 위한 인증서 생성

openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

chmod 600 smtpd.key

openssl req -new -key smtpd.key -out smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt

openssl rsa -in smtpd.key -out smtpd.key.unencrypted

mv -f smtpd.key.unencrypted smtpd.key

openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

sudo mv smtpd.key /etc/ssl/private/

sudo mv smtpd.crt /etc/ssl/certs/

sudo mv cakey.pem /etc/ssl/private/

sudo mv cacert.pem /etc/ssl/certs/

들어오고 나가는 메일(incoming & outgoing mail)에 대한 TLS 인크립션 사용을 위해 postfix 설정

sudo postconf -e 'smtpd_tls_auth_only = no'

sudo postconf -e 'smtp_use_tls = yes'

sudo postconf -e 'smtpd_use_tls = yes'

sudo postconf -e 'smtp_tls_note_starttls_offer = yes'

sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'

sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'

sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'

sudo postconf -e 'smtpd_tls_loglevel = 1'

sudo postconf -e 'smtpd_tls_received_header = yes'

sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'

sudo postconf -e 'tls_random_source = dev:/dev/urandom'

sudo postconf -e 'myhostname = server1.example.com'

postfix demon 재시작

sudo /etc/init.d/postfix reload

sasl2 설치(설치되어 있지 않을 경우에)

클라이언트(xp, 맥, 리눅스, etc)에서 메일을 보내려면 인증절차를 위해 필요합니다.

$ sudo apt-get install libsasl2 libsasl2-modules sasl2-bin
...생략...
전에 선택하지 않은 libsasl2 꾸러미를 선택합니다.
libsasl2 꾸러미를 푸는 중입니다 (.../libsasl2_2.1.22.dfsg1-18ubuntu2_all.deb에서) ...
전에 선택하지 않은 sasl2-bin 꾸러미를 선택합니다.
sasl2-bin 꾸러미를 푸는 중입니다 (.../sasl2-bin_2.1.22.dfsg1-18ubuntu2_i386.deb에서) ...
db4.6-util (4.6.21-6ubuntu1) 설정하는 중입니다 ...
libsasl2 (2.1.22.dfsg1-18ubuntu2) 설정하는 중입니다 ...
sasl2-bin (2.1.22.dfsg1-18ubuntu2) 설정하는 중입니다 ...
* To enable saslauthd, edit /etc/default/saslauthd and set START=yes

saslauthd 수정

$ sudo vi /etc/default/saslauthd

START를 yes로 수정하고 PWDIR, PARAMS, PIDFILE를 추가

START=yes



PWDIR="/var/spool/postfix/var/run/saslauthd"

PARAMS="-m ${PWDIR}"

PIDFILE="${PWDIR}/saslauthd.pid"

그리고 OPTION을 다음과 같이 수정한다.

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

/var/spool/postfix/var/run/saslauthd에 대한 dpkg 상태를 업데이트

dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

saslauthd 실행
sudo /etc/init.d/saslauthd start

부팅시 실행되는 /etc/init.d/saslauthd 수정할 필요 없슴

SMTP가 정상동작하는지 테스트

$ telnet localhost 25

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 mail.comingmedia.com ESMTP Postfix (Ubuntu)

ehlo localhost

250-mail.comingmedia.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-STARTTLS

250-AUTH PLAIN LOGIN

250-AUTH=PLAIN LOGIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

 courier IMAP와 POP3설치
sudo apt-get install courier-pop

sudo apt-get install courier-imap

Maildir 설정

maildirmake /etc/skel/Maildir

maildirmake /etc/skel/Maildir/.Drafts

maildirmake /etc/skel/Maildir/.Sent

maildirmake /etc/skel/Maildir/.Trash

maildirmake /etc/skel/Maildir/.Templates

각 사용자에 대해서

cp -r /etc/skel/Maildir /home/myuser/

chown -R myuser:usergroup /home/myuser/Maildir

chmod -R 700 /home/myuser/Maildir

Test

smtp 테스트

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.comingmedia.com ESMTP Postfix (Ubuntu)
ehlo yourdomain.com
250-mail.yourdomain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from: root@yourdomain.com
250 2.1.0 Ok
rcpt to: jhanglim@yourdomain.com
250 2.1.5 Ok
data
354 End data with .
Subject: My first mail

Hi,
.
(and Enter In a new Line)

250 2.0.0 Ok: queued as C515B863FC
quit
221 2.0.0 Bye
Connection closed by foreign host.

jhanglim에게 메일이 정상적으로 도착했는지 확인

su - fmaster

cd Maildir/new

ls

만약 pop3클라이언트(예 : 선더버드)가 동작하고 있다면 Maildir/new폴더가 아니라 Maildir/cur 폴더에 파일이 있을것이다.

이유 : 이미 po3클라이언트가 메일을 받아갔으므로 새로운 메세지가 아니다.

pop3 확인

$ telnet localhost pop3
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Hello there.
user
+OK Password required.
pass
+OK logged in.

imap 확인

$ telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.
imap login
imap OK LOGIN Ok.

<참조>

ubuntu help : PostfixBasicSetupHowto

ubuntu help : Postfix

목요일, 8월 14, 2008

MSN 메신저 스팸 메세지 조심하세요.

전에 MSN 스팸 메세지는 모르는 사람들한테 와서 크게 위험하지는 않았던것 같은데 어제부터 지인으로부터 이상한 메세지가 날아온다. 메세지 보내고 바로 로그오프 하므로 메세지를 보내서 본인 확인을 할 수도 없다.

다행이 지인이 다른 메신저를 사용하고 있어서 그쪽으로 메세지를 보내니 자신은 메세지 보낸적이 없다고 한다.

이 스팸 메세지의 특징은 여러 가지가 있는데 그중 하나는 msn친구등록이라는 사기 웹페이지에 접속하게 하여 msn ID와 패스워드를 알아내는 방법이다. 결국 이렇게 계속 친구의 친구의 친구의 사용자의 아이디와 패스워드를 알아내는 방법을 사용하는 것 같다. 이 아이디와 패스워드를 어디에 사용하는지는 모르겠으나 상당히 빠른시간에 많은 msn 아이디와 패스워드를 수집할 수 있을것으로 보여진다.

또다른 방법은 개인 정보 수집을 하는 사이트로 가게 만든다. 개인정보에 입력한 이메일 주소와 패스워드가 같다면 메일은 해킹당할것이다.

나한테 보내진 URL은 http://jhanglim.youpichost.com:88/ 와 http://g00d-stuff.com/ 이다.

목요일, 8월 07, 2008

국내에서도 문자메시지(SMS)로 내 구글 캘린더 일정을 확인 가능

다른 나라에서는 예전부터 서비스 되고 있었는데 한국은 이제서야 서비스를 시작한다.
많이 늦은 감이 있지만 그래도 해주는게 어딘가!
감사할 따름이다.

사용 방법 : http://googlekoreablog.blogspot.com/2008/08/google.html

8월 무료 공연

장소 : 여술의 전당 야외무대

8월 9일 토요일 오후 8시 30분
프로그램 :

8월 16,17일 오후 8시 30분
프로그램 :

8월 23일(토) 오후 8시 30분
프로그램 :

8월 24일(일) 오후 8시 30분
프로그램 :


뚝섬 서울숲 야외무대
시간 : 금요일 20:00~ , 토요일 19:00 ~

8월 8일(금) 뮤지컬 TOP
8월 9일(토) 닥터코어911
8월 22일(금) 장필순
8월 23일(토) 슈퍼키드


수요일, 8월 06, 2008

국내에서 개발한 동영상 검색 서비스

재훈님 블로그에 갔다가 재밌는 검색 서비스를 알게 되었습니다.

동영상 검색 서비스인데 기존의 검색과는 차별점이 있다.
중복되는 동영상을 걸러내고 동영상에 대한 설명 요약도 제공한다.

일단 구글 동영상 검색과 비교해 봐도 바로 알 수 있다.

http://www.enswer.net/


단점은 이미 존재 하지 않는 동영상도 검색이 된다는 점이다.
그리고 더 큰 문제는 중복되는 동영상 중에 아직 존재하는 동영상이 있다는 점이다.
그럼 존재 하는 동영상이 메인에 떠야 하는데 그렇지 않고 존재하지도 않는 동영상이 메인에 뜨니 조금 아쉽다.

이런점은 어쩌면 쉽게 해결 할 수도 있을 것이다.
검색된 동영상의 플레이가 동영상이 존재하는 사이트로 바로 가지 않고 enswer 사이트에서 플레이 된다. 그러면 고객이 플레이 버튼을 눌렀을때 동작하는 지 않아는지 판단해서 검색 결과에서 삭제해 버리면 되지 않을까!!!

화요일, 8월 05, 2008

프로그래머는 보통 고립된 상태에서 일하지 않는다

프로그래머 한 명이 전체 프로그램을 맡을 수도 있지만, 보통은 도움을 청할 친구 프로그래머가 있다(친구 프로그래머가 거꾸로 도움을 청할 수도 있다). 사실, 혼자 일하는 프로그래머는 심각하게 곤란한 상황에서 일한다고 봐야 한다.
-프로그래밍 심리학 중에서-

나는 고립되어 있다.
나는 심각한 상황에 빠져 있다.
해결 방법은?