tcpdump 옵션 및 조건

Linux 2012/10/04 10:20


1. Tcpdump의 옵션
-a : Network & Broadcast 주소들을 이름들로 바꾼다.
-c Number : 제시된 수의 패킷을 받은 후 종료한다.
-d : comile된 packet-matching code를 사람이 읽을 수 있도록 바꾸어 표준 출력으로 출력하고, 종료한다.
-dd : packet-matching code를 C program의 일부로 출력한다.
-ddd : packet-matching code를 숫자로 출력한다.
-e : 출력되는 각각의 행에 대해서 link-level 헤더를 출력한다.
-f : 외부의 internet address를 가급적 심볼로 출력한다(Sun의 yp server와의 사용은 가급적 피하자).
-F file : filter 표현의 입력으로 파일을 받아들인다. 커맨드라인에 주어진 추가의 표현들은 모두 무시된다.
-i device : 어느 인터페이스를 경유하는 패킷들을 잡을지 지정한다. 지저되지 않으면 시스템의 인터페이스 리스트를 뒤져서 가장 낮은 번호를 가진 인터페이스를 선택한다(이 때 loopback은 제외된다).
-l : 표준 출력으로 나가는 데이터들을 line buffering한다. 다른 프로그램에서 tcpdump로부터 데이터를 받고자 할 때, 유용하다.
-n : 모든 주소들을 번역하지 않는다(port,host address 등등)
-N : 호스트 이름을 출력할 때, 도메인을 찍지 않는다.
-O : packet-matching code optimizer를 실행하지 않는다. 이 옵션은 optimizer에 있는 버그를 찾을 때나 쓰인다.
-p : 인터페이스를 promiscuous mode로 두지 않는다.
-q : 프로토콜에 대한 정보를 덜 출력한다. 따라서 출력되는 라인이 좀 더 짧아진다.
-r file : 패킷들을 '-w'옵션으로 만들어진 파일로 부터 읽어 들인다. 파일에 "-" 가 사용되면 표준 입력을 통해서 받아들인다.
-s length: 패킷들로부터 추출하는 샘플을 default값인 68Byte외의 값으로 설정할 때 사용한다(SunOS의 NIT에서는 최소가 96Byte이다). 68Byte는 IP,ICMP, TCP, UDP등에 적절한 값이지만 Name Server나 NFS 패킷들의 경우에는 프로토콜의 정보들을 Truncation할 우려가 있다. 이 옵션을 수정할 때는 신중해야만 한다. 이유는 샘플 사이즈를 크게 잡으면 곧 패킷 하나하나를 처리하는데 시간이 더 걸릴 뿐만아니라 패킷 버퍼의 사이즈도 자연히 작아지게 되어 손실되는 패킷들이 발생할 수 있기 때문이다. 또, 작게 잡으면 그만큼의 정보를 잃게되는 것이다. 따라서 가급적 캡춰하고자 하는 프로토콜의 헤더 사이즈에 가깝게 잡아주어야 한다.
-T type : 조건식에 의해 선택된 패킷들을 명시된 형식으로 표시한다. type에는 다음과 같은 것들이 올 수 있다. rpc(Remote Procedure Call), rtp(Real-Time Applications protocol), rtcp(Real-Time Application control protocal), vat(Visual Audio Tool), wb(distributed White Board)
-S : TCP sequence번호를 상대적인 번호가 아닌 절대적인 번호로 출력한다.
-t : 출력되는 각각의 라인에 시간을 출력하지 않는다.
-tt : 출력되는 각각의 라인에 형식이 없는 시간들을 출력한다.
-v : 좀 더 많은 정보들을 출력한다.
-vv : '-v'보다 좀 더 많은 정보들을 출력한다.
-w : 캡춰한 패킷들을 분석해서 출력하는 대신에 그대로 파일에 저장한다.
-x : 각각의 패킷을 헥사코드로 출력한다.

2. 조건식(expression)

옵션의 제일 마지막인 조건식은 어떤 패킷들을 출력할지를 선택하는데 쓰인다. 조건식이 주어지지 않는 다면 모든 패킷들이 그 대상이 될 것이다. 일단 주어지면, 아무리 패킷들이 많아도 조 건식에 부합하는 패킷만을 출력한다.

조건식들은 하나 또는 몇 개의 primitive들로 구성되어 있다. primitive들은 보통 하나 혹은 몇개의 qualifier들 다음에 오는 하나의 값으로 이루어진다. Qualifier들은 모두 3 종류이며 다음과 같다.

