우분투 20.04 에서 openssl 을 사용할 때 , 기본값이 TLS v1.3 인 듯 하다. (그 이전 어느버전 부터 바뀐듯)

imap 등을 접속할 때, 1.3 버전을 지원하지 않는 서버의 경우 다음과 같은 에러를 보인다.

TLS/SSL failure for imap.naver.com: SSL negotiation failed

openssl 으로 아래처럼 접속시 안되는 경우가 있다.

openssl s_client  -connect imap.naver.com:993

아래 부분의 (NONE) 부분.

New, (NONE), Cipher is (NONE)
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1635870017
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no

정상적인 경우 아래와 같다.

New, TLSv1.2, Cipher is DHE-RSA-AES256-GCM-SHA384

 

우분투 20.04 버전의 설정을 TLS v1.2 이하 버전도 가능하게 활성화(?) 시켜본다.

파일은 /etc/ssl/openssl.cnf 으로, 아래 설정값을 추가한다.

# openssl.cnf 앞 부분에 추가
# system default
openssl_conf = default_conf



# openssl.cnf 뒷 부분에 추가
[ default_conf ]
ssl_conf = ssl_sect

[ ssl_sect ]
system_default = system_default_sect

[ system_default_sect ]
MinProtocol = TLSv1.2
CipherString = DEFAULT:@SECLEVEL=1

