카테고리 Archives: linux

TLS통신을 위한 Public Certificate 발급&갱신

dovecot, sendmail, proftpd, pure-ftpd 를 위한 개인인증서 발급 혹은 갱신용 스크립트 이다.

스크립트 설명 :  sendmail.pem 인증서의 만료일 2주 미만으로 남았거나 인증서가 없으면 생성해준다.

cron 에 등록하여 일주일에 한번 정도씩 돌려주면 개인인증서 갱신 걱정 없이 사용할 수 있겠다.

vi /etc/cron.weekly/public_cert_make.sh 이런 위치에 넣어두면 일주일에 한번씩 돈다 ‘ㅅ’a

chmod 700 /etc/cron.weekly/public_cert_make.sh 해둬야 돈다 . 잊지 말자.

 

아래 설정값은 플레인 로그인을 막는 설정이 아니다.

LOGIN PLAIN, TLS 둘다 활성화 하는 옵션들 이다.

1. dovecot – STARTTLS 설정( /etc/dovecot/conf.d/10-ssl.conf )

평문 패스워드 막는건 /etc/dovecot/conf.d/10-auth.conf  파일의 disable_plaintext_auth 옵션이다.

 

2. sendmail – STARTTLS 설정( /etc/mail/sendmail.mc )

confAUTH_OPTIONS 는 주석 처리 해버린다 ‘ㅅ’a

평문 패스워드 막는건 define(confAUTH_OPTIONS', A p’)dnl 이렇게 주석 제거 하고 하면 된다.

( TLS연결 테스트 :  https://starttls.info  ) 혹은 아래 명령어.

 

 

3. proftpd – FTP over TLS 설정( /etc/proftpd.conf )

평문 패스워드 막는건 TLSRequired 값을 on 으로 하면 된다.

 

4. pure-ftpd – FTP over TLS 설정( /etc/pure-ftpd/pure-ftpd.conf )

평문 패스워드 막는건 TLS 값을 2 으로 하면 된다.

 

서버인코딩 설정( /etc/sysconfig/i18n )

/etc/sysconfig/i18n 에서 서버인코딩을 설정을 한다.

만약 euckr을 선호 한다면 LANG=”ko_KR.eucKR” 을 지정하면 된다.
하지만 왠만하면 UTF8을 쓰도록하자 표준이 변경된지 몇년째인가?

 

TIP1. utf8로 설정하고 재접속을 하면 엔지니어의 친구인 sar 명령어를 쳤을때 시간이 안나온다.

아래의 명령어로 시간표시를 영국형태로 표시하도록 하자 ‘ㅅ’a 그리곤 재접속.

~]# sar
Linux 2.6.32-504.30.3.el6.x86_64 (localhost.localdomain)       08/04/15        _x86_64_        (8 CPU)

00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
00:10:01        all      0.04      0.00      0.03      0.11      0.00     99.82
00:20:01        all      0.03      0.00      0.03      0.08      0.00     99.87
00:30:01        all      0.02      0.00      0.02      0.07      0.00     99.88
00:40:01        all      0.03      0.00      0.03      0.10      0.00     99.84
00:50:01        all      0.03      0.00      0.03      0.14      0.00     99.81
01:00:01        all      0.02      0.00      0.03      0.16      0.00     99.79
01:10:01        all      0.05      0.00      0.02      0.15      0.00     99.78

 

TIP2. UTF-8 설정시 vi 로 열었을때 한글이 깨져 보이는거 해결.

 

TIP3. SecureCRT 에서는 설정을 이렇게 바꾸어 준다 ‘ㅅ’a

20150804_PicPick_175200

 

Tip4. CentOS7의 경우 /etc/sysconfig/i18n 이 삭제가 되었다.

언어셋 변경 방법은 /etc/locale.conf 을 수정하거나 아래와 같은 명령어로 수정한다.

pure-ftpd 설치 및 설정(centos6)

1. pure-ftpd 다운로드 : http://download.pureftpd.org/pub/pure-ftpd/releases/

 

2. 압축 해제, 컴파일 및 selinux 끄기

 

3. /etc/pam.d/ftp 설정

 

4. TLS 통신 활성화를 위한 퍼블릭키 생성.

 

5. /etc/pure-ftpd/pure-ftpd.conf 설정

36번째줄 설정은 서버 인코딩셋에 따라 euckr 으로 지정해야 할수 있다.

echo $LANG 로 서버 인코딩셋을 확인하거나 /etc/stsconfig/i18n 을 확인하거나 수정 후에 맞추어 준다.

 

6. pure-ftpd 명령어 생성

 

7. 데몬 시작 및 chkconfig 등록.

yum을 이용한 proftpd 설치 및 설정 (centos6)

1. yum 설치 및 selinux 끄기.

 

2. /etc/pam.d/proftpd 설정

 

3. TLS 통신 활성화를 위한 퍼블릭키 생성.

 

4. /etc/proftpd.conf 설정.

37번째줄 설정은 서버 인코딩셋에 따라 euckr cp949 으로 지정해야 할수 있다.

echo $LANG 로 서버 인코딩셋을 확인하거나 /etc/stsconfig/i18n 을 확인하거나 수정 후에 맞추어 준다.

설정은 system-auth 를 이용한 인증제 이며 FTP 및 FTP over TLS 을 지원, 최대 접속자수 30명, 한개의 IP에서 5개 동시접속 허용값이다.

umask 는 022 로 필요에 따라(아파치 보안정책) 027 등으로 교체해서 사용한다.

 

5. 데몬 시작 및 chkconfig 등록.

history 로그를 남기자 ‘ㅅ’a (history_to_syslog)

서버 접속에서 삽질하는 애들중에 history 로그를 날리고 나가는 애들이 있어서..

/etc/profile.d/ 안에 파일을 만들어서 쓰는 커멘드를 /var/log/messages 로그에 남기 도록 한다.

보기 좋게 출력을 하도록 약간 수정을 하였다 ‘ㅅ’a

로그는 아래와 같이 찍힌다.

슈퍼유져(root) 권한을 획득한 유져(userA)의 로그

일반 유져(userB)의 로그

 

who, sed, awk, logger 명령어가 사용자에게 실행(755)권한이 있어야 한다.