type : 주어진 값의 종류가 무엇인지를 나타낸다. 가능한 type들은 'host', 'net', 'port'가 있다. type이 없는 값들은 type을 host라 가정한다.
dir : id로 부터의 어떤 특정한 전송 방향을 나타낸다. 가능한 방향은 'src', 'dst', 'src or dst', 'src and dst'이다. 만약 방향이 정해지지 않았다면, src or dst라 가정한다. "For `null' link layers (i.e. point to point protocols such as slip) the inb ound and out bound qualifiers can be used to specify a desired direction."
proto : 매칭을 특정 프로토콜에 한해서 수행한다. 가능한 프로토콜들은 ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp, udp이다. 만약 프로토콜이 명시되지 않았다면, 해당하는 값의 type에 관련된 모든 프로토콜들이 그 대상이 된다.
이 밖에도 위의 패턴을 따르지 않는 Primitive들이 존재한다(gateway, broadcst, less, greater, 산술식).

좀 더 정교한 조건식들을 사용하려면, 'and(&&)', 'or(||)', 'not(!)'들을 사용하여 여러 primitive들을 연결하면 된다. 같은 표현들은 생략될 수 있다.

사용 가능한 Primitive들

dst host HOST
packet의 IP destination 항목이 HOST일때 참이 된다.

src host HOST
packet의 IP source 항목이 HOST일때 참이 된다.

host HOST
IP source, IP destination 항목 중 어느 하나라도 HOST이면 참이다.

ether dst ehost
ethernet destination 주소가 ehost일 때 참이다.

ether src ehost
ethernet source 주소가 ehost일 때 참이다.

ether host ehost
ethernet source, destination 항목들 중 어느 하나라도 ehost이면 참이다.

gateway host
패킷이 host를 게이트웨이로 사용하면 참이다. 이 말의 의미는 ethernet sour ce나 destination 항목은 host이지만, IP source와 destination은 host가 아닐 때를 말한다.

dst net NET
패킷의 IP destination 주소가 NET의 network number를 가지고 있을 때 참이 다.

src net NET
패킷의 IP source 주소가 NET의 network number를 가지고 있을 때 참이다.

net NET
패킷의 IP source 주소 혹은 destination 주소가 NET의 network number를 가 지고 있을 때 참이다.

net netmask mask
IP 어드레스가 지정된 netmask를 통해서 net과 매칭되면 참이다.

net net/len
IP 어드레스가 netmask와 len 비트만큼 매치되면 참이다.

dst port PORT
패킷이 ip/tcp, ip/udp 프로토콜의 패킷이고 destination port의 값이 PORT일 때 참이다. port는 /etc/services에 명시된 이름일 수도 있고 그냥 숫자일 수도 있다. 만약 이름이 사용됐다면 port 번호와 프로토콜이 같이 체크될 것이다. 만약 숫자나 불 확실한 이름이 사용됐을 경우에는 port 번호만이 체크될 것이다.

src port PORT
패킷의 source port의 값으로 PORT를 가지면 참이다.

port PORT
패킷의 source, destination port 중에 하나라도 PORT이면 참이다.

less length
패킷이 length보다 짧거나 같으면 참이다.(len <= length)

greater length
패킷이 length보다 짧거나 같으면 참이다.(len >= length)

ip proto protocol
패킷이 지정된 종류의 프로토콜의 ip패킷이면 참이다. Protocol은 icmp, igrp, udp, nd, tcp 중의 하나 혹은 몇 개가 될 수 있다. 주의할 점은 tcp, udp, icmp들은 '\'로 escape되어야 한다.

ehter broadcast
패킷이 ethernet broadcast 패킷이라면 참이다. ehter는 생략 가능하다.

ip broadcast
패킷이 IP broadcast 패킷이라면 참이다.

ether multicast
패킷이 IP multicast 패킷이라면 참이다.

ether proto protocol
패킷이 ether type의 protocol이라면 참이다. protocol은 ip, arp, rarp 중에 하나 혹은 몇개가 될 수 있다. ip proto protocol에서와 마찬가지로 ip, arp, rarp는 escape 되어야 한다.

decnet src host
만약 DECNET의 source address가 host이면 참이다. 이 어드레스는 '10.123'이 나 DECNET의 host name일 수 있다. DECNET host name은 DECNET에서 돌아가도록 설정된 Ultrix 시스템에서만 사용 가능하다.

decnet dst host
DECNET destination address가 host이면 참이다.

