4.8.2. stunnel을 TLS Wrapper로 구성
stunnel 을 구성하려면 다음 단계를 수행합니다.
- 사용하는 서비스에 관계없이 stunnel 에 유효한 인증서가 필요합니다. 적절한 인증서가 없는 경우 인증 기관에 적용하여 인증서를 얻거나 자체 서명 인증서를 생성할 수 있습니다.주의항상 프로덕션 환경에서 실행되는 서버에 인증 기관에서 서명한 인증서를 사용합니다. 자체 서명된 인증서는 테스트 목적 또는 사설 네트워크에만 적합합니다.인증 기관에서 부여한 인증서에 대한 자세한 내용은 4.7.2.1절. “인증서 서명 요청 생성” 을 참조하십시오. 반면 stunnel 용으로 자체 서명된 인증서를 생성하려면
/etc/pki/tls/certs/
디렉터리를 입력하고 다음 명령을root
로 입력합니다.certs]# make stunnel.pem
이 과정을 완료하기 위해 모든 질문에 대답하십시오. - 인증서가 있는 경우 stunnel 에 대한 구성 파일을 생성합니다. 이 파일은 모든 행이 옵션 또는 서비스 정의의 시작을 지정하는 텍스트 파일입니다. 주석과 빈 줄을 파일에 보관하여 타당성을 개선할 수 있습니다. 여기서 주석이 Semic로 시작하는 경우도 있습니다.stunnel RPM 패키지에는 구성 파일을 저장할 수 있는
/etc/stunnel/
디렉터리가 포함되어 있습니다. stunnel 에는 파일 이름 또는 해당 확장자의 특수 형식이 필요하지 않지만/etc/stunnel/stunnel.conf
를 사용합니다. 다음 콘텐츠는 stunnel 을 TLS 래퍼로 구성합니다.cert = /etc/pki/tls/certs/stunnel.pem ; Allow only TLS, thus avoiding SSL sslVersion = TLSv1 chroot = /var/run/stunnel setuid = nobody setgid = nobody pid = /stunnel.pid socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 [service_name] accept = port connect = port TIMEOUTclose = 0
또는sslVersion = TLSv1
이 포함된 행을 다음 행으로 교체하여 SSL을 방지할 수 있습니다.options = NO_SSLv2 options = NO_SSLv3
옵션의 목적은 다음과 같습니다.cert
- 인증서 경로sslVersion
- SSL 버전. SSL과TLS
가 두 개의 독립적인 암호화 프로토콜 경우에도 여기에서 TLS를 사용할 수 있습니다.chroot
- 더 높은 보안을 위해 stunnel 프로세스가 실행되는 변경된 루트 디렉터리setuid
,setgid
- stunnel 프로세스가 실행되는 사용자 및 그룹.pid
- stunnel 이 있는 파일은chroot
를 기준으로 프로세스 ID를 저장합니다.socket
- 로컬 및 원격 소켓 옵션; 이 경우 네트워크 대기 시간을 개선하기 위해 Nagle의 알고리즘 을 비활성화합니다.[service_name]
- 서비스 정의 시작; 이 줄 아래에 사용된 옵션은 지정된 서비스에만 적용되는 반면 위의 옵션은 S tunnel 에 전역적으로 적용됩니다.accept
- 수신 대기할 포트connect
- 연결할 포트입니다. 보안 서비스에 사용할 포트여야 합니다.TIMEOUTclose
- 클라이언트에서 close_notify 경고를 대기하는 시간(초)입니다.0
은 stunnel 이 전혀 기다리지 않도록 지시합니다.options
- OpenSSL 라이브러리 옵션
예 4.3. CUPS 보안
CUPS 에 대한 TLS 래퍼로 stunnel을 구성하려면 다음 값을 사용합니다.[cups] accept = 632 connect = 631
632
대신 원하는 모든 무료 포트를 사용할 수 있습니다.631
은 CUPS 에서 일반적으로 사용하는 포트입니다. chroot
디렉터리를 만들고setuid
옵션에서 지정한 사용자에게 쓰기 액세스 권한을 부여합니다. 이렇게 하려면root
로 다음 명령을 입력합니다.~]# mkdir /var/run/stunnel ~]# chown nobody:nobody /var/run/stunnel
그러면 stunnel 이 PID 파일을 생성할 수 있습니다.- 시스템에서 새 포트에 대한 액세스를 허용하지 않는 방화벽 설정을 사용하는 경우 적절하게 변경합니다. 자세한 내용은 5.6.7절. “GUI를 사용하여 포트 열기” 를 참조하십시오.
- 구성 파일과
chroot
디렉토리를 생성하고 지정된 포트에 액세스할 수 있는지 확인하는 경우 stunnel 을 사용할 수 있습니다.