재부팅 해보면, 설정이 적용된다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret
지난번에 squirrelmail 을 사용하는 방법을 짧게나마 설명했었다.
이번에는 roundcube 를 써보자. (http://roundcube.net)

먼저 다운로드 하자.
http://roundcube.net/download  에서 최신버전을 다운받는다.(현재 0.3 stable)
다운로드하고 서버에 올리거나, 다운로드 주소를 찾아서 서버에서 wget 으로 직접 내려받는다.
# wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/0.3-stable/roundcubemail-0.3-stable.tar.gz?use_mirror=jaist
다운후에 압축을 풀고(tar xvzf ...tag.gz ) 적당한 위치에 설치한다.
참고로, squirrelmail 이 사용하던  /usr/share 로 위치를 정했다.
정확한 위치는 /usr/share/roundcube
# tar xvzf roundcubemail-0.3-stable.tar.gz
# chown root.root roundcubemail-0.3-stable
# cp roundcubemail-0.3-stable /usr/share/roundcube
apache 설정도 squirrelmail 방식으로 처리했다.

/etc/httpd/conf.d 에 roundcube.conf  파일을 만들고, 내용은 다음과 같이 입력했다.
Alias /roundcube /usr/share/roundcube
웹서버를 재실행해주면 다음부터  mymail.com/roundcube  로 접속할 수 있다.


DB 설정을 해준다.
라운드큐브 는 다람쥐메일과는 다르게 설정등을 저장하기 위해 DB 를 사용한다.
mysql , postgresql 등을 사용할 수 있다.
별도의 DB 를 만들어주거나, 자신이 사용하던 DB 설정을 사용할 수 있다.

별도로 만든다면 다음처럼 만들어 준다.
mysql> create databases roundcube;
mysql> GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost'  IDENTIFIED BY '계정암호' WITH GRANT OPTION ;
mysql> FLUSH PRIVILEGES;


다음과 같은 테이블을 사용하니, 사용하던 DB 인 경우 테이블명이 겹치지 않나 주의한다.
| cache              
| contacts           
| identities         
| messages       
| session            
| users              
설정값은 아래의 자동설정시 값을 입력한다.


기본설정을 해보자.
자동설정은 mymail.com/roundcube/installer  접속해서 단계적으로 설정한다.

사전패키지,extension 등을 체크한다.
추가 패키지가 필요한 경우 설치해준다.
yum install php-gd php-mysql php-mcrypt
dom 패키지는 php-xml 을 설치한다.
yum install php-xml
php 를 업그레이드하는것을 권장한다.


IMAP 설정 부분은
$rcmail_config['default_host'] = 'localhost';
정도로 입력해준다.

SMTP 부분도
$rcmail_config['smtp_server'] = 'localhost';
$rcmail_config['smtp_auth_type'] = 'PLAIN';
정도를 주의해 준다.(smtp_auth_type 은 직접 main.inc.php 를 수정한다.

언어설정 하는 부분은 (ko_KR) 으로 지정해준다.
$rcmail_config['language'] = 'ko_KR';

기타 자세한 설정은 다음을 참조한다.
http://trac.roundcube.net/wiki/Howto_Config


설정을 마친후에는

해당 설정파일을 복사하거나 다운로드 해서 config/ 디렉토리에 넣어준다.
(main.inc.php , db.inc.php)


그리고 다음단계에서 설정을 체크해서 이상이 없는지 확인한다.
DB 접속이 이상없는지 확인하고, 기본 DB schema 를 생성해준다.

SMTP , IMAP 의 설정을 확인해 본다.

설정파일까지 복사/테스트 한 후 웹메일에 접속해본다. ( mymail.com/roundcube )

완료. 로그인하고 사용하자.
로그인 화면이 반긴다. 심플하다 못해 썰렁하지만... 로그인하면.
제법 그럴듯한 웹메일 인터페이스 화면을 볼 수 있다.

버전이 0.3 버전밖(?)에 안되서 큰 기대를 안했는데, 꽤 쓸만한 완성도를 보인다.
써보고 괜찮으면, 다람쥐메일은 작별을 고해야 할 듯 하다. ^^


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  1 , 댓글  0개가 달렸습니다.
secret
squirrelmail , 일명 다람쥐메일 이라는 웹어플이다.
http://squirrelmail.org
imap 기반으로  imap 서버가 설정되어 있으면 간단하게 사용할 수 있다.

Centos 는 패키지로 설치하면 된다.(다른 배포판도 비슷하다)
yum install squirrelmail
설치후에 apache 를 재실행해준다.

접속은  http://{메일서버주소}/webmail  으로 하면 된다.
(설정은  /etc/httpd/conf.d/squirrelmail.conf 파일에 있다)

imap 서버를 dovecot 을 사용하기 때문에 그에 대한 설정으로 바꿔준다.
http://squirrelmail.org/docs/admin/admin-13.html#ss13.9
설정은 /etc/squirrelmail/config.php 를 바꿔준다.

다음부분만 주의하면 된다.
$imap_server_type       = 'dovecot';
$optional_delimiter     = detect;

한글 사용자는
$squirrelmail_default_language = 'ko_KR';
$default_charset          = 'utf-8';
처럼 바꿔준다.


혹시 이런 에러가 발생한다면
ERROR: Could not complete request.
Query: CREATE "Sent"
Reason Given: Unknown namespace.
다음 부분을 확인한다.
$default_folder_prefix          = 'INBOX.';
/etc/squirrelmail/config.php 에서 config_local.php 를 불러오기 때문에
config_local.php 를 바꿔준다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  1 , 댓글  2개가 달렸습니다.
  1. 예전에 솔루션 업체에 다닐 때 imap기반 웹메일로 대표적으로 거론하던 건데 오랫만에 보니 옛기억이 새록새록 나는군요.
    • 예. 저도 오랜만에 만져봤는데, 겉으로는 큰 변화가 없네요.
      물론 예전보다 사용하기 편해졌지만요.
secret
기존에 qmail + vpopmail(with cdb) 를 사용했었다.
pop3 는 vpopmail 을 이용했다. 그리고, imap 은 bincimap 을 사용했다.
그런데, squirrelmail 을 사용하려고 테스트 하는 중 bincimap 1.2.x 버전에 없는 기능때문에 사용할 수 없다. 1.3.x 버전은 사용이 가능한 듯 하지만, 컴파일 에러가 생겨서 dovecot 을 쓰기로 했다.
요즘 추세(?)가 dovecot 인것 같다. (bincimap 도 가벼워서 괜찮긴한데)

http://www.dovecot.org/download.html

소스 RPM 을 이용.(vpopmail 적용이 안되나?)

vpopmail 을 적용하기 위해서는 직접 소스컴파일을 해야 하는 듯 하다.
SRPM , spec 을 수정해서도 할 수 있겠지만, 고칠 부분이 많아서 별 의미가 없을 듯 함.


직접 소스 컴파일
wget http://dovecot.org/releases/1.2/dovecot-1.2.4.tar.gz
configure --with-vpopmail
make
make install

설정은 다음과 같이 한다.
http://wiki.dovecot.org/#Dovecot_installation
http://wiki.dovecot.org/BasicConfiguration

dovecot  계정을 생성한다.
useradd -d /usr/local/libexec/dovecot -s /sbin/nologin dovecot

기본적으로 /usr/local/etc 에 설정 파일이 저장된다.
mv dovecot-example.conf dovecot.conf
로 샘플설정파일을 기준으로 자신의 환경에 맞게 설정한다.(주석을 해제해 준다)

protocols = imap
pop3 를 쓸경우 pop3 도 추가

disable_plaintext_auth = no
ssl = no
SSL 을 쓰지 않고, 평문으로 인증하는 것을 허용한다.

auth default {
}
부분의 vpopmail 부분을 해제/추가한다
userdb vpopmail{
}
passdb vpopmail{
}
user = vpopmail
vpopmail 계정 uid, gid 설정
# id -u vpopmail
# id -g vpopmail
를 확인해서 아래 처럼 설정값을 넣어준다.
first_valid_uid = 100
last_valid_uid = 100
first_valid_gid = 101
last_valid_gid = 101

dovecot 실행하기
dovecot 실행스크립트를 복사한다.
cp {소스디렉토리}/doc/dovecot-initd.sh  /etc/init.d/dovecot
chmod 755 /etc/init.d/dovecot




[추가 - 18-06-20]  centos 6 에서 추가

1. centos 6 에서 package 로 설치해봤다. 설정은 검색해서 참조.

2. telnet localhost 143  해보면 원하는 메시지가 안나온다.

* OK Waiting for authentication process to respond


원래 기대하던 메시지는

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN]  Dovecot Ready

로그 메시지를 확인해보니.

Jun 20 05:46:01 auth: Fatal: Support not compiled in for passdb driver 'vpopmail'

Jun 20 05:46:01 master: Error: service(auth): command startup failed, throttling

패키지가 vpopmail 지원되도록 컴파일 되지 않은 듯 하다.

즉, 소스로 설치해야 할 듯 함. ㅜㅜ

yum groupinstall "Development Tools"


몇가지 imap 체크 방법


LOGIN [username] [password] LIST [flags] [folder separator] [search term] STATUS [mailbox] [flags] SELECT [mailbox] FETCH [first]:[last] flags FETCH [mail number] body[header] FETCH [mail number] body[text] LOGOUT


로그인시 혹시 이런 메시지가 나온다면, vpopmail 사용시

NO [AUTHENTICATIONFAILED] Authentication failed

/home/vpopmail/domains/도메인/vpasswd

이 파일의 권한을 체크해본다. ( vpopmail 으로 되어 있어야 한다) - 원인중 하나일 수 있다.

또는 vpasswd {메일계정}  으로 암호를 재설정 해준다.
(domains 를 복사한 경우 - 재설정이 필요한 듯 하다)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

트랙백  0 , 댓글  0개가 달렸습니다.
secret