decnet host HOST
DECNET source, destination address중의 하나라도 HOST이면 참이다.

ip, arp, rarp, decnet
ether proto [ip|arp|rarp|decnet]의 약어

lat, moprc, mopdl
ether proto [lat|moprc|mopdl]의 약어

tcp, udp, icmp
ip proto [tcp|udp|icmp]의 약어

expr relop expr
EXPR
proto [expr:size]의 형식을 띤다. proto, expr, size에 올 수 있는 것들은 다음과 같다.
proto : ether, fddi, ip, arp, rarp, tcp, udp, icmp
expr : indicate Byte offset of packet of proto
size : optional. indicate the size of bytes in field of interest
default is one, and can be two or four
RELOP
!=, =, <=, >=, etc.
이 조건식을 사용하기 위해서는 먼저 해당하는 Protocol(proto)의 헤더에 관련된 것들을 자세히 알아야만 한다. proto에는 대상이 될 프로토콜을 지정한다. expr에는 프로토콜 헤더의 처음부터의 Byte Offset을 지정하는 식이 들어가게 된다. Size는 Option이며 지정이 안 되어 있을 경우에는 자동으로 1byte를 지칭한다. 따라서 이 조건식을 사용하게 되면 헤더에 포함된 정보를 Bitmask를 사용하여 직 접 원하는 패킷인지를 가려낼 수 있기 때문에, 보다 정밀한 사용이 가능하게 된다.

3. Tcpdump의 사용 예제
security라는 호스트로부터 날아오고, 날아가는 패킷들을 출력
# tcpdump host security

security와 mazinga, getarobo 사이에 날아다니고 있는 패킷들을 출력
# tcpdump host security and \( mazinga or getarobo \)

security에서 elgaim을 제외한 모든 호스트로 날아다니는 IP 패킷들을 출력
# tcpdump ip host security and not elgaim

gateway amurorei를 거치는 ftp에 관련된 패킷들을 출력
# tcpdump 'gateway amurorei and ( port ftp or ftp-data )'

local호스트가 아닌 호스트와 로컬호스트가 맺는 TCP 커넥션의 시작과 마지막 패 킷들을 출력한다(SYN, FIN 패킷).
# tcpdump 'tcp[13] & 3 != 0 and not src and dst net non-local'

gateway amurorei를 지나는 576Byte보다 큰 패킷들을 출력한다
# tcpdump 'gateway amurorei and ip[2:2] > 576'

Ethernet boradcast 혹은 multicast를 통해서 보내진 것이 아닌, IP broadcast 혹 은 multicast 패킷들을 출력한다.
# tcpdump 'ehter[0] & 1 = 0 and ip[16] >= 224'

Echo request/reply가 아닌 ICMP 패킷들을 모두 출력한다.
# tcpdump 'icmp[0] != 8 and icmp[0] != 0'

출처  : http://coffeenix.net/doc/misc/tcpdump.html
2012/10/04 10:20 2012/10/04 10:20

1. sendmail.mc 수정

아래 부분을 찾아
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
다음과 같이 앞의 dnl 을 삭제 한다.
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


아래 부분을 찾아
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
다음과 같이 앞의 dnl 을 삭제 한다.
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl


아래부분을 찾아
dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl ->
다음과 같이 dnl을 삭제하고 IP를 수정한다.
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl


2. m4 명령으로 sendmail.cf는 다시 생성
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


이때 sendmail-cf.rpm 이 설치되어 있어야 한다.
만일 없다면 다음과 같이 메시지가 나온다.
sendmail.mc:10: m4: Cannot open /usr/share/sendmail-cf/m4/cf.m4: No such file or directory\

3. dovecot 설치
[email protected]:/etc# yum install dovecot
dovecot 설정
[email protected]:/etc/dovecot# vi /etc/dovecot/dovecot.conf

수정전
protocols = imap imaps

수정후
protocols = pop3 pop3s


아래 부분 주석 해제
listen = *
login_user = dovecot
mail_location = mbox:~/mail:INBOX=/var/mail/%u

login_executable = /usr/lib/dovecot/pop3-login
mail_executable = /usr/lib/dovecot/pop3
auth_executable = /usr/lib/dovecot/dovecot-auth

dovecot 재시작
[email protected]:/etc/dovecot# /etc/init.d/dovecot restart    

pop3 및 smtp 인증을 위한 서비스 시작
/etc/init.d/saslauthd restart

2012/08/18 15:03 2012/08/18 15:03

