관리 메뉴

IT & Life

리눅스(Linux) 시스템을 비트 단위로 보안하는 방법 본문

IT 관련 정보/보안

리눅스(Linux) 시스템을 비트 단위로 보안하는 방법

미운앙마 2017. 11. 17. 01:25

https://www.technewsworld.com/story/84607.html

 


리눅스 시스템을 보호하는 것만 큼 힘든 것처럼 보일 때 기억해야 할 것은 모든 추가 단계가 차이를 만들어 낸다는 것입니다. 거의 항상 불확실성을 시작하는 것보다 겸손한 보폭을 만드는 것이 좋습니다.

 

다행히도 모든 레벨에서 사용자에게 큰 도움이되는 몇 가지 기본 기술이 있으며 Linux에서 하드 드라이브를 안전하게 지우는 방법을 아는 것도 그 중 하나입니다. 주로 보안을 염두에두고 Linux를 채택했기 때문에 이것은 내가 배운 첫 번째 것 중 하나입니다. 이 과정을 마치면 하드 드라이브를 안전하게 나눌 수 있습니다.

 

당신이 추측했을 수도 있듯이, 일반적인 삭제 방법이 항상 그것을 삭감하지는 ​​않습니다. 운영 체제에서 "삭제"를 누르거나 "rm"명령을 사용하여 파일을 삭제하는 가장 자주 사용되는 프로세스는 안전하지 않습니다.

 

이 방법 중 하나를 사용하면 하드 드라이브는 삭제 된 파일이 새 데이터를 쓸 수있는 영역을 표시합니다. 즉, 삭제 된 파일의 비트 (1 및 0)의 원래 상태가 그대로 유지되고 법의학 도구가 파일을 복구 할 수 있습니다.

 

이것은 나쁜 생각처럼 보일지 모르지만 그것은 합리적입니다. 하드 드라이브는 보안이 아닌 하드웨어 무결성을 최적화하도록 설계되었습니다. 하드 드라이브는 파일을 삭제할 때마다 삭제 된 파일의 비트를 모두 0으로 재설정하면 매우 빨리 지워집니다.

 

하드 드라이브 수명을 염두에두고 고안된 또 다른 프로세스는 드라이브의 임의의 위치에 각각의 새 파일을 저장하는 펌웨어 루틴 인 "웨어 레벨링"입니다. 이렇게하면 데이터 셀을 마모시키는 것을 방지 할 수 있습니다. 드라이브 시작 부분에있는 드라이브가 순차적으로 데이터를 저장하면 드라이브 마모가 가장 심해질 수 있습니다. 그러나 이것은 드라이브의 장기간 사용을 통해 파일을 자연스럽게 덮어 쓰는 일은 거의 없다는 것을 의미합니다.

 

그렇다면 하드 드라이브를 "안전하게 지워 버리는"것은 무엇을 의미합니까?

 


원시 비트 이동

 

보안 삭제에는 프로그램을 사용하여 하드 드라이브를 수동으로 모든 0 (또는 임의의 데이터)으로 덮어 쓰는 작업이 포함됩니다. 이 쓸모없는 데이터는 모든 저장된 파일과 삭제 된 파일의 모든 비트를 포함하여 전체 드라이브를 덮어 씁니다. 운영 체제를 덮어 쓰며 악의적 인 행위자가 악용하지 못하게합니다.

 

명령 줄은 일반적으로 이와 같은 수동 작업을 수행하는 가장 간단한 방법이므로이 방법을 살펴 보겠습니다. 가장 좋은 유틸리티는 "dd"명령입니다.

"dd"commamd는 정확한 백업을하거나 USB 플래시 드라이브에 Linux 배포판을 설치하는 것과 같은 보안 삭제 외에 많은 것들에 사용될 수 있습니다. 그러나 "mv"및 "cp"와 같은 명령이 파일 객체에서 "dd"는 데이터를 원시 비트 스트림으로 이동합니다. 기본적으로 "mv"와 "cp"는 파일을 참조하지만 "dd"는 비트 만 볼 수 있습니다.

 

