확인 목적으로 rpm -V

확인 목적으로 rpm -V

나는 다음과 같은 이유로 이 일을 해야 한다는 말을 들었습니다 rpm -Va:

시스템 파일 및 명령의 암호화 해시가 공급업체 값과 일치하도록 운영 체제를 구성해야 합니다. 암호화 무결성 보호가 없으면 승인되지 않은 사용자가 감지되지 않고 시스템 명령 및 파일을 변경할 수 있습니다.

따라서 a가 rpm -Va | grep '^..5'완료되었으며 반환되는 항목이 있으면 다음과 같습니다.문제가 될 것입니다.

DVD에서 새로 설치를 수행하여 이 기준을 성공적으로 충족할 수 있었습니다.

하지만 나도 마찬가지야말하다예를 들어 구성 파일은 시스템을 제대로 실행하기 위한 몇 가지 명백한 다른 파일은 /etc/ssh/sshd_config말할 것도 없고 이러한 파일을 변경하면 해당 파일이 공급업체 값과 일치하지 않게 되므로 반환되는 내용은 주로 다음과 같습니다./etc/audit/audit.rulesrpm -VaS.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 데이터베이스의 다이제스트를 업데이트하는 방법을 모르기 때문에 위의 해결 방법을 제안합니다.

관련 정보