vadddomain
 메일도메인 추가(postmaster암호는 qmailadmin 웹어드민 암호) > vadddomain [email protected]

vdeldomain
 메일도메인과 해당유저 삭제 > vdeldomain domain

vadduser
 계정생성> vadduser [email protected]

vdeluser
 유저삭제 > vdeluser [email protected]

vpasswd
 유저암호 변경 > vpasswd [email protected]

vsetuserquota
 유저quota 설정 > vsetuserquota [email protected] 51200 (단위:byte)

2012/07/27 19:21 2012/07/27 19:21

[[email protected] ~]# wget -q -O - http://www.atomicorp.com/installers/atomic |sh

Atomic Archive installer, version 2.0.6

BY INSTALLING THIS SOFTWARE AND BY USING ANY AND ALL SOFTWARE
PROVIDED BY ATOMICORP LIMITED YOU ACKNOWLEDGE AND AGREE:

THIS SOFTWARE AND ALL SOFTWARE PROVIDED IN THIS REPOSITORY IS
PROVIDED BY ATOMICORP LIMITED AS IS, IS UNSUPPORTED AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ATOMICORP LIMITED, THE
COPYRIGHT OWNER OR ANY CONTRIBUTOR TO ANY AND ALL SOFTWARE PROVIDED
BY OR PUBLISHED IN THIS REPOSITORY BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

Do you agree to these terms? (yes/no) [Default: yes] yes

Configuring the [atomic] yum archive for this system

Installing the Atomic GPG key: OK
OK
Downloading atomic-release-1.0-14.el5.art.noarch.rpm: OK
OK



The Atomic Rocket Turtle archive has now been installed and configured for your system
The following channels are available:
  atomic          - [ACTIVATED] - contains the stable tree of ART packages
  atomic-testing  - [DISABLED]  - contains the testing tree of ART packages
  atomic-bleeding - [DISABLED]  - contains the development tree of ART packages


[[email protected] ~]# rpm -qa | grep atomic
atomic-release-1.0-14.el5.art
[[email protected] yum.repos.d]# ll /etc/yum.repos.d/ | grep atomic
-rw-r--r-- 1 root root 1333 Nov  9  2011 atomic.repo


[[email protected] yum.repos.d]# yum search zend optimizer
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www4.atomicorp.com
 * base: ftp.neowiz.com
 * extras: ftp.neowiz.com
 * updates: centos.mirror.cdnetworks.com
atomic                                                                                              | 1.9 kB     00:00
atomic/primary_db                                                                                   | 701 kB     00:02
================================================ Matched: optimizer, zend =================================================
php-zend-optimizer.i386 : PHP Zend Optimizer
php-zend-guard-loader.i386 : PHP Zend Guard

=================================================== Matched: optimizer ====================================================
php-eaccelerator.i386 : PHP accelerator, optimizer, encoder and dynamic content cacher
bcel.i386 : Byte Code Engineering Library

====================================================== Matched: zend ======================================================
roadsend-php.i386 : The Roadsend PCC Compiler for PHP
[[email protected] yum.repos.d]# yum -y install php-zend-optimizer.i386
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * atomic: www6.atomicorp.com
 * base: ftp.neowiz.com
 * extras: ftp.neowiz.com
 * updates: centos.mirror.cdnetworks.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-zend-optimizer.i386 1:3.3.9-2.el5.art set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================================================
 Package                            Arch                 Version                              Repository              Size
===========================================================================================================================
Installing:
 php-zend-optimizer                 i386                 1:3.3.9-2.el5.art                    atomic                 2.2 M

Transaction Summary
===========================================================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 2.2 M
Downloading Packages:
php-zend-optimizer-3.3.9-2.el5.art.i386.rpm                                                         | 2.2 MB     00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-zend-optimizer                                                                                  1/1

Installed:
  php-zend-optimizer.i386 1:3.3.9-2.el5.art

Complete!
2012/07/11 09:47 2012/07/11 09:47

우분투 사용시 whoopsie 데몬을 볼수 있는데 이거는 Ubuntu Error Reporting 데몬이다.
우분투 error reporting 서버로 에러발생 시 전송하는 것으로 확인된다.

[email protected]:/etc/default# cat /etc/default/whoopsie

[General]
report_crashes=true

[email protected]:/etc/default# strace -f -p 1083
[pid  1083] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 8
[pid  1083] connect(8, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("91.189.95.54")}, 16) = 0
[pid  1083] getsockname(8, {sa_family=AF_INET, sin_port=htons(44326), sin_addr=inet_addr("")}, [16]) = 0
[pid  1083] connect(8, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0
[pid  1083] connect(8, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("91.189.95.55")}, 16) = 0
[pid  1083] getsockname(8, {sa_family=AF_INET, sin_port=htons(59220), sin_addr=inet_addr("")}, [16]) = 0


