SRV 레코드 등록

skype ( office365 ) 설정을 할때  아래와 같이 SRV 레코드를 DNS에 선언하라고 한다. 31669755_ebd0bc51_C4B8C3B3   PDNS 에서의 추가 방법은 아래와 같다.

20150916_PicPick_160134   BIND – zone file 에서의 추가 방법은 아래와 같다.

20150916_PicPick_161559   아래는 적용 테스트 명령어(NSLOOKUP) 이다.

 

 

wordpress 커스텀 port로 보안서버 적용.

wordpress 의 경우 https 프로토콜을 지원한다.
다만 기본포트인 443 포트만 지원하고 있다.

 

웹호스팅을 쓸때는 꽁수 ‘ㅅ’a 로 커스텀 포트를 적용하는 법이 필요하다.
먼저 wp-config.php 에 아래와 같이 define 을 설정한다.
/* That’s all, stop editing! Happy blogging. */ 위에 설정해야 한다.

 

.htaccess 파일에서 아래와 같이 추가를 해준다.

HSTS 를 설정했기 때문에 구형 브라우져를 사용해서는 접속이 되지 않겠다. 장점으로는 SSL 적용으로 굼떠진 사이트 속도가 빨라진다.
Strict Transport Security (HSTS) 설정을 하면 보안서버가 만료되거나 제거 되었을때 설정된 max-age 까지 클라이언트의 캐쉬가 비워지지 않을경우 접속 되지 않을 수 있으니 주의가 필요하다.
HSTS는 브라우져에 향후 이 사이트에 대한 접속에 일반 http를 사용하지 않겠다는 선언이다.

 

아파치의 SSL 프로토콜 및 칩퍼는 아래와 같이 설정 하였다.
(ps. 2016-03-11 추가 SSLHonorCipherOrder on: 이설정은 보안 등급이 높은 방식을 우선시 사용한다는 설정이다.)

 

https://www.ssllabs.com/ssltest/index.html 에서의 테스트 스코어는 A+ 이며 IE6/XP 조합을 지원하지 못하는 설정이다.

20160314_PicPick_094231IE6/XP 를 지원하기 위해서는 프로토콜 SSLv3만 허용 처리, 그리고 HSTS를 꺼줘야 한다. 다만 등급은 C 로 떨어진다.

mysql sleep 자동 킬 스크립트

음 php 프로그래머의 실수에 따라 DB사용을 하지 않으나 장시간 sleep이 나는 경우가 있다.

뭐 프로그램 짜다보면 그럴수 있을것이다 =3=a

  •  프로그램이 mysql_pconnect 을 사용하거나 (apache keepalive 시간 동안 접속을 대기 탈 것이다.)
  • mysql 접속후 mysql.close()를 안했거나
  • 로그테이블 등의 크기가 커져서 lock 걸리는 시간이 증가하면 다른 접속자 로그를 쓰기 위해 wait 가 걸리기 때문에 mysql 커넥션이 과도하게 증가하기도 함..
  • 서버 사양 대비 동시접속자수가 많거나…

서버 관리자 입장에서는 서버 메모리에 부담을 주고 sleep 프로세스의 과다 접속에 의해 my.cnf에서 설정된

max connctions 값 에 의해 추가 신규 접속이 불가능한 상황을 방지 해야 한다.

그리하여 이러한 스크립트를 만들었습니다 🙂 – (mysql.close()가 제대로 되지 않는 경우를 상정.)

all_user_target 값을 Y로 해두면 모든 계정에 대해 kill을 수행합니다만.

ssh 접속해서 mysql 작업하면서 장시간 가만히 있으면 강제적으로 프로세스 종료 까지 될수 있습니다.

그래서 all_user_target=”N” 으로 하고 문제시 되는 계정만 target_id 에 설정하여 운용하도록 합니다. ‘ㅅ’a

 

PS. pconnect 를 사용하면 일반 connect 으로 사용하도록 유도 하고, log 테이블이 커졋다면 일정부분 날려서 정리를 해야 할꺼고 사양이 부족하다면 사양 업그레이드를 하거나 DB query cache 를 구현 하는 방법으로 해결 해야 할꺼 같다 ‘ ‘a 이 스크립트는 임시 방편일 뿐이다.

 

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 으로 하면 된다.