"dd"가하는 일은 매우 간단합니다. 입력을 받아 출력으로 보냅니다. 리눅스 시스템은 / dev / zero에있는 읽을 수있는 0의 스트림을 가지고있다. 이것은 일반적인 파일이 아닙니다. 파일로 표현되는 0의 끝이없는 스트림입니다.

 

이 튜토리얼의 목적을 위해, 이것은 와이프 연산에 대한 우리의 입력이 될 것이다. 출력은 덮어 쓸 장치가됩니다. 실제 실행중인 시스템을 덮어 쓰지 않을 것입니다.

 

1) 아마 원하지 않을 것입니다.

2) 덮어 쓰기가 완료되기 전에 덮어 쓰기를 수행하는 시스템 부분을 덮어 쓰게되므로 실제로 작동하지 않습니다.

 

USB 플래시 드라이브 및 외장 하드 드라이브와 같은 외부 저장 장치를 안전하게 지우는 것은 간단하지만 컴퓨터의 온보드 하드 드라이브를 지우는 데는 몇 가지 추가 단계가 필요합니다.

 

 

Live-Boot 옵션

 

실행중인 시스템을 사용하여 온보드 드라이브를 지울 수없는 경우 작업을 어떻게 수행합니까? 대답은 라이브 부팅입니다. 명시 적으로 특수화되지 않은 Linux 배포판을 포함하여 많은 Linux 배포판을 온보드 드라이브 대신 연결된 USB 드라이브에서 컴퓨터에로드하여 실행할 수 있습니다. 이 방법으로 부팅하면 시스템의 데이터가 USB 드라이브에서 완전히 읽혀지기 때문에 컴퓨터의 온보드 드라이브에 전혀 액세스하지 않습니다.

 

부팅 가능한 USB 드라이브에서 시스템을 설치했을 가능성이 있으므로이를 사용하는 것이 가장 좋습니다. 라이브 부팅하려면 BIOS 메뉴를 입력하여 컴퓨터가 운영 체제를 찾을 위치를 변경해야합니다.

 

BIOS는 OS의 일부가 실행되기 전에로드되는 펌웨어 코드이며, 부팅 할 때 올바른 키를 치면 해당 메뉴에 액세스 할 수 있습니다. 이 키는 다른 컴퓨터에서 다릅니다. 일반적으로 "F"키 중 하나이지만 뭔가 다른 것일 수도 있으므로 알아내는 데 약간의 시간이 걸릴 수 있지만 표시되는 첫 번째 화면에는 어디서 볼 것인지 표시해야합니다.

 

일단 찾으면 라이브 부팅 USB를 넣고 컴퓨터를 BIOS 메뉴에 직접 재부팅 한 다음 부팅 순서를 변경하는 옵션을 선택합니다. 그러면 삽입 된 USB를 포함하여 저장 장치 목록이 표시됩니다. 이것을 선택하면 라이브 시스템이 나타나야합니다.

 

 

올바른 주소 찾기

 

삭제하기 전에 시스템에서 삭제할 드라이브 (예 : 대상 드라이브)에 할당 할 주소를 찾아야합니다. 이를 위해 "목록 블록 장치"에 대해 "lsblk"명령을 사용합니다. 기본적으로 하드 드라이브 유형의 장치 인 연결된 블록 장치에 대한 정보를 반환합니다.

 

명령을 실행하기 전에 대상 드라이브의 저장소 크기를 기록하고 컴퓨터에 연결된 모든 장치를 분리하십시오. 부팅중인 시스템을 저장하는 드라이브는 제외하십시오. 그런 다음 인수 나 옵션없이 "lsblk"을 실행하십시오.

 

$ lsblk

 

나타나는 유일한 장치는 온보드 하드 드라이브와 라이브 부팅 USB입니다. "lsblk"은 "sd"로 시작하는 이름 ( "NAME"아래)을 반환하고 동일한 이름의 분기 선에 숫자가 추가 된 문자를 반환합니다. 브랜치가 시작된 이름은 / dev 디렉토리에있는 드라이브의 주소 역할을하는 "파일"의 이름입니다.이 디렉토리는 시스템이 파일과 상호 작용할 수 있도록 파일을 장치로 나타내는 특수 디렉토리입니다.

 

