Secure the Mosquitto MQTT Messaging Broker

설치 환경: Ubuntu 16.04.3

Mosquitto는 대중적인 MQTT 서버이다. MQTT 방식은 브로커(서버)에 Publish/Subscribe를 통해 메시지를 주고 받는다.

보안을 적용한 방법을 정리하고자 한다.

◊ A Self Signed 인증서를 이용한 방법

  • 참고 사이트를 확인
  • generate-CA.sh를 통해 인증서를 생성
    • ca.crt, hostname.crt, hostname.key파일을 /etc/mosquitto/certs에 복사
  • /etc/mosquitto/conf.d/default.conf에서 TLS/SSL 부분 추가
listener 8883
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/hostname.crt
keyfile /etc/mosquitto/certs/hostname.key
tls_version tlsv1.2
  • Pub/Sub 명령어
    • mosquitto_sub –cafile /etc/mosquitto/certs/ca.crt –tls-version tlsv1.2 -h localhost -t “test” -p 8883
    • mosquitto_pub –cafile */ca.crt –tls-version tlsv1.2 -h localhost -t “test” -p 8883 -m “Hello

◊ Let’s Encrypt 무료 인증서를 이용한 방법

  • 참고 사이트를 확인
  • Certbot을 통해 인증서 발급. 단, 접속 가능한 도메인이어야 발급이 가능하다.
    • 개인 인증서의 설정과 유사하다!

◊ 패스워드를 이용한 방법

  • sudo mosquitto_passwd -c /etc/mosquitto/passwd elleysc
    • 패스워드 파일을 생성
  • sudo vi /etc/mosquitto/conf.d/default.conf
    • Anonymous 접속을 해지
allow_anonymous false
password_file /etc/mosquitto/passwd
광고

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중