책 소개
요약
사이버 보안인들에게 익숙한 우분투 운영체제에 기반해 IDS/IPS 장비의 기반을 이루는 스노트와 IPTables 전반을 설명한다.
추천사
당신을 곤경에 빠뜨리는 것은 당신이 모르고 있는 것이 아니라 당신이 확신하고 있는 것이다. -미국의 소설가 마크 트웨인(Mark Twain)
리눅스는 보안 위협에 안전하다고 믿는가? 그렇다면 당신은 틀렸다.
최근 리눅스를 겨냥한 에레버스 변종 랜섬웨어에 153대의 서버가 감염돼 곤욕을 치른 바 있는 인터넷나야나 사태를 지켜보면서 피해 당사자들에 비할 바는 아니지만 나 또한 매우 안타까운 심정이었다. 이 사건은 리눅스도 보안에 신경을 써야 할 때임을 엄중히 경고하고 있으며, 타산지석(他山之石)으로 삼을만한 일이다. 리눅스는 저렴한 운영 비용과 기술 적용의 용이성, 그리고 보안 위협에 대한 상대적 신뢰성 등으로 각 분야에서 도입하고 있으며 요즘 트렌드인 클라우드 컴퓨팅, 사물 인터넷(IoT), 인공 지능(AI) 분야 등의 운영체제로도 널리 활용되고 있다. 그러나 이런 추세에 편승해 보안 위협 또한 가파르게 증가하고 있는 점 역시도 간과할 수 없는 현실이다.
이 책의 저자들은 이러한 점을 정확히 인식하고 사이버 보안을 위해 반드시 알아야 할 스노트(Snort)와 IPTables를 다루는 책을 계획, 집필한 것임에 틀림없다. 나 또한 스노트 학습을 위해 국내 서적을 찾아봤지만 저자 서문에서 언급됐듯이 시중에서 관련 국내 서적을 찾기란 쉽지 않았으며, 초보자 눈높이에 맞게 쓰여진 서적은 전무했다. 즉 이 책의 출판 소식은 내게도 상당히 반가운 일이 아닐 수 없었다.
이 책은 TCP/IP 계층의 대표적인 통신 프로토콜에 대한 기본 이론부터 각종 공격 유형 및 원리, 그리고 IDS/IPS 보안 장비의 개념까지 충실히 설명하고 있다. 또한 가장 인기 있는 리눅스 배포판인 우분투 환경에서 스노트와 IPTables를 통해 악의적인 공격을 탐지하고 방어할 수 있도록 도구의 환경 설정과 사용법에 대한 세심한 설명과 함께 예시와 실습 화면을 적절히 제공하고 있어 초보자 입장에서 쉽게 접근할 수 있는 책이다.
부디 이 책을 통해 학생들을 비롯한 서버 관리자 및 보안 실무자 등 많은 관련 분야 종사자들이 리눅스는 안전하다는 구시대적인 사고에서 벗어나 현재 진행형인 리눅스 보안 위협에 선제적, 능동적으로 대응할 수 있는 인재로 거듭나길 바란다.
아울러 개인적으로 이 책의 저자인 오동진 씨를 볼 때 중국 역사 인물 중 유일한 흙수저 출신이면서 천하를 평정한 한나라 황제 유방(劉邦)과 비슷한 점이 있다고 생각해왔다. 정보 보안 분야에서 뛰어난 역량과 충분한 잠재력, 그리고 열성까지 겸비한 추다영 씨를 공동 저자로 한 인재 기용술과 책 집필 과정에서 보여준 엄청난 자제력은 그야말로 유방다운 면모였다고 생각한다. 바로 이런 점이 내가 오동진 씨의 다음 책을 기대하게 만드는 이유 중 하나다.
허근영 / 모의 침투 연구회 부회장
정보 보안 기사 실기 시험을 응시하며 여러 번 낙방했던 쓰라린 기억이 있다. 당시 서버 운영 장교로 복무하던 나에게 서버 보안은 나름 자신 있는 분야였지만 네트워크 관련 부분이 발목을 잡았던 것이다. 기초부터 쌓아야겠다고 마음먹었지만 적합한 개념서를 찾기가 정말 어려웠다. 어떤 책은 번역이 난해했고 일부는 특정 제품에 치중돼 있어 입문자가 보기에 쉽지 않았다. 만약 여러분의 손에 들려있는 바로 이 책이 조금만 더 일찍 세상에 나와줬다면 나도 그만큼 ‘더 빨리 합격할 수 있지 않았을까?’하는 시샘이 날 지경이다.
이 책은 오동진, 추다영 선생님의 인고의 결실이다. 네트워크 보안 분야에 입문하시는 분들에게 필히 추천하고자 한다.
1장부터 5장까지는 TCP/IP 프로토콜에 대한 친절한 설명과 각 계층별 공격 유형을 보여준다. 그리고 6장과 7장에서 침입 탐지 시스템과 방지 시스템을 설명한 후 가장 대표적인 리눅스 오픈 소스 소프트웨어인 스노트(Snort)와 IPTables를 각각 다룬다.
이러한 프로그램들을 직접 설치하고 룰을 설정해 실행해 보는 일련의 과정들을 찬찬히 따라가다 보면 IDS와 IPS를 직접 운영할 수 있는 충분한 역량을 얻게 될 것이다.
책의 후반부에는 반야드 2와 FWSnort를 다루는 부분이 나오는데 이 도구들은 니도 처음 접하는 것이어서 굉장히 큰 도움이 됐다.
마지막까지 포기하지 말고 한 장 한 장 꼭 본인의 것으로 만들길 추천한다.
박재유 / 모의 침투 연구회 부회장
우분투는 리눅스 기반 도구 중 레드햇(Redhat) 다음으로 많이 알려지고 소개됐으며, 이 책은 그 중에서도 IDS/IPS를 소개하고 있다.
기존의 IDS/IPS에 관한 책들은 모두 외국 서적이기 때문에 보안 분야 종사자들은 어색한 번역서를 보거나 온라인 커뮤니티에 소개된 파편적인 내용만을 볼 수 있었다.
이러한 와중에 내국인이 저술한 IDS/IPS 서적 출판은 매우 반가운 소식일 수 밖에 없다. 이 책에는 IDS(침입 탐지 장비)와 IPS(침입 방지 장비)인 스노트(Snort)와 IPTables뿐만 아니라 TCP/IP 기반의 공격 유형까지 설명하기 때문에 내용이 무척 자연스럽다. 따라서 이 책은 보안 업무 담당자들에게 좋은 지침서라고 생각한다.
다양한 보안 위협이 점증하는 현실에서 이 책을 통해 다양한 보안 위협 요인을 사전에 예방할 수 있는 기초를 쌓을 수 있으면 좋겠다.
박수곤 / 모의 침투 연구회 부회장
이 책의 대상 독자
█ TCP/IP 이론을 숙지한 사람
█ 데비안/우분투 환경에 익숙한 사람
█ 칼리와 백박스 등과 같은 모의 침투 운영체제를 일정 정도 다룰 수 있는 사람
█ 정보 보안 기사/산업 기사 시험을 준비하는 사람
█ 대학교와 대학원에서 정보 보안을 전공하는 사람
이 책의 구성
제1장, ‘TCP/IP 방식의 계층적 구조’에서는 TCP/IP 프로토콜의 구조와 각 계층의 역할을 설명
했다.
제2장,’ 네트워크 계층의 헤더 기능’에서는 네트워크 계층의 IP.ICMP 프로토콜 헤더 구조와 각 항목의 개념을 설명했다.
제3장, ‘네트워크 계층 기반의 주요 공격 유형’에서는 네트워크 계층에서 나타나는 각 공격 유형에 대해 설명했다.
제4장, ‘전송 계층의 헤더 기능’에서는 전송 계층의 TCP.ICMP 프로토콜 헤더 구조와 각 항목의 개념을 설명했다.
제5장, ‘전송 계층 기반의 주요 공격 유형’에서는 전송 계층에서 나타나는 공격 유형에 대해 설명했다.
제6장, ‘IDS와 IPS 이해’에서는 앞서 설명한 계층들에 기반한 장비들을 소개하고 어떤 방식으로 동작하는지 설명했다.
제7장, ‘랜 카드 인터페이스 명칭 변경’에서는 주분투와 백박스 랜 카드 인터페이스 명칭을 eth0로 변경하는 방법에 대해 설명했다.
제8장, ‘스노트 설치와 설정’에서는 데비안 환경에서 스노트를 설치한 다음 각종 설정 과정을 설명했다.
제9장, ‘스노트 기본 문법’에서는 스노트 동작과 운영에 필요한 기본 문법에 대해 설명했다.
제10장,’ 네트워크 계층 기반의 스노트 탐지 설정 일례’에서는 네트워크 계층에서 나타나는 공격 유형을 탐지하기 위한 설정에 대해 설명했다.
제11장, ‘전송 계층 기반의 스노트 탐지 설정 일례’에서는 전송 계층에서 나타나는 공격 유형을 탐지하기 위한 설정에 대해 설명했다.
제12장, ‘응용 계층 기반의 스노트 탐지 설정 일례’에서는 응용 계층에서 나타나는 공격 유형을 탐지하기 위한 설정에 대해 설명했다.
제13장, ‘스노트 구성 내역과 기타 탐지 규칙 문법’에서는 스노트 규칙 구성에 대한 의미와 탐지 규칙 문법에 대해 설명했다.
제14장, ‘IPTables 방화벽 기초’에서는 IPTables의 동작 방식과 명령어 문법에 대해 설명했다.
제15장, ‘IPTables 방화벽 사용 일례’에서는 앞서 설명한 IPTables의 기초적인 내용 기반의 일례를 중심으로 동작 순서와 원리를 설명했다.
제16장, ‘반야드2 설치와 활용’에서는 스노트와 MySQL 연동에 필요한 반야드2에 대한 설치와 설정 방법에 대해 설명했다.
제17장, ‘FWSnort 설치와 활용’에서는 스노트와 IPTables을 연동하는 FWSnort에 대해 설명했다.
목차
목차
- 미국 편 1. 세계의 주요 국가 정보 기관
- 1장. IDS와 IPS 이해
- 2장. 네트워크 계층의 헤더 기능
- 3장. 네트워크 계층 기반의 주요 공격 유형
- 영국 편 2. 세계의 주요 국가 정보 기관
- 4장. 네트워크 계층의 헤더 기능
- 5장. 전송 계층 기반의 주요 공격 유형
- 6장. IDS와 IPS 이해
- 일본 편 3. 세계의 주요 국가 정보 기관
- 7장. 랜 카드 인터페이스 명칭 변경
- 8장. 스노트 설치와 설정
- 9장. 스노트 기본 문법
- 독일 편 4. 세계의 주요 국가 정보 기관
- 10장. 네트워크 계층 기반의 스노트 탐지 설정 일례
- 11장. 전송 계층 기반의 스노트 탐지 설정 일례
- 12장. 응용 계층 기반의 스노트 탐지 설정 일례
- 이스라엘 편 5. 세계의 주요 국가 정보 기관
- 13장. 스노트 구성 내역과 기타 탐지 규칙 문법
- 14장. IPTables 기초
- 15장. IPTables 방화벽 사용 일례
- 16장. 반야드2 설치와 활용
- 중국 편 6. 세계의 주요 국가 정보 기관
- 17장. FWSnort 설치와 활용
도서 오류 신고
정오표
정오표
[p.43: 위에서 3행]
전송 계층에는 IP와 ICMP 프로토콜 이외에도
->
네트워크 계층에는 IP와 ICMP 프로토콜 이외에도
[p.91: 위에서 4행]
다만 설치 시 6장에서 설명한 랜 카드 인터페이스 명칭만 주의
->
다만 설치 시 제7장에서 설명한 랜 카드 인터페이스 명칭만 주의
[p.99: 아래에서 5행]
내부에서 외부로 들어오는 패킷을 대상으로 탐지
->
외부에서 내부로 들어오는 패킷을 대상으로 탐지
[p.160: 밑에서 3행]
또한 msg 부분은 sid 부분과 달리 선택적으로 사용이 가능하다.
->
또한 msg 부분은 sid 부분과 달리 누락 시 치명적인 오류는 없어도 탐지한 내용을 파악하기 위해서는 반드시 설정해야 한다.
[p.198: 위에서 5행]
--match limit --limit 5/minute 명령어는 분당 5개인 경우 정책을 적용하겠다는 의미
->
--match limit --limit 5/minute 명령어는 분당 5개인 경우 로그 기록 정책을 적용하겠다는 의미
[p.198: 아래에서 6행]
--match recent --update 명령어는 동적으로 출발지 IP 주소 등을 확인하고 갱신하겠다는 의미이고 --match recent --set 명령어는 새로운 출발지 IP 주소 등이 생기면 동적으로 추가하겠다는 의미다.
->
--match recent --set 명령어는 동적으로 출발지 IP 주소 등을 확인하고 갱신하겠다는 의미이고 --match recent --update 명령어는 새로운 출발지 IP 주소 등이 생기면 동적으로 추가하겠다는 의미다.
[p.219쪽 : 4행]
--match recent --set 명령어는 새로운 출발지 IP 주소 등이 생기면 동적으로 추가하겠다는 의미이고 --match recent --update 명령어는 동적으로 출발지 IP 주소 등을 확인하고 갱신하겠다는 의미이다.
->
--match recent --update 명령어는 새로운 출발지 IP 주소 등이 생기면 동적으로 추가하겠다는 의미이고 --match recent --set 명령어는 동적으로 출발지 IP 주소 등을 확인하고 갱신하겠다는 의미이다.