라이브 부팅 시스템을 호스팅하는 USB 드라이브의 크기와 "MOUNTPOINT"아래의 경로가있는 항목과 마운트 지점이 나열되지 않은 대상 드라이브의 크기가있는 다른 항목이 하나씩 있어야합니다. 이 두 번째 항목은 "dd"의 출력 주소를 제공합니다. 예를 들어, 대상 드라이브가 "sdb"라는 이름에 해당하면 / dev / sdb는 주소입니다.

 

그러나 삭제하려는 외장 드라이브의 주소를 확인하려면 장치가 연결되지 않은 상태에서 "lsblk"을 한 번 실행하고 온보드 드라이브의 크기에 대해 (단일) 항목을 확인하고 주소를 적어두고 대상 드라이브를 연결하고 "lsblk"을 다시 실행하고 크기가 출력 항목 중 하나의 크기와 일치하는지 확인하십시오.

 

두 번째 "lsblk"명령의 출력은 이제 하나가 아닌 두 개의 항목을 반환해야하며 그 중 하나는 대상의 크기와 일치해야합니다. 시스템이 삽입 된 드라이브에 자동으로 액세스하도록 구성된 경우 "MOUNTPOINT"아래에 "/ media"를 포함하는 경로가 표시되어야합니다. 그렇지 않으면 대상 드라이브는 해당 열에 아무 것도 나열하지 않아야합니다.

 

이 주소는 하드 드라이브에 해당되므로 잘못 입력 한 드라이브를 삭제해야하므로 올바른 드라이브를 지정하는 것이 중요합니다. 이전에 언급했듯이 실수로 실행중인 시스템의 주소를 출력으로 지정하면 "Ctrl-c"를 눌러 중지하거나 시스템이 충돌하여 복구 할 수없는 데이터가 손실 될 때까지 명령이 즉시 0을 쓰기 시작합니다.

 

예를 들어, 문자는 알파벳순으로 실행 시스템에서 시작하여 (보통) 할당되기 때문에 연결된 단일 외부 드라이브가 대상이면 / dev / sdb로 처리됩니다. 그러나, 당신을 위해 다를지도 모르기 때문에, 이것을 다시주의 깊게 조사하십시오.

 

 

도박 신원 도둑

 

이제 삭제할 준비가되었습니다. 우리가하는 일은 "dd"를 호출하여 / dev / zero를 입력으로하고, 우리의 타겟 (이 예제에서는 / dev / sdb)을 출력으로 준다. "dd"는 Linux 이전의 오래된 명령이므로 다소 이상한 구문을 사용합니다. 대시 ( "-")가 앞에 붙는 옵션 대신 "입력 파일"에 "if ="를 사용하고 "출력 파일"에 "of ="를 사용합니다. 우리의 명령은 다음과 같습니다.

 

$ dd if = / dev / zero of = / dev / sdb

 

대상 드라이브의 크기와 프로세서 속도에 따라 다소 시간이 걸릴 수 있습니다. 강력한 프로세서로 16GB 플래시 드라이브를 지우는 데는 10 분 정도 걸릴 수 있습니다. 1-TB 드라이브를 쓰는 평균 프로세서의 경우 하루 종일 걸릴 수 있습니다. 당신은 당신의 컴퓨터로 다른 것들을 할 수는 있지만 (비록 그 터미널을 가지고 있지는 않지만), 이것은 상대적으로 프로세서 집약적 인 작업이기 때문에 아마 느려질 것입니다.

 

이것은 아마도 당신이 자주해야 할 일이 아니지만 드문 경우에 당신을 잘 봉사 할 수있는 방법을 아는 것입니다. 포기한 드라이브를 신중하게 분석하여 신분 도용이 항상 발생하며,이 간단한 절차는이를 보호하기 위해 먼 길을 갈 것입니다.

Comments