13.6. USB 장치에 대한 구조화된 사용자 정의 정책 생성
/etc/usbguard/rules.d/
디렉터리 내의 여러 .conf
파일에서 사용자 지정 USBGuard 정책을 구성할 수 있습니다. 그런 다음 usbguard-daemon
은 기본 rules.conf
파일을 디렉터리 내의 .conf
파일과 알파벳순으로 결합합니다.
사전 요구 사항
-
usbguard
서비스가 설치되어 실행 중입니다.
절차
현재 연결된 USB 장치를 인증하는 정책을 만들고 생성된 규칙을 새
.conf
파일에 저장합니다(예:policy.conf
).# usbguard generate-policy --no-hashes > ./policy.conf
no-hashes
옵션은 장치에 대한 해시 속성을 생성하지 않습니다. 구성 설정의 해시 속성이 영구적이 아닐 수 있으므로 피하십시오.선택한 텍스트 편집기로
policy.conf
파일을 표시합니다. 예를 들면 다음과 같습니다.# vi ./policy.conf ... allow id 04f2:0833 serial "" name "USB Keyboard" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...
선택한 행을 별도의
.conf
파일로 이동합니다.참고파일 이름 시작 부분에 있는 두 자리는 데몬이 구성 파일을 읽는 순서를 지정합니다.
예를 들어 키보드의 규칙을 새
.conf
파일에 복사합니다.# grep "USB Keyboard" ./policy.conf > ./10keyboards.conf
/etc/usbguard/rules.d/
디렉터리에 새 정책을 설치합니다.# install -m 0600 -o root -g root 10keyboards.conf /etc/usbguard/rules.d/10keyboards.conf
나머지 행을 기본
rules.conf
파일로 이동합니다.# grep -v "USB Keyboard" ./policy.conf > ./rules.conf
나머지 규칙을 설치합니다.
# install -m 0600 -o root -g root rules.conf /etc/usbguard/rules.conf
usbguard
데몬을 다시 시작하여 변경 사항을 적용합니다.# systemctl restart usbguard
검증
모든 활성 USBGuard 규칙을 표시합니다.
# usbguard list-rules ... 15: allow id 04f2:0833 serial "" name "USB Keyboard" hash "kxM/iddRe/WSCocgiuQlVs6Dn0VEza7KiHoDeTz0fyg=" parent-hash "2i6ZBJfTl5BakXF7Gba84/Cp1gslnNc1DM6vWQpie3s=" via-port "7-2" with-interface { 03:01:01 03:00:00 } with-connect-type "unknown" ...
/etc/usbguard/rules.d/
디렉토리에rules.conf
파일과 모든.conf
파일을 표시합니다.# cat /etc/usbguard/rules.conf /etc/usbguard/rules.d/*.conf
- 활성 규칙에 파일의 모든 규칙이 포함되고 올바른 순서로 있는지 확인합니다.
추가 리소스
-
usbguard-rules.conf(5)
시스템의 도움말 페이지