|
이 책은 시스템 관리자와 보안 분야 관리자에게 관련 분야에서 bash 쉘 스크립트를 활용하는 실용적 기술을 다룬다. [제1부 기초] 제1장 명령줄 첫걸음 __1.1 명령줄의 정의 __1.2 왜 bash인가? __1.3 명령줄 표시 방식 __1.4 Windows에서 리눅스와 bash 실행 __1.5 명령줄의 기초 __1.6 요약 __1.7 실습
제2장 bash의 기초 __2.1 출력 __2.2 변수 __2.3 입력 __2.4 조건 분기 __2.5 루프 반복 __2.6 함수 __2.7 bash의 패턴 부합 기능 __2.8 처음 만드는 스크립트?운영체제 종류 검출 __2.9 요약 __2.10 실습
제3장 정규 표현식 기초 __3.1 사용할 명령들 __3.2 정규 표현식 메타문자 __3.3 요약 __3.4 실습
제4장 공격과 방어의 원칙들 __4.1 사이버 보안 __4.2 공격 수명 주기 __4.3 요약
[제2부 bash를 이용한 사이버 보안 방어 작전] 제5장 자료 수집 __5.1 사용할 명령들 __5.2 시스템 정보 수집 __5.3 파일 시스템 검색 __5.4 자료 전송 __5.5 요약 __5.6 실습
제6장 자료 처리 __6.1 사용할 명령들 __6.2 필드들이 구분된 파일의 처리 __6.3 XML 처리 __6.4 JSON 처리 __6.5 자료 취합 __6.6 요약 __6.7 실습
제7장 자료 분석 __7.1 사용할 명령들 __7.2 웹 서버 로그와 친해지기 __7.3 자료의 정렬 및 재배열 __7.4 특정 항목의 빈도 구하기 __7.5 수치 합산 __7.6 자료를 히스토그램으로 표시 __7.7 자료에서 유일한 항목 찾기 __7.8 비정상적인 자료 식별 __7.9 요약 __7.10 실습
제8장 실시간 로그 감시 __8.1 텍스트 로그 감시 __8.2 Windows 로그 감시 __8.3 실시간 히스토그램 생성 __8.4 요약 __8.5 실습
제9장 도구: 네트워크 모니터 __9.1 사용할 명령들 __9.2 단계 1: 포트 스캐너 만들기 __9.3 단계 2: 기존 출력과 비교 __9.4 단계 3: 자동화와 통지 __9.5 요약 __9.6 실습
제10장 도구: 파일 시스템 모니터 __10.1 사용할 명령들 __10.2 단계 1: 파일 시스템의 기준선 생성 __10.3 단계 2: 기준선과 달라진 점 찾기 __10.4 단계 3: 자동화와 통지 __10.5 요약 __10.6 실습
제11장 악성 코드 분석 __11.1 사용할 명령들 __11.2 역공학 __11.3 문자열 추출 __11.4 명령줄로 VirusTotal과 상호작용하기 __11.5 요약 __11.6 실습
제12장 서식화와 보고 __12.1 사용할 명령들 __12.2 화면 표시 및 인쇄를 위한 HTML 서식화 __12.3 현황판(대시보드) 만들기 __12.4 요약 __12.5 실습 [제3부 bash를 이용한 모의 침투] 제13장 정찰 __13.1 사용할 명령들 __13.2 웹 페이지 가져오기 __13.3 배너 자동 조회 __13.4 요약 __13.5 실습
제14장 스크립트 난독화 __14.1 사용할 명령들 __14.2 구문 난독화 __14.3 논리 난독화 __14.4 암호화 __14.5 요약 __14.6 실습
제15장 도구: 명령줄 퍼저 __15.1 구현 __15.2 요약 __15.3 실습
제16장 거점 확보 __16.1 사용할 명령들 __16.2 명령문 한 줄짜리 뒷문 __16.3 커스텀 원격 접속 도구 __16.4 요약 __16.5 실습
[제4부 bash를 이용한 보안 관리] 제17장 사용자, 그룹, 권한 __17.1 사용할 명령들 __17.2 사용자와 그룹 __17.3 파일 권한과 접근 제어 목록 __17.4 다수의 파일에 대한 권한 수정 __17.5 요약 __17.6 실습
제18장 로그 항목 기록 __18.1 사용할 명령들 __18.2 Windows 로그 기록 __18.3 리눅스 로그 기록 __18.4 요약 __18.5 실습
제19장 도구: 시스템 가용성 모니터 __19.1 사용할 명령들 __19.2 구현 __19.3 요약 __19.4 실습
제20장 도구: 소프트웨어 목록 __20.1 사용할 명령들 __20.2 구현 __20.3 그 밖의 소프트웨어 식별 __20.4 요약 __20.5 실습
제21장 도구: 시스템 구성 검증 __21.1 구현 __21.2 요약 __21.3 실습
제22장 도구: 계정 감사 __22.1 Have I Been Pwned? 사이트 __22.2 패스워드 침해 여부 점검 __22.3 이메일 주소 침해 여부 점검 __22.4 요약 __22.5 실습
|
![]() 들어가며개발자들에게도 bash 명령을 포함한 CLI 도구의 활용은 필수 요소라고 생각한다. 특히나 클라우드로 인해 백엔드 개발자가 인프라까지 전담하는 경우도 많다보니 CLI 환경은 백엔드 개발자에게도 굉장히 밀접하다. 나는 지금껏 bash에 익숙하다고 생각해왔지만 실상을 들여다보면 기본이 많이 부족한 상태에서 서버 운영을 해왔던 것 같다. 서버에 이슈가 생겨 트러블 슈팅이 필요한 경우 원하는 정보를 수집하거나 스크립트를 작성할 때 항상 구글에 접속하여 원하는 명령어를 찾을 때까지 검색을 하는 경우가 대부분이다. 예를들어 찾고자 하는 텍스트가 포함된 파일들을 검색하고 싶은데 명령어를 만들 수 없어서 하나씩 찾을 때도 있고, find 명령을 사용한다는 것을 알고 있어도 조건을 만들지 못해 원하는 find 명령을 찾는데 시간을 허비하는 경우가 많다. 느낀점최근들어 서버에 접속해서 이러한 반복적인 작업을 하는 경우가 굉장히 빈번했다. 그러다보니 bash 명령들을 잘 익혀두었다면 정말 빠르게 트러블 슈팅을 하거나 반복작업을 자동화 할 수 있었을 것 같다는 생각이 든다. 이런 시점에 찾아보게된 책이 바로 이 "bash를 활용한 사이버 보안 운영(Cybersecurity Ops with bash)"였다. 책에서는 실무에서 자주 사용되는 리눅스 명령어들과 bash 활용에 대한 꿀팁들이 가득했다. 단순하게 복붙만 하던 명령어들의 의미를 알게되니 그동안 비효율적으로 작성했던 스크립트들이 꽤 많았었다. 2>&1 과 같은 표현도 항상 기존 스크립트들을 복붙하면서 사용했었는데 의미를 알고 나서는 적재적소에 사용할 수 있게 되었고, cut 명령어나 sed 명령어를 사용해서 원하는 문자들을 치환하고 추출해낼 수 있었다. 이런 단순한 명령들을 자유자재로 사용할 수 있다면 활용도가 무궁무진할 것 같다는 생각이 든다. 책에서 얘기하는 것처럼 자료 수집부터 분석, 침입탐지 등등 CLI 만으로 굉장히 많은 것들을 해낼 수 있기 때문에 시스템 엔지니어 뿐만 아니라 백엔드 개발자들도 필수적으로 익혀야 할 기술이라고 생각한다. 마치며책을 읽고 난 시점에도 사실 이 명령어들을 자유자재로 사용하기는 어려울 것 같지만 자주 사용될 만한 명령어들은 찾기 쉽게 잘 정리해두었고, 필요한 경우 기존보다 더 효율적으로 스크립트를 만들거나 명령어를 실행할 수 있을 것 같다. 오늘 당장 실무에서 사용해볼 수 있을만큼 실용적인 내용이라는 점이 이 책의 큰 장점이라고 생각한다. |
![]() 저는 Linux를 고등학생 및 대학생 시절에 강의를 통해서 여러번 다뤄봤고 Linux 환경에서 보안작업도 몇번 해봤지만 그것은 이미 만들어진 툴들을 사용해서 해본 경험이였습니다. 그런데 드디어 제가 이 책을 통해 직접 명령어를 입력하고 도구를 만드는 작업을 할 수 있게되었습니다. 제가 이 책을 선택한 이유는 평소에 보안에 대한 관심이 많았고 Window환경뿐만 아니라 Linux 환경에서 하는보안작업을 학습해보고 싶었기 때문입니다.
이 책의 특성은 보안을 학습하기에 앞서 Linux에서 쓰이는 기본적인 명령어를 학습할 수 있다는 점, 보안을 하는 자라면 필수로 알아야 하는 보안의 목표를 설명해주는 점 그리고 Window환경과 Linux 환경을 번갈아 사용하면서 보안작업을 할 수 있다는 점이라고 생각합니다.
요즘 시대는 정보화 시대로 이제는 총,미사일이 주가 아닌 서로의 정보를 빼내면서 자신의 정보를 지키는 사이버 공간에서의 소리없는 전쟁이 벌어지고 있습니다. 이것은 단순히 국가간의 전쟁이 아닌 기업들끼리도 경쟁회사의 중요정보를 캐내는 전쟁을 하고 있으며 해커들이 자신들의 이익을 위해 무차별적으로 개인정보를 탈취하는 일이 비일비재하고 있습니다. 대기업들은 자신들의 중요정보를 보호하기 위해 정보보안전문 회사와 계약하거나 자체적으로 보안전문 인력들을 양성해서 보안을 하는 등 보안에 매우 큰 노력을 하고 있습니다. 이처럼 정보를 보호하는 것은 우리 생활에서도 매우 중요하면서도 전 시대를 통틀어 매우 중요한 기술중 하나입니다.
구성 Chapter 1: 명령줄 첫걸음 Chapter 2: bash의 기초 Chapter 3: 정규 표현식 기초 Chapter 4: 공격과 방어의 원칙들 Chapter 5: 자료 수집 Chapter 6: 자료 처리 Chapter 7: 자료 분석 Chapter 8: 실시간 로그 감시 Chapter 9: 도구: 네트워크 모니터 Chapter 10: 도구: 파일 시스템 모니터 Chapter 11: 악성코드 분석 Chapter 12: 서식화와 보고 Chapter 13: 정찰 Chapter 14: 스크립트 난독화 Chapter 15: 도구: 명령줄 퍼저 Chapter 16: 거점 확보 Chapter 17: 사용자, 그룹, 권한 Chapter 18: 로그 항목 기록 Chapter 19: 도구: 시스템 가용성 모니터 Chapter 20: 도구: 소프트웨어 목록 Chapter 21: 도구: 시스템 구성 검증 Chapter 22: 도구: 계정 감사
파트별로 나누어 봤을때 책에서 나와있는 것처럼 1~4장은 Linux 사용법과 bash등의 기초에 대해 설명하고 있고 5~12장은 파일과 네트워크 모니터링으로 수집한 악성코드를 분석하는 방법에 대해 13~16장은 암호화 명령문에 대해 17~22장은 사용자, 그룹 등의 계정에 대한 보안방법에 대해 설명하고 있습니다.
개인적인 생각으로 학습은 Linux를 1부터 시작해야하는 초보자이신 분들께서는 2장부터 시작하시면 좋을것 같고 어느정도 Linux에 대해 경험이 있으신 분들(Linux에 대해 기초적인 지식은 숙지하고 있다.)은 5장부터 시작하시되 4장을 한번 보시고 시작하시는 편이 좋을 것 같습니다.(보안을 하시려면 그래도 보안의 목표정도는 알고 계셔야지요ㅎ) 그리고 현재 Linux에 대해 지식이 어느정도 풍부하시거나 현직에서 사용하시면서 프로젝트 또는 보안쪽으로 진출을 희망하시는 분들도 5장부터 시작하시면 좋을듯 싶습니다. 중간중간 익숙한 내용들이 있으실테지만 보안쪽하고 결합해서 학습해보신다면 새로운 느낌이 들수도 있으니까요ㅎㅎ
그리고 개인적으로 약간의 단점이 대부분의 보안 관련 책들이 그렇듯 이 책에도 악용시 주의사항 같은것이 있었으면 좋겠습니다. 청소년들이나 빠르면 초등학생중에 장난을 매우 좋아하시는 사람들이 있으셔서 심각성을 모르고 이러한 기술들을 보호가 아닌 악용하시는 사람들이 더러 있는데 책의 맨 첫부분이나 끝부분쯤에 악용했을 경우 처벌내용이나 주의사항같은게 있어서 조금이라도 덜 악용하시는 사례가 나왔으면 좋겠습니다. |
|
bash를 활용한 사이버 보안 운영 Cybersecurity Ops with bash
가볍게 생각하고 지나갔던 CLI(Command Line Interface)를 100%, 200% 활용할 수 있는 방법들을 알려주는 듯 하다. bash는 Unix/Linux에서만 사용하는 줄 알고 있었던 독자들에게 Windows에서도 git bash나 Power Shell등을 통해 사용할 수 있다는 걸 알려주면서 각각의 OS에서 주의할 점들도 각각의 상황마다 자세히 기록해주고 있다. bash의 시작부터, 제대로 활용하기 위한 정규표현식도 알려주며 보안의 원칙은 공격과 방어의 원칙들부터 나름 자세히 알려주는 듯 하다. 자료 수집부터, 그 자료를 처리하는 다양한 방법들. 그리고 처리한 자료들을 분석하는 방법들까지... 옮긴이의 말에서는 bash에 중심이 있다고 했지만 보안적인 측면에서도 가히 나쁘지 않은 듯 하다. 보안이라고 해서 방어만 해야할 듯 하지만 공격 방법도 기술하고 있어 이를 바탕으로 방어 측면에서도 활용할 수 있는 여지가 있어 보인다. 역시 믿고 보는 O'Reilly 의 시리즈다운 책이다. |
|
Cybersecurity Ops with bash bash를 활용한 사이버 보안 운영 폴 트론코네, 칼 앨빙 지음 류광 옮김 한빛미디어
자료 수집, 로그 분석 침입 탐지, 역공학, 보안 관리까지 실전 CLI 활용 기법
옮긴이 류광은 “이 책의 번역을 제안 받고 처음 든 생각은 ‘참으로 시기 적절하다’라 했다. 그 이유로 두 가지인데, 하나는 사이버 보안 문제가 더욱더 중요해지고 있다는 점이다. 현대 사회에서 조직과 개인은 컴퓨터와 네트워크에 크게 의존하며, 그 의존도가 점점 커지고 있다. 특히, 사물인터넷(IoT)이 발전하면서 더 많은 디바이스가 네트워크에 연결되며, 인공지능이 발전하면서 사람들은 더 많은 일을 컴퓨터가 알아서 하게 맡긴다. 그런 만큼 사이버 보안은 기업이나 개인에게 대단히 중요한 문제이다. 다른 하나는 명령줄의 부활(?)이다. 최근 몇 년 사이 Node.js/NPM이나 Docker, Git 등 기본 인터페이스가 명령줄인 도구들이 인기를 끌면서 개발자들이 자연스럽게 명령줄 인터페이스에 접하게 되었다. 게다가 지유/오픈소스 진영과 공존을 꾀하는 Microsoft가 WSL(Linux 용 Windows 하위 시스템; $1.4.3 참고)을 내놓으면서, 더 많은 개발자가 “본격적인” 명령줄 인터페이스에 접근할 수 있게 되었다. 이런 배경에서, 사이버 보안과 명령줄의 조합을 다루는 책의 출간을 환영한다.” 는 말에 전적으로 동의한다.
Windows 활용으로 GUI 환경에 익숙한 컴퓨터 이용자 및 개발자들이 새롭게 명령줄을 사용하고자 익히는 것은 어려움이 많을 것이다. 특히, 정보보안 분야로 진로를 생각하는 독자라면 최근의 ICT 환경 변화에 잘 적응할 수 있도록 인도하는 안내서라고 할 수 있다. 명령줄 사용은 쉽지 않다. 인내가 필요하다. 차근차근 내 것으로 소화하고 반복적실행력이 필요하다. 정보보안에 필요한 각 상황별 대용에 필요한 명령어를 익히고 실습을 통하여 보안 점검과 분석능력을 향상시켜 보안전문가로 한 단계 점프할 수 있는 계기가 될 것으로 생각된다.
류광님의 25년간 역자로서의 내공이 묻어나는 적절한 용어 선택과 설명이 독자로서 읽고 이해하기 쉽도록 잘 표현되었다. 전담 교정자로 협업을 이룬 오현숙님, 가정의 달을 맞아 부부로 함께 협업을 이룩하신 두 분의 수고에 찬사를 보냅니다. 감사합니다.
이 책의 대상 독자 본서 『besh를 활용한 사이버 보안 운영』은 컴퓨터 보안 분야에서 명령줄 활용에 숙달하고자 하는 실무자를 위한 책이다. 이 책의 목표는 기존 도구를 명령줄 스크립트로 대체하는 것이 아니라, 독자의 기존 보안 기술을 보강하기 위해 명령줄을 활용하는 방법을 가르치는 것이다. 이 책은 자료 수집 및 분석, 모의 침투 같은 보안 기법들에 관한 예제들을 중심으로 구성되어 있다. 이 예제들의 목적은 독자에게 명령줄의 능력을 보여주고 좀 더 높은 수준의 도구들에 쓰이는 몇 가지 근본적인 기법들에 관한 통찰을 제공하고 있다. 이 책의 독자가 사이버 보안과 명령줄 인터페이스, 프로그래밍 개념들, 그리고 리눅스 및 Windows 운영체제에 어느 정도 익숙하다고 가정한다.
Bash 또는 bash 이 책은 일관되게 소문자 b로 시작하는 bash를 사용한다. bash에 관한 좀 더 자세한 정보는 bash 웹사이트 http://bit.ly/2I0ZqzU 참고 그리고 bash의 여러 릴리스에 관한 정보와 참고 문서 및 예제들을 bash Coolbook 위키 페이지 http://bit.ly/2FCjMwi 참고
스크립트 안전성 이 책의 예제 스크립트들은 개념을 시연하고 설명하기 위해 작성되었을 뿐, 효율성이나 기업 환경에서의 안전한 사용을 염두에 둔 것은 아니다. 예제 스크립트들을 실무 환경에서 사용할 때는 이점을 조심해야 함 반드시 프로그래밍 및 보안 모범 관행들을 적용하고 철저한 검사를 거친 후에 스크립트들을 실무 환경에 배치해야 한다.
실습 각 장 끝에는 실습 과제들과 생각할 거리를 제공하는 질문들이 나온다. 이들은 독자와 사이버 보안, 명령줄, bash에 관한 능력을 향상하기 위한 것이다. 일부 연습 문제의 해답과 추가 자료가 Cybersecurity Ops 웹사이트 https://www.rapidcyberops.com 참고
예제 소스 내려 받기 이 책에서 사용한 예제 소스는 필자의 깃허브 저장소에서 내려 받기 https://github.com/cybersecurityops/cyber-ops-with-bash #bash #Cybersecurity #Ops #CLI #사이버보안 #운영 #자료수집 #로그분석 #침입탐지 #역공학 #보안관리 |
|
프로그래밍을 개발하면 사용자들의 정보를 잘 보호해야 합니다. 보안을 신경 쓰지 않고 개발을 한다면 정보가 노출될 수 있습니다. GUI 환경을 제공해주는 보안 솔루션이 있습니다. 이 보안 솔루션도 보안에 도움은 됩니다. 하지만 오늘 소개해 드릴 책은 CLI 환경으로 알려줍니다. 책 제목은 ‘bash를 활용한 사이버 보안 운영’입니다. GUI(graphical user interface) 그래픽 사용자 인터페이스의 약자로 그래픽을 지원하는 사용자 인터페이스입니다. 하지만 더 세밀한 보안을 하려면 bash를 활용하는 것이 더 정밀한 작업을 할 수 있습니다. CLI는 (Command Line Interface) 명령 줄 인터페이스입니다. GUI가 CLI보다 편하기는 합니다. 편하긴 하지만 더 정밀한 작업을 못 한다면 GUI에 걸리지 않게 되면 공격을 막지도 못하게 됩니다.
1. 보안 어떻게 이뤄지는가? 보안은 어떻게 이뤄지는지를 설명하려 합니다. 하나의 서버를 운영하고 있을 때 DDoS 공격을 받으면 그 사이트는 멈추게 됩니다. 사이트가 문제없이 돌아가고 있는지 감지하고 발생 시 대처도 필요합니다. 서버는 24시간 켜져 있어야 합니다. 문제가 있을 때는 사전 공지하고 점검을 진행합니다. 여기서 감지되는 것들은 비정상적인지 정상인지 판단하는 겁니다. 비정상적인 상태는 확인해 보며 서버를 공격하는 행위인지 확인 할 수 있습니다. 해킹 사례들도 찾아보며 취약점을 찾고 보완하는 것이 중요합니다. 해킹으로 서버에 접근해서 글을 쓰고 지우고 수정하게 된다면 관리자의 권한도 얻을 수 있습니다. 정해진 IP만 들어가도록 하거나 다른 IP가 접속을 시도하는 것을 알리기도 하고 그 IP는 접속을 막아야 합니다.
2. 로그 분석 로그 분석을 통해 보안이 잘되는지 파악할 수 있습니다. 웹서버 로그도 잘 알아야 문제인지 판별이 가능합니다. 로그를 볼 줄 알아야 정상적인 접근과 비정상적인 접근을 구별할 수 있습니다. 비정상인 접근의 경우 무슨 행위를 했는지 로그를 통해 분석이 가능합니다. 로그에는 접속날짜, IP, Mac 주소, 운영체제 등 무슨 액션을 했는지 기록에 남게 됩니다. 로그를 분석할 수 있다는 것은 해당 유형의 데이터를 분석할 줄 알아야 합니다. 자체적으로 취약점도 분석해보며 접근하는 행위를 탐지서 로그로 기록되게 해야 합니다. 만약 탐지하지 못 하는 행동이 이루어진다면 이상한 작업을 해도 알 수 없습니다. 예를 들어 회사의 기밀 자료를 빼내고 있는데 기록도 없이 빼내게 된다면 눈뜬 채로 빼앗기게 되는 것과 같습니다.
Ps 사이버 보안이 잘 되려면 최대한의 경우의 수를 발견해내야 합니다. 완벽한 보안은 없기 때문에 항상 주의하고 조심할 필요가 있습니다. 공격 흐름과 취약점을 분석하며 보안의 강도를 높여가야 합니다. 여유가 된다면 좋은 보안장비를 사용하면 좋겠지만 여건이 안된다면 자체 보안기술을 키우는 것도 좋습니다. 이 책은 모의침투와 방어하는 법도 알려줍니다. 보안 지식을 키우고 보안을 운영하는 법을 배울 수 있을 것입니다. |
|
한빛 미디어 나는 리뷰어다 서평입니다.
bash를 활용해 사이버 보안을 구축해보자! 요즘 컴퓨터의 기본적인 성능이 올라가는 만큼 바이러스의 종류도 다양해지고 있다. 랜섬웨어처럼 파일을 암호화시켜놓고 가상화폐를 요구하거나, 대놓고 채굴 프로그램을 설치하는 경우도 있다. 특히 개발용으로 리눅스 환경에서 고가의 고성능의 장비를 사용한다면, 피해가 상당할 것이다. 이런 상황을 막기 위해선 어떻게 해야할까 저자: 폴 트론코네, 칼 앨빙 저자 소개에 따르면 폴은 사이버 보안 및 IT 분야에 15년의 경력을 갖고 있고, 칼은 현재 미국 해군 대학원 데이터 과학 및 분석그룹의 연구 교수라고 한다.(왠지 NCIS랑 연관있을 것 같은..?) 목차 [제1부 기초] [제2부 bash를 이용한 사이버 보안 방어 작전] [제3부 bash를 이용한 모의 침투] [제4부 bash를 이용한 보안 관리] 목차는 가장 큰 범위만 적어봤다. 세부적인 내용으론 windows 유저를 위해 Git Bash와 WSL등을 설치하여 리눅스 셸 환경을 구성하는것 부터 명령줄의 기초, bash에서 사용하는 문법과 정규표현식을 먼저 설명하고, 4장부터 사이버 보안과 공격에 대한 이론을 설명한다. 그리고 5장부터는 bash를 이용한 본격적인 보안에 관한 내용을 다루는데 시승템 정보를 수집해 여러 형태의 자료를 처리하고, 분석하는 방법과 로그, 네트워크 및 시스템 모니터를 사용해 상태를 감시하는 방법과 악성코드 분석에 관한 내용이 있다. 3부부터는 방어뿐만아니라 침투에 관련된 내용도 다뤄지고 있다. 4부는 이름 그대로 시스템과 보안을 관리하는 방법이 나온다. 나의 경우에는 이번에 사이버 보안과 관련된 분야를 처음 접해봤다. bash의 경우에는 리눅스나 라즈베리파이의 라즈비안 환경에서 가끔씩 뭘 설치할 때 접해봤지만 그리 익숙한 툴은 아니었다. 그런데 내가 이 책을 신청해서 읽게 된 이유는 노트북 사용중에 cpu나 메모리 사용량이 갑자기 증가하는 현상도 찜찜하긴 했고, 앞으로 분명 쓸일이 있을 것 같기 때문이다. 일단 최대한 빠른 기간안에 책을 읽어보고 서평을 써야 하기 때문에 bash의 문법에 집중하기 보단 사이버 보안쪽 이론을 위주로 읽어봤다. 크래커들이 컴퓨터에 들어오면 서서히 장악해오는 과정과 반대로 방어를 하는 내용도 있었고, 내가 모의침투하는 내용도 있었다. bash는 리눅스에서 주로 사용되긴 하지만 windows의 유저들도 고려해서 wsl이나 bash가 아니라도 powershell을 통해 로그 확인이나 몇몇 시스템 관련 기능들은 windows에서 확인할 수 있는 방법도 제시해 주는 점이 마음에 들었다. 나의 경우에는 사이버 보안관련 책은 처음이라 조금 더 기초적인 내용을 먼저 접해야 책의 내용을 완전히 이해할 수 있을 듯 하다. 우리나라에 bash로 사이버 보안 관련된 내용을 다룬 책은 몇 없는 것 같은데 bash 환경에 익숙한 사람들이라면 쉽게 응용할 수 있을 것이다. 맨날 읽던 책들과 비슷하고 관련있으면서도 다른 분야의 책을 읽어보니 아직 배울 게 많은 것 같다. ++ 책을 읽다보니 큰 지장을 주진 않지만 작은 오타가 있어 문의했더니 다음 중쇄 때 반영된다고 한다. 초판 1쇄를 읽고 계신 분들은 홈페이지의 오탈자 목록을 참고하시면 될 것 같다. |
|
제가 이책을 선택한 이유는 다음과 같습니다.
그러다 보니, 아무래도 보안에 신경을 쓰지 않을 수가 없었습니다. 게다가 Bash 쉘의 위력(?)을 알고 있다 보니, 'bash를 활용한 사이버 보안 운영'이란 문장이 제일 먼저 눈에 띄었습니다. 이 책은 처음 커맨드 라인을 사용하는 독자들을 위해 제 1장 명령줄 첫걸음 제 2장 bash의 기초 제 3장 정규식 표현 등 3장에 걸쳐 기초 개념을 설명하고 있습니다. 그리고 '제 4장 공격과 방어의 원칙들'을 통해 사이버 보안의 기본 개념을 설명하고 있습니다. 본격적인 보안 처리는 제 2부에 담겨져 있습니다. 제 5장 자료 수집 제 6장 자료 처리 제 7장 자료 분석 을 통해 일반적인 보안 처리 방법을 설명하고 있습니다. 그리고 나서 실전에 사용할 수 있도록 제 8장 실시간 로그 감시 제 9장 도구: 네트워크 모니터 제 10장 도구: 파일 시스템 모니터 를 설명하고 있습니다. 그리고 제 11장 악성코드 분석 제 12장 서식화와 보고 를 통해 대시 보드를 만드는 방버에 대해 설명을 하고 있습니다. 제 개인적으로는 제 8장부터 12장까지는 제가 당장 적용할 수 있는 실용적인 파트라고 생각했습니다. 마지막으로 제 3부는 모의침투 에 대한 내용인데 이 부분은 아직 저에게는 낯설고 어려운 부분이었습니다. 대부분의 사용자는 윈도우나 맥의 GUI 환경에 익숙해져 있지만, 한번 쉘 스크립트에 빠져들면 그 맛과 그 무궁무진한 활용 가치는 잊을 수가 없습니다.
|
|
오늘 소개드릴 책은 “bash 를 활용한 사이버 보안 운영” 라는 책입니다. 폴 트론코네, 칼 앨빙 님이 지은 Cybersecurity Ops with bash의 번역책입니다. 책에 소개되어 있는 문구들을 보았습니다. “위기의 순간 빛을 발하는 CLI(command line interface)활용 완벽 가이드!” 이 책은 사이버보안 운영자를 위한 실무 지침서다. 리눅스 커맨드와 bash쉘을 이용한 자료 수집, 로그 분석, 침입 탐지, 역공학, 보안 관리 같은 작업을 수행하는 방법을 소개한다. 실용적인 예제로 명령줄이 제공하는 풍부한 기능을 살펴보며, 고급 도구에서 제공하는 보안 기법에 관한 통찰도 제공한다. CLI를 활용하면 복잡한 기능도 간단한 코드로 구현할 수 있다. CLI활용 능력을 키워 보안 운영 난제를 bash로 해결하는 마법을 체험하길 바란다. ---------------------------------------------------------- 요즘은 많은 좋은 솔루션들이 생겨나면서 command line으로 작업하는거 보다는 gui환경에서 작업하게 되는 일들이 많은거 같습니다. 하지만 command line을 통한 작업에 대한 접할 수 있는 기회, 즉 node.js나 docker, git등이 인기를 끌게 되면서 아마도 개발자들에게 매력을 줄수 있었다는 생각도 들었습니다. 이 책은 bash의 사용에 집중되어 있는 느낌이고 컴퓨터 보안 분야에서 지식을 가진 분들에게 bash를 가지고 보안 업무를 하는데 많은 도움을 줄것으로 생각이 됩니다. 즉, 기존에 쓰던 도구를 스크립트로 대체 한다는 것이 아니라 기존 보안 기술을 보강 하기 위한 활용을 도와주는 책이라고 생각하시면 될거 같습니다. 보안쪽 지식이 많지 않더라도 bash 를 사용하는 많은 예제들을 볼 수 있어, 실제 시스템을 운영하시는 분들에게도 많은 도움을 줄수 있을 것으로 생각됩니다. 이 책의 구성은 처음에는 bash에 대해 알아가는 과정을 거칩니다. command line의 개요, bash의기초, 정규식등을 설명합니다. 그리고 보안에 대한 기본적인 개념에 대해 간단하게 짚고 넘어갑니다. 공격과 방어의 원칙들 과 같은 내용을 설명합니다. 그리고 본격적으로 bash를 이용한 사이버 보안 방어를 위한 활용들 자료수집, 자료처리, 자료분석, 로그 감시, 네트워크나 파일 시스템 모니터링, 악성 코드 분석, 보고를 위한 서식화등을 설명합니다. 그리고 모의 침투를 bash를 이용해 봅니다. 여기에서는 정찰, 스트립트의 난독화, 암호화, 침투를 위한 거점 확보등을 알아봅니다. 마지막으로 bash를 이용한 보안 관리를 위한 command line들을 알아봅니다. 사용자,그룹, 권한 관리, 로그 관리, 시스템 가용성 모니터링, SW도구 사용 등을 알아봅니다. 이 책의 특징 중에 하나는 각 장 끝에 실습 과제들을 제공하거나 생각해 볼 것들을 제공합니다. 이런 내용은 보안에 대해, command line에 대해, bash활용 능력에 대한 향상을 목적으로 하고 있습니다. 일부 답은 cybersecurity Ops 웹사이트에서도 제공하고 있습니다. 직접 사이트에 들어가시면 일부 실습에 대한 동영상들도 제공을 하고 있고, 설명에 대한 포스팅도 볼수 있으니 참조하면서 보시면 좋을거 같습니다. 사실 bash를 많이들 사용해 보신 분들은 어떻게 보면 술술 잘 익힐 수 있는데, bash에서 특별히 자주 사용하는 명령어들에 대한 설명이 잘 되어 있다고 생각합니다. awk, cut, grep, egrep을 비롯하여 너무나도 많이 사용하는 명령어들을 활용하여 설명해 주고 있습니다. 해당 명령들에 대해 완벽하게 모든 설명이 책에 있지는 않습니다. 자세한 사용법이나 디테일한 설명이 필요하다면 man페이지등을 통하여 해당 명령을 좀더 깊이 알아 볼수 있습니다. 실제로 이 책에서 설명한 명령어들만 알아도 시스템이나 보안 관련된 업무에 큰 도움을 준다고 생각이 듭니다. 그리고 책에 스크립트에 대한 설명 부분이 자세히 나와 있습니다. 라인 별로 중요한 부분에 대해 설명을 해주고 있는데 자세히 되어 있기 때문에 처음 배우시는 분들에게도 이해하는데 많은 도움일 될거라 생각이 듭니다. 이 책을 한번 읽고나면 CLI환경에서 자신이 필요한 결과를 도출하기 위해 bash를 활용한 방법에 대해 쉽게 다가갈 수 있는 방법이 그려지고, 보안 분야에서 업무를 하는 분들에게는 도움이 많이 되지만, 보안에 대해 막상 어려움을 가지고 있는 분들에게는 사실 어렵기도 하지만 조금은 시스템 상에서 실습해 보며 약간의 체험과 이해를 도와 줄 수 있다고 생각합니다. |
처음엔 실무에 가까운 시스템 보안 운영이나 보안 조치, 취약점 점검 등에 대한 내용이 많을 것 같았다. 하지만 결론적으로는 보안 운영을 하기 위한 기초적인 개념과 명령어, 도구 작성 방법들을 소개해주는 게 대부분이라고 보면 될 것 같다. 강력하고 쉽고 많이 사용되는 bash의 기본적인 문법과 다양한 명령어 스크립트를 만들고 로그를 탐색할 수 있는 방법에 대해 실습을 통해 쉽게 배울 수 있다. 초반에는 개념 설명 등이 많지만 후반에 사용자, 접근 권한, 접근제어 등 도구에 관한 내용은 좀 장황하다는 생각이 들기도 한다. 악성코드 분석도 책 한 권으로 부족한 내용이지만, virus total을 사용하는 방식으로 설명해준다. 아쉽긴 했지만 현재 업무 관련해서 팀 내에서 실제로 한번 제품에 적용해볼까 고민했던 내용이긴 하다. 전반적으로 bash나 실무 입문자를 위한 책이라고 보면 될 것 같다. 중급자 이상에서도 bash를 제대로 배우지 않고 있던 코드를 뜯어고치며 구글링해가면서 부분적으로 사용했다면 새롭고 괜찮은 내용이 꽤 있을 것 같다. bash로 json을 처리하는 방법이라든지 데이터를 보기 좋게 정렬하고 그래프 등으로 시각화하는 방법들은 시도도 안 해봤던 내용이긴 하다. 보통 개발하고 있는 패키지의 언어로 기능을 만들지 직접 bash로 만들 이유는 없었기 때문이다. 하지만 bash에서 간단하게 사용이 가능하다면 훨씬 접근성이 좋을 것 같다는 생각도 든다.
*한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. |