질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

RE: 리눅스는 어떻게 공부하나요?

작성자 정보

  • nazu 작성
  • 작성일

컨텐츠 정보

본문

이런글의 답변은 정보보안담당자가 해야할 부분이나..
경험담이라고 해야하나.. 아니면, 저 혼자만의 생각이라고 해야하나.. ^^;;

우선 제 경험은 다음과 같습니다.

1. Linux 입문 (설치 및 사용법을 익힘)

처음 Linux에 대한 호기심으로 책을 구입할때였던가.. 대학선배와 같이 서점에 갔었죠..
그때 여러가지 책이 있었는데, 그중에서 맘에 드는 책이 2권 있었습니다.

a. Redhat Linux 9.0
따라하기 (선배는 이걸 추천하더군요..)
b. 리눅스 서버관리 실무 바이블 1.0 (전 아마도, 대학교의 먼 선배님의 책이었기에 이걸 선택했고..)

결국은 b를 선택했고, 한때는 열심히 본듯 합니다.
물론 그 당시는 무조건 높은 버전이 좋은거라는 인식이 있었기에..
학교 서버를 Redhat 9.0을 기준으로 설치했었고, 이후 졸업까지 쭉 제가 관리했었죠...
이때, 그 책을 참조 했었는데 책은 Redhat 7.2버전 기준이었던것으로 기억합니다.
책과 실제가 달라서 약간의 혼돈을 하면서, 여러군데서 찾아보고, 끊임없이 시도하는..

==> 리눅스에 기초 부분의 공부는 설치 및 사용 그리고 끊임없는 관심과 시도였지 않나 싶습니다.
        기초책도 한가지가 아니라 여러가지를 읽어보시는 것도 중요하고요.

2. Linux Programming (뭐든 쬐끔씩..)

프로그램을 공부할땐, 당연히, 여러가지를 했습니다. (일단, 다다익선이기에..)
가장 기본이 되는 gcc 부터시작해서 g++, java, asm, script 등등 가림없이 다했던 것으로 기억합니다.
물론, 뭘했는지 어떻게 했는지, 문법도 기억은 안나긴 합니다만..^^; (늙어서 그런가..)
이유는, 여러가지 상황에서 대처할수 있는 능력이 필요하다고 생각했기 때문입니다.

==> 정보보안담당자가 꿈이시라면 그 분야에 대하여 넓고 깊게 많은 부분을 손대보셔야할듯 싶네요.
        특히 정보보안담당자라고해서 로그만 보거나 작은 프로그램만 짠다는건 오산이라고 생각됩니다.
        가끔은 Open 소스를 가져와서 해당 시스템에 맞게 리팩킹해야하는 경우도 있으시리라 예상됩니다.
        이때, Open소스가 어떤 언어로 되어있을지는 아무도 예상할 수 없겠지요.

3. Linux Kernel Optimize & Kernel Compile (For Target Platform)

커널에 여러가지 기능들을 삽입 및 수정을 거쳐 테스트를 했었습니다.
이때, Target Platform이 달라서 커널 컴파일 및 크로스 컴파일을 거치고,
용량이 너무 크거나, 부하가 심한 경우 최적화를 통해 조금이라도 부담을 줄였고,
필요에 따라서 패치등도 했었으니까요..

==> 보안 유틸리티 외적으로도 커널의 버그 및 결함 혹은 구멍(이라고 부르죠)으로 인한 취약점들..
        그러한 문제들을 해결하기위해 외국 주요 포럼들을 항상 검색하고, 해당 배포판 사이트를 뒤지고..
        가끔 자신이 찾아내면, 그 내용을 알려주고.. 이들을 패치하여 커널컴파일을 다시해 적용시키고..
        결국 커널 컴파일에 대해서 지식을 가지고 계셔야 합니다.


4. Linux Kernel Programming (압축 및 암호화 관련)

커널도 하나의 프로그램이기에 그 프로그램에 기능을 삽입 및 수정하는 일들을 거쳤습니다.
그리고 그것을 증명하고,  증명된 사실을 통해 여러가지 또다른 과제를 스스로 부여하고..
가끔 시스템이 죽으면, 어디서 죽었을까, 왜 죽었을까, 그동안은 왜 잘돌았지 등..
아무도 모르는 아무도 알수없는 미궁에 빠지기도 했었고요..

==> 보안 유틸리티를 작성하고, 때로는 그것의 최적화를 위해, 어떤 기능을 커널에 포함시키거나, 
        더욱 효율적으로 사용할수 있는 방법을 강구하는 일도 필요할 듯 합니다.


5. Solaris Encrypt Filesystem Module (공동 작업이었죠.. 제가한건 거의 없는 듯)

리눅스의 걸음마를 겨우 한꺼풀땐 시점에서 또다른 시스템인
SUN Sparc 장비에서의 암호화 파일 시스템작업에 들어가게 되었습니다.
저는 거의 한것이 없는 듯합니다. 항상, 로그 보고 시스템콜 추적하고..
완성이 되긴 했지만, 시스템이 불투명하게 죽어버리는 경우가 있었지요..
결론적으로 알게된 부분은. 스케쥴러를 까봐야 알수있다는 점..
허나 스케쥴러 소스는 비공개라더군요..

