MD5 해시 함수는 파일의 무결성을 확인하는 데 자주 사용되는 알고리즘이다. 이와 관련하여 md5sum 명령어를 사용하면 파일의 해시 값을 계산하고 이를 통해 파일의 무결성을 검증할 수 있다.
1. MD5sum
md5sum 명령어는 파일의 MD5 해시 값을 생성하여 파일의 변경 여부를 확인할 수 있게 해준다. MD5는 128비트 해시 값을 생성하기 때문에, 파일의 내용이 조금이라도 변경되면 완전히 다른 해시 값이 생성되며, 이를 통해 파일 전송 중 오류가 발생했거나 악의적인 변경이 있었는지 쉽게 파악할 수 있다.
2. MD5sum 사용예시
md5testA와 md5testB 파일의 내용이 동일하기 때문에 해시 값도 동일한 반면에 md5testC 파일은 내용이 다르기 때문에 해시 값이 완전히 다르게 출력된다.
$ md5sum filename
3. MD5 디렉토리 사용 방법
다음은 폴더 내부의 모든 파일에 대해 MD5 해시 값을 계산하고, 이를 이용해 폴더 전체의 MD5 해시 값을 계산하는 명령어입니다:
$ find [디렉토리 파일] -type f -exec md5sum {} \; | sort -k 2 | md5sum
find [디렉토리 이름] -type f -exec md5sum {} ;
- find: 파일이나 디렉토리를 찾기 위한 명령어
- [디렉토리 이름]: 검색할 디렉토리 경로를 지정
- -type f: 파일의 타입을 지정하는 옵션으로, 여기서는 일반 파일(-type f)을 찾는다.
- -exec md5sum {} ;: 찾은 각 파일에 대해 md5sum 명령어를 실행합니다. **{}**는 각 파일의 이름을 의미하며, **;**는 명령어의 종료를 나타냄
- sort -k 2
- sort 명령어는 데이터를 정렬
- -k 2: 두 번째 열을 기준으로 정렬한다는 의미
- | md5sum
- 앞에서 정렬된 결과 전체에 대해 MD5 해시 값을 계산하고, |는 파이프라인으로, 앞 명령어의 출력을 다음 명령어의 입력으로 전달하는 역할을 한다.
사용예시
디렉토리 안에 내용이 같아도 디렉토리 명이 다르면 MD5 해시값이 다르다.
사용예시 2
- 디렉토리를 삭제했다가 같은 이름으로 재생성했을 때
- 내용물과 이름이 같다면 MD5해시값이 동일하다.
4. 마무리
MD5는 비교적 빠르고 간편하지만, 충돌 가능성이 존재하므로 민감한 보안 목적에는 적합하지 않다. 파일의 단순 무결성 확인에는 유용하지만, 보안에 민감한 경우에는 SHA-256과 같은 더 강력한 해시 함수를 사용하는 것이 좋다.
보안 목적보다는 무결성 검증 용도로 사용하는 게 제일 유용하다.
'정보보안 > 리눅스' 카테고리의 다른 글
[리눅스] 시스템 종료 및 재시작 명령어 (shutdown, reboot, poweroff, halt sync, init, systemctl,systemd) (0) | 2024.10.08 |
---|---|
[리눅스] KALI, CENTOS, UBUNTU 싱글모드 부팅 및 root passwd 변경(분실) (0) | 2024.08.07 |
[리눅스] KALI,CentOS Netwrok 설정 (2) | 2024.07.18 |
[리눅스] IPTables 개념 및 명령어 (사용예시) (0) | 2024.07.17 |