[email protected]:/etc/default# dig errors.ubuntu.com | grep A
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32332
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 3, ADDITIONAL: 0
;errors.ubuntu.com.            IN      A
;; ANSWER SECTION:
errors.ubuntu.com.      600    IN      A      91.189.95.54
errors.ubuntu.com.      600    IN      A      91.189.95.55

참고 :
https://errors.ubuntu.com/
http://askubuntu.com/questions/135540/what-is-the-whoopsie-process-and-can-i-remove-it 
2012/06/19 13:57 2012/06/19 13:57

sendmail 설치
[email protected]:/etc# apt-get install sendmail

sendmail 설정
[email protected]:/etc/mail# vi /etc/mail/sendmail.mc

수정전
DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')dn

수정후
DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=0.0.0.0')dn

90 번째 줄에 추가 (적당한 위치에 추가하면 됨)
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

변경된 사항을 적용하기 계속 Y 해주면 됨.
[email protected]:/etc/mail# sendmailconfig
Configure sendmail with the existing /etc/mail/sendmail.conf? [Y] Y
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Writing configuration to /etc/mail/sendmail.conf.
Writing /etc/cron.d/sendmail.
Configure sendmail with the existing /etc/mail/sendmail.mc? [Y] Y
Updating sendmail environment ...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Writing configuration to /etc/mail/sendmail.conf.
Writing /etc/cron.d/sendmail.
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Writing configuration to /etc/mail/sendmail.conf.
Writing /etc/cron.d/sendmail.
Could not open /etc/mail/databases(No such file or directory), creating it.
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Creating /etc/mail/databases...

Checking filesystem, this may take some time - it will not hang!
  ...  Done.

Checking for installed MDAs...
Creating /etc/mail/sasl/sasl.m4...

Ah, you're setup with SASL2 !

