10.2. 강제 모드에서 SELinux를 사용하여 Tang 서버 배포
Tang 서버를 사용하여 Clevis 지원 클라이언트에서 LUKS 암호화 볼륨을 자동으로 잠금 해제할 수 있습니다. 최소 시나리오에서는 tang
패키지를 설치하고 systemctl enable tangd.socket --now
명령을 입력하여 포트 80에 Tang 서버를 배포합니다. 다음 예제 절차에서는 사용자 지정 포트에서 실행되는 Tang 서버를 SELinux 강제 모드에서 제한된 서비스로 배포하는 방법을 보여줍니다.
사전 요구 사항
-
policycoreutils-python-utils
패키지 및 해당 종속 항목이 설치됩니다. -
firewalld
서비스가 실행 중입니다.
절차
tang
패키지 및 해당 종속 항목을 설치하려면root
로 다음 명령을 입력합니다.# dnf install tang
(예: 7500/tcp ) .occupied 포트를 선택하고
tangd
서비스가 해당 포트에 바인딩되도록 허용합니다.# semanage port -a -t tangd_port_t -p tcp 7500
포트는 한 번에 하나의 서비스에서만 사용할 수 있으므로 이미 사용되고 있는 포트를 사용하려는 경우
ValueError를 의미합니다. 포트가 이미 정의된
오류 메시지입니다.방화벽에서 포트를 엽니다.
# firewall-cmd --add-port=7500/tcp # firewall-cmd --runtime-to-permanent
tangd
서비스를 활성화합니다.# systemctl enable tangd.socket
덮어쓰기 파일을 생성합니다.
# systemctl edit tangd.socket
다음 편집기 화면에서
/etc/systemd/system/tangd.socket.d/
디렉터리에 있는 빈override.conf
파일을 열고 다음 행을 추가하여 Tang 서버의 기본 포트를 80에서 이전에 선택한 숫자로 변경합니다.[Socket] ListenStream= ListenStream=7500
중요이 아래에
있는 줄과# 줄 사이에 이전
코드 조각을 삽입합니다. 그렇지 않으면 시스템은 변경 사항을 삭제합니다.- Ctrl+O 누른 후 를 입력하여 변경 사항을 저장합니다. Ctrl+X 를 눌러 편집기를 종료합니다.
변경된 구성을 다시 로드합니다.
# systemctl daemon-reload
구성이 작동하는지 확인합니다.
# systemctl show tangd.socket -p Listen Listen=[::]:7500 (Stream)
tangd
서비스를 시작합니다.# systemctl restart tangd.socket
tangd
는systemd
소켓 활성화 메커니즘을 사용하므로 첫 번째 연결이 들어오는 즉시 서버가 시작됩니다. 새로 생성된 암호화 키 세트는 처음 시작할 때 자동으로 생성됩니다. 수동 키 생성과 같은 암호화 작업을 수행하려면jose
유틸리티를 사용합니다.
검증
NBDE 클라이언트에서 다음 명령을 사용하여 Tang 서버가 올바르게 작동하는지 확인합니다. 명령은 암호화 및 암호 해독을 위해 전달하는 동일한 메시지를 반환해야 합니다.
# echo test | clevis encrypt tang '{"url":"<tang.server.example.com:7500>"}' -y | clevis decrypt test
추가 리소스
-
Tang(8)
,semanage(8)
,firewall-cmd(1)
,jose(1)
,systemd.unit(5)
및systemd.socket(5)
도움말 페이지