메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

리눅스 철통 보안, Part 2: 서명된 바이너리만 실행하기

리눅스에서 신뢰할 수 있는 코드만 실행하도록 적용하기

Gary V. Vaughan, Freelance open source developer and technical writer, Azazil
Author photo - Gary Vaughan
Gary Vaughan은 최근에 영국 소속 정부 과학자 일을 그만 두고 자유 기고가와 자유 소프트웨어 관련 일을 하며 전 세계를 여행하면서 그의 첫 번째 책 GNU Autoconf, Automake and Libtool의 후속작을 쓰고 있고 블로그를 운영하고 있다. Gary Vaughan은 10년 가까이 GNU 프로젝트에 참여해 왔고 현재 GNU Libtool과 GNU M4를 유지보수하고 있을 뿐만 아니라 많은 자유 소프트웨어 프로젝트에 패치를 기여하고 있다.

요약:  기술을 잘 아는 사용자든 모르는 사용자든 그 사람들을 위해 설치된 수많은 리눅스 머신을 유지보수한다는 것은 비참한 경험입니다. 기술을 잘 아는 사용자는 자기가 좋아하는 대로 최대한 설정할 수 있는 Linux®의 장점을 누리겠지만 기술을 잘 모르는 사용자는 자기에게 주어진 파일 시스템 안에서 여러 가지 하지 말아야 할 조작을 합니다. 관련 지원과 관리 프로세스를 합리적으로 만들 수 있게 리눅스 머신 보안 강화 방안을 다루는 연재의 두 번째 부분인 본 튜토리얼에서는 서명된 바이너리만 실행하도록 리눅스 커널을 설정하는 방법을 배웁니다.

이 연재 자세히 보기

원문 게재일:  2007 년 9 월 18 일
난이도:  중급

페이지뷰: 4974 회
의견: 

시작하기 전에

이 튜토리얼을 읽는 컴퓨터 외에도 망가뜨려도 상관 없는 오래 된 리눅스 컴퓨터가 필요하다. 잘못 될 경우에 쓸 응급 디스크가 있으면 더 좋다. 다시 필요할지도 모르는 데이터가 그 컴퓨터에 있다면(멀티 부트 설정을 사용해 다른 파티션이나 별도의 드라이브에서 이 튜토리얼을 따라 하더라도) 여기서 설명하는 기법을 따라 해보기 전에 그 데이터의 전체 백업을 만들고 이상이 없는지 검사해야 할 것이다.

이 연재에 대해

설치 또는 지원 관리자 관점에서 보면 수정 기능은 리눅스의 가장 큰 문제일 것이다. 중대규모 시스템의 설치를 책임지고 있다면 최소한 그러한 위험이 있는지 한 번 살펴봐야 한다. 모든 머신이 애플리케이션 추가, 설정 변경, 알 수 없는 소프트웨어 설치로 심하게 꼬여 있을지도 모른다. 이 연재는 기업에서 대규모 리눅스 시스템을 자유롭게 설치, 관리할 수 있는 능력을 갖고자 하는 사람을 위해 작성했다.


본 튜토리얼에 대해

본 튜토리얼은 리눅스의 자유로운 맞춤 설정 기능을 통제해야 하는 이유를 알려주고 가짜 사용자가 기본 설치 상태를 바꾸는 것을 막기 위해 표준 리눅스 배포판을 잠그는 법을 다룬 Part 1의 내용을 확장한다. Part 2에서는 여러분이 지원하는 각 머신에 서명된 바이너리만 사용할 수 있도록 하는 커널을 만들어 철통 보안 과정을 마무리한다.


목적

본 튜토리얼에서 다루는 내용은 대규모 리눅스 머신 설치 유지 보수에서 인증된 실행 파일만 실행하도록 특별히 만들어진 커널을 운영하는 데 필요한 관리 문제와 과정이다. 각각의 실행 파일은 Part 1에서 다룬 기본적인 철통 보안 프로세스에서 설정됐다. 우선 시스템을 유지하는 데 필요한 암호화 된 데이터를 관리하는 방법을 다룰 것이고, 마지막으로 관리되지 않은 실행 파일이 안전한 환경에서 실행되지 않도록 막는 방법을 다룰 것이다. 본 연재에서 기술한 방법을 구현하면 개인적으로 감사(audit) 및 승인하지 않은 애플리케이션을 끼워 넣을 수 없는, 산업 등급의 보안을 갖춘 리눅스 시스템을 설정할 수 있을 것이다.


필요한 사전지식

본 튜토리얼은 중급 또는 고급 수준의 실력과 경험이 있는 리눅스 관리자를 위해 작성했다. PKI(Public Key Infrastructure), 그 중에서도 GPG(GNU Privacy Guard)에 익숙해야 하고, 명령 행 셸에 익숙해야 하며, C 프로그래밍 언어 업무 경험이 있어야 한다. 물론, 본 연재의 Part 1을 읽고 이해한 상태여야 한다.


시스템 요구사항

이 튜토리얼에 나온 단계를 따라가려면 리눅스 머신에 root로 접근해 재시동을 하고 그 안에 저장된 데이터를 지울 수 있어야 한다. 컴파일 환경이 설치되어 있어야 하고 배포판 리눅스 커널 소스와 헤더뿐만 아니라 Part 1에 있는 튜토리얼 소스 코드가 있어야 한다.

이 튜토리얼을 쓰면서 필자는 라이브 설치 CD에서 설치한 우분투 리눅스 6.10을 사용했다. 조금씩 다른 부분이 있는 것을 빼면 여러분이 좋아하는 어느 리눅스 배포판도 좋다. VMware가 있어 이 튜토리얼의 하드웨어와 펌웨어 절의 내용을 따라 해볼 필요가 없다면 VMware의 스냅샷 유틸리티를 사용해 좀더 자유롭게 실험을 할 수 있다. 리눅스 시스템이 부팅 도중 멈추면 문제를 분석, 복구하기 위해 응급 디스크를 쓰지 않고 이전의 좋았던 상태로 돌아갈 수 있기 때문이다.

18 | 다음

의견



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=리눅스
ArticleID=254900
TutorialTitle=리눅스 철통 보안, Part 2: 서명된 바이너리만 실행하기
publish-date=09182007
author1-email=gary@gnu.org
author1-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.