Unfortunately, there is no automagic way to migrate to /etc/sasldb2 :(

You'll want to make sure /etc/default/saslauthd is setup to start,
and has at least MECHANISMS="pam" !

If you find out what more is needed, please let me know!

Creating/Updating SSL(for TLS) information
Creating /etc/mail/tls/starttls.m4...
You already have sendmail certificates


*** *** *** WARNING *** WARNING *** WARNING *** WARNING *** *** ***

Everything you need to support STARTTLS (encrypted mail transmission
and user authentication via certificates) is installed and configured
but is *NOT* being used.

To enable sendmail to use STARTTLS, you need to:
1) Add this line to /etc/mail/sendmail.mc and optionally
  to /etc/mail/submit.mc:
  include(`/etc/mail/tls/starttls.m4')dnl
2) Run sendmailconfig
3) Restart sendmail

Checking {sendmail,submit}.mc and related databases...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Creating /etc/mail/databases...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Creating /etc/mail/databases...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Creating /etc/mail/Makefile...
Reading configuration from /etc/mail/sendmail.conf.
Validating configuration.
Writing configuration to /etc/mail/sendmail.conf.
Writing /etc/cron.d/sendmail.
Disabling HOST statistics file(/var/lib/sendmail/host_status).
Creating /etc/mail/sendmail.cf...
Creating /etc/mail/submit.cf...
Informational: confCR_FILE file empty: /etc/mail/relay-domains
Informational: confCT_FILE file empty: /etc/mail/trusted-users
Updating /etc/mail/access...
Updating /etc/mail/aliases...
/etc/mail/aliases: 4 aliases, longest 10 bytes, 66 bytes total
Reload the running sendmail now with the new configuration? [Y] Y
Reloading sendmail ...

AUTH LOGIN PLAIN을 확인한다.
[email protected]:/etc/mail# telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 test-server.cafe24.com ESMTP Sendmail 8.14.3/8.14.3/Debian-9.1ubuntu1; Mon, 21 May 2012 21:14:18 +0900; (No UCE/UBE) logging access from: localhost(OK)-localhost [127.0.0.1]
ehlo test-server.cafe24.com
250-test-server.cafe24.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HEL

※ AUTH LOGIN을 하기 위해서는 pwcheck등과 같은 패스워드 인증 모듈을
사용해야 된다. postfix에서는 saslauthd를 많이 사용하므로 본 매뉴얼에서는
saslauthd 기준으로 설치를 한다.
※ 기존에 SMTP-AUTH check 프로그램을 쓰는 메일 서버의 경우 각 프로
그램에 맞는 설정을 해야 한다.
“dpkg -l | grep sasl" 명령어로 Cyrus sasl이 설치되어 있는지 확인한다.

[email protected]:/etc/mail# dpkg -l | grep sasl
ii  libsasl2-2                      2.1.23.dfsg1-5ubuntu1                          Cyrus SASL - authentication abstraction libr
ii  libsasl2-modules                2.1.23.dfsg1-5ubuntu1                          Cyrus SASL - pluggable authentication module

ssl2-bin 패키지 설치
[email protected]:/etc/mail# apt-get install sasl2-bin

saslauthd 데몬 실행
[email protected]:/etc/mail# saslauthd -a pam

sasl 관련 설정을 변경
[email protected]:/etc/mail# vi /etc/default/saslauthd
#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#

# Should saslauthd run automatically on startup? (default: no)
수정전
START=no

수정후
START=yes


변경된 사항을 적용하기 계속 Y 해주면 됨.
[email protected]:/etc/mail# sendmailconfig

추가적으로 모든 IP에 대하여 relay 허용을 하고 싶다면 /etc/mail/sendmail.cf 파일에서 5.7.1 이 들어가 있는 부분 모두를 주석처리하면 됨.

특정 IP에서만 relay 허용을 해주고 싶다면,  아래와 같이 access 파일에 IP 추가 후 설정 적용해주면 됨.

vi /etc/mail/access
Connect:IP               RELAY  

설정 적용
makemap hash /etc/mail/access < /etc/mail/access  

여기 까지가 sendmail(smtp 인증) 설정 완료.

dovecot 설치
[email protected]:/etc# apt-get dovecot-pop3d

dovecot 설정
[email protected]:/etc/dovecot# vi /etc/dovecot/dovecot.conf

수정전
protocols = imap imaps

수정후
protocols = pop3 pop3s


아래 부분 주석 해제
listen = *
login_user = dovecot
mail_location = mbox:~/mail:INBOX=/var/mail/%u

login_executable = /usr/lib/dovecot/pop3-login
mail_executable = /usr/lib/dovecot/pop3
auth_executable = /usr/lib/dovecot/dovecot-auth

dovecot 재시작
[email protected]:/etc/dovecot# /etc/init.d/dovecot restart 
2012/05/21 21:33 2012/05/21 21:33


passive 포트가 방화벽에 허용되어 있지 않기 때문에 발생되는 문제.

해결방법은 FTP에 passive 포트 범위를 지정 후 방화벽에 해당 포트 범위를 허용해하면 됨.

1. vsftpd 일 경우

vi /etc/vsftpd/vsftpd.conf 아래아 같이 추가 후 vsftpd 재시작 하면 됨.


pasv_enable=YES
pasv_min_port=5500
pasv_max_port=5700 
2012/02/18 13:55 2012/02/18 13:55

1. 첫번째 방법wget http://dev.centos.org/centos/5/CentOS-Testing.repo
mv CentOS-Testing.repo /etc/yum.repos.d/
yum --enablerepo=c5-testing update php




2. 두번째 방법
vi /etc/yum.repos.d/iworx-unsupported.repo


[iworx-unsupported]
name=IWorx Unsupported
baseurl=http://updates.interworx.com/iworx/RPMS/unsupported/php5/cos5x/$basearch/
gpgcheck=0


yum update php
2012/02/16 15:00 2012/02/16 15:00

postfix queue 관리

Linux 2012/01/06 16:35

1. 메일 큐 전체 비우기

postfix flush   또는 postfix -f

2. 현재 쌓인 메일 확인

mailq

3. 메일큐 전체 삭제

postsuper -d ALL

4. 메일큐에서 deferred 된 메일만 삭제

postsuper -d ALL deferred
2012/01/06 16:35 2012/01/06 16:35

(24)Too many open files

Linux 2011/12/12 13:52
(24)Too many open files: /.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

[[email protected]~ ]# ulimit -a | grep open
open files                      (-n) 1024

[[email protected]~ ]# ulimit -n 2048

[[email protected]~ ]# ulimit -a | grep open
open files                      (-n) 2048

vi /etc/security/limits.conf  파일 설정 추가
*              soft    nofile            2048
*              hard    nofile            2048

2048로 변경 후 apache 재시작 해야 함.
2011/12/12 13:52 2011/12/12 13:52