나는 다음과 같은 이유로 이 일을 해야 한다는 말을 들었습니다 rpm -Va
:
시스템 파일 및 명령의 암호화 해시가 공급업체 값과 일치하도록 운영 체제를 구성해야 합니다. 암호화 무결성 보호가 없으면 승인되지 않은 사용자가 감지되지 않고 시스템 명령 및 파일을 변경할 수 있습니다.
따라서 a가 rpm -Va | grep '^..5'
완료되었으며 반환되는 항목이 있으면 다음과 같습니다.문제가 될 것입니다.
DVD에서 새로 설치를 수행하여 이 기준을 성공적으로 충족할 수 있었습니다.
하지만 나도 마찬가지야말하다예를 들어 구성 파일은 시스템을 제대로 실행하기 위한 몇 가지 명백한 다른 파일은 /etc/ssh/sshd_config
말할 것도 없고 이러한 파일을 변경하면 해당 파일이 공급업체 값과 일치하지 않게 되므로 반환되는 내용은 주로 다음과 같습니다./etc/audit/audit.rules
rpm -Va
S.5....T
누군가 이에 대한 목적이나 근거를 설명할 수 있습니까? 그리고 grep '^..5'
어떻게 작동해야 할까요? 이 작업을 수행할 수 있는 방법이 있습니까? 예, .conf 파일을 변경했지만 rpm
지정된 패키지를 다음으로 표시하지 않도록 업데이트했습니다.변경됨?
답변1
grep '^..5
두 문자로 시작하고 그 뒤에 가 오는 줄의 출력을 연구하는 간단한 부분부터 시작하겠습니다 5
. 이는 5
다음을 나타냅니다(fromman rpm
):
5개의 다이제스트(이전 MD5 합계)가 다릅니다.
해당 파일이 변경되었음을 나타내는 매우 좋은 지표 역할을 합니다.
rpm -Va | grep ...
다음으로 조사할 때 구성 파일을 무시하도록 권장합니다 . 지적하신 대로 이러한 파일은 시스템 관리자가 변경하도록 되어 있습니다. 다행스럽게도 rpm -Va
출력에는 마커로 표시됩니다 c
.
출력 형식은 9자 문자열이며 가능한 속성 태그 중 하나는 다음과 같습니다.
c %config configuration file. d %doc documentation file. g %ghost file (i.e. the file contents are not included in the package payload). l %license license file. r %readme readme file.
헤더에서 오고 그 뒤에 파일 이름이 옵니다.
...그래서 다음을 고려하겠습니다.
sudo rpm -Va | awk '/^..5/ && $2 != "c"'
grep ^..5
...이 아이디어는 구성 파일로 분류된 파일을 무시하는 것과 연결됩니다. 또는 태그가 지정된 각 출력 라인을 캡처하고 변경 위험을 허용하는 프로필을 "화이트리스트"에 추가할 수 있습니다. 그런 다음 정적 프로필로 추정되는 프로필이 변경되면 경고를 받게 됩니다.
RPM을 다시 패키징하지 않으면 구성 파일이 변경되었음을 표시하기 위해 RPM 데이터베이스의 다이제스트를 업데이트하는 방법을 모르기 때문에 위의 해결 방법을 제안합니다.