==> 정보보안에 관련하여, 여러가지 UNKNOWN 상황이 발생할지 모릅니다.
        어떤 고객이 어떤 시스템에서 어떤 툴을 사용하는지,  어떤 버그가 존재하는지, 어떤 취약점이 존재하는지
        익명의 해커(?)가 어떤 루트를 타고 들어와 무엇을 건드렸는지, 어떤 백도어를 숨겨놨는지..

        단시간내에 자신이 완벽히 알고 있는 전용 시스템이 아닌 이상 명확히알수는 없겠지요.
        하지만, 거기에 근접하기 위해서, 그 시스템을 자신의 수족처럼 다루기 위해서는..
        시스템의 이해와 해킹툴에 대한 지식, 역해킹, 시스템툴의 사용법 숙지 및 기타등등..
        스스로 무엇을 어떻게 해야할지 이미 감잡으셨을 듯싶습니다.


6. Linux에 대한 분석 (LFS를 통한 어플단의 전반적인 이해)

이 작업을 한다고 꽤 많은 욕을 들어 먹었던 것으로 생각됩니다.
조교는 조교대로 비웃음거리로 만들었고, 그 당시 이상한 소문도 퍼졌었죠.
하지만, 이로 인해서 어떠한 플렛폼과 패키지 독립적인 작업도 가능해졌습니다.
그러던 어느날, 비웃음으로 지나쳤던 일을 모 프로젝트에서 중요하게 쓰였습니다.

==> 다른 사람에게는 설령 비웃음 거리가 될지는 모르겠지만
        당신의 짜투리 시간을 이용하여 여러가지를 시도해 보시기 바랍니다.
        언젠가는 당신이 시도했던 여러가지 경험들이 결국은 도움이 될지도 모릅니다.


7. 모 시스템 리눅스 배보 CD 제작 (간단한 시스템 설치 팩)

일을 하청 받았을 때, 전 제가 알고있는 사실들중 가장 중요한 3가지를 말했지만,
프로젝트 담당자는 리눅스의 명령어만 쪼금 아는 사람이었고,
그들이 바라는 것은 그냥 결과치 일뿐, 과정은 전혀 무시였습니다.
과정에 대해서는 결과를 제출하고 난 다음에 문서를 바라더군요.
결국 일이었기에 해줄수 있는 한도내에 최소로 해줬었던것으로 기억납니다.

==> 고객은 과정은 뒷전입니다. 오직 최단 시간 최적 결과 도출과 빠른 문제 해결만이
        그들이 원하는 것이지요
        이를 털털하게 받아들여, 최선을 다해 당신의 고객의 문제를 해결하는 마인드를 가지세요

<============== 여기까지가 제가 드리는 리눅서로써의 공부방법이었습니다. ===================>

실제로는 볼수있는 정보보안담당자의 대부분의 작업은..
(물론 그분들은 알려지지 않은 작업들도 많이 수행하시기에.. 알수는 없지만요..)

1. 어플리케이션 담당자 분들은.. 보안 프로그램을 주로 짜고 테스트하고, 검증하는 작업을 하십니다.
    일반 프로그래머와 다름 없고, 단지 보안쪽을 주로 코딩하십니다.

2.
서버군에 종사하시는 분들은.. 거의 모니터링과 추적 및 설비유지입니다.
    툴을 사용해서 시스템을 점검하고, 로그를 보고 내용을 파악하고, 시스템을 정상으로 유지하는 일,
    특정 설비(IPS등)에 대한 적용 테스트, 퍼포먼스 확인, 장비의 이상유무 확인 및 백업등입니다.

    아직 한국에선 명확히 정보보안담당자가 정립되지 않아서 서버 관리자와 동일한 일이라 보시면됩니다.

    여기에 보안에 관련된 일이 덤한것으로 생각하시면 됩니다. [대기업형]

    보안정책의 수립과 내부 보안 확립(프로토콜,인증,전자서명), 침입 탐지 및 피해 최소화
    역해킹 및 해킹으로 인한 피해 대책 수립등..

<=========================== 현재의 저는 어떤가.. ==================================>

현재의 저라.. White Hands..

일명 백수라죠.. 거기다 King 까지 붙이면.. Lion이 됩니다. (썰렁했나요^^?)
어디.. 3x3한 시그너스 한마리 없을까요^^? (죄송합니다. (/-_-)/ 손들고 반성중)

세상에는 2가지 말이있습니다.

1. 꿈은 이루어진다.
2. 꿈은 꿈일뿐이다.

스스로 부끄럽지만, 막연한 관심으로 시작해버린 리눅스..
이로 인해 제겐 날카로운 칼이 없어져 버렸습니다.
힘들때면, 이런 생각을 합니다.
어쩌면 내가 리눅스라는 것에 관심을 두기를 시작하지 않았다면,
내게 더 날카로운 다른 칼자루 하나가 쥐어져있지 않을까..라고..

그렇다고해서 읽으시는 분께 꿈을 접으시라는 말이 아닙니다.
또한, 꿈을 향해 도전하라는 말도 아닙니다.

미래를 만들어가시는 분은 당신입니다.
제 미래를 만든것이 제 선택이었던 것처럼...

<=========================== 당부의 말씀 ==================================>

마지막으로 드리고 싶은 말은..

당신은 지금은 리눅스를 공부하셔서는 안됩니다.
정보보안전문가에 대해 공부하셔야 합니다.
리눅스는 단지, 보안이 필요한 하나의 OS일 뿐이라는 것과 기초만 알아두시면 됩니다.
언젠가 당신의 꿈이 정보보안담당자로 확실히 결정이 난다면..
그때 다시 리눅스를 유심히 바라봤을때, 당신의 머릿속에 무엇인가가 스쳐 지나간다면..

무엇을 공부해야할지는 스스로 알게 되실거라 생각됩니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,291 명
  • 현재 강좌수 :  36,951 개
  • 현재 접속자 :  309 명