웹 애플리케이션 보안 - 정찰, 공격, 방어 세 단계로 배우는 웹 애플리케이션 보안의 모든 것
앤드루 호프먼 지음, 최용 옮김 / 한빛미디어 / 2021년 2월
평점 :
장바구니담기




웹 애플리케이션을 개발하다보면 항상 신경쓰이는 부분이지만 잘 지켜지지 않는 부분이 바로 보안적인 부분이 아닐까 싶다. 물론 요즘에는 대부분의 라이브러리나 프레임워크 내부에서 자동적으로 적용해주는 부분들이 많지만 그것만 믿고 개발했다가는 문제점이 많이 발생할 수 있다. 이 책은 그러한 웹 애플리케이션을 개발할 때 주의해야 하는 보안에 대해 이야기하고 있다. 


저번에 읽었었던 책은 컨테이너 보안 책이였는데 그 구성요소는 다르게 느껴졌다. 전에 읽었던 책은 컨테이너 자체에 집중하면서 보안에 대한 이야기를 했다면, 이 책은 일반적인 웹 보안 이야기로 시작해서 일반적인 웹 보안이야기로 끝이 난다. 그러다보니 다른 웹 보안 책들과 비교해서 특별하다거나 그런 점을 느끼지는 못했지만 기본에 충실한 책이라는 생각이 들었다.


우선 책의 시작은 보안과 해킹에 대한 역사로 시작한다. 아무래도 처음에는 간단하게 아이스브레이킹하는 시간이자, 보안의 역사가 어떻게 되어있는지에 대한 이야기를 한다. 그리고 마지막에 현재는 다른 보안도 중요하지만 웹 보안이 가장 취약점이 많으면서 문제점이 많은 부분이라는 말로 끝이 난다.


그 후에는 보안에서 중요한 정찰, 공격, 방어에 대해서 알려준다. 정찰의 경우는 대부분의 회사에서 진행하는 모니터링, 취약점 분석 등을 이야기하고 있다. 공격과 방어는 쌍방으로 이루어져 있어 거의 한 세트라고 봐도 무방하다. 흔히들 알고 있는 XSS, CSRF, SQL 인젝션 등에 대해서 공격하는 방법, 방어하는 방법에 대해서 알려준다. 마지막까지 책을 읽고 나면 웹 보안에 대한 기본적인 부분들에 대해서 이해할 수 있게 된다.


사실 여기서 나온 보안에 대한 이야기는 정말 기본적인 이야기인 것 같다. 아마도 대부분의 개발자들이라면 한번쯤 들어봤고 한번쯤 검색해봤을 그런 이야기들에 대해서 적혀있다. 하지만 이 책을 읽으면서 좋았었던 점은 이런 웹 보안에 대해 다시 한번 생각해볼 수 있는 계기가 되었고 들어는 봤지만 무시하고 넘어갔던 부분들에 대해서도 다시한번 검토해보게 만들어 주었다는 점이다. 물론 책의 눈높이 자체가 이미 보안을 알고 있던 사람에게 초점을 맞춘 책은 아니였기 때문에 그런 사람들은 쉽다고 느낄 것이다. 


웹 애플리케이션을 개발하면서 어떤 보안에 신경써야 하는지 궁금한 분들이 한번쯤 읽어보면 도움이 될 듯한 책이며, 개인적으로도 마음에 들었던 책이였다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
컨테이너 보안 - 컨테이너화된 응용 프로그램의 보안을 위한 개념, 이론, 대응법과 모범 관행까지
리즈 라이스 지음, 류광 옮김 / 한빛미디어 / 2021년 2월
평점 :
장바구니담기




요즘 대부분의 개발자들은 컨테이너 기술을 사용해서 어플리케이션 배포를 하고 있다. 그에 맞춰 최근들어 컨테이너 관련한 보안 문제에 대한 이슈가 지속적으로 발생하고 있고 이 책 또한 컨테이너 보안 관련한 이슈에 대해서 설명하고 있는 책이다.


책을 읽고 나니 컨테이너 보안이라는 것이 특별하다고 느끼지는 않았고 결국은 리눅스 보안이 핵심이며 이를 컨테이너에 맞춰서 다시 생각해보게 하는 그런 책이였던 것 같다. 책의 특이한 점을 꼽자면 대부분의 컨테이너 책들이 "도커" 에만 치중해 있고 사용법만을 가르치는 책이였다면, 이 책은 오히려 이론서? 기본서? 와 같은 느낌이 들었다.


목차만 보면 알기 힘들 수도 있지만, 처음에는 컨테이너와 관련 없이 리눅스 기능들에 대해서 압축해서 알려주면서 컨테이너도 결국 이런 기술들의 조합으로 이루어져 있다는 것을 상기 시킨다. 그 뒤에 3장, 4장이 하이라이트인 것 같은데 컨테이너 구조를 알려주면서 도커 없이 어떻게 프로세스를 격리 시켜서 컨테이너화할 수 있는지 하나씩 파헤쳐보기 시작한다. 이 목차를 앍고 나니 예전에 컨테이너 동작 원리에 대해 궁금했던 부분들이 해결되기도 했다.


그 이후에 다른 책들이 보통 처음에 설명하는 부분인 VM 과 컨테이너의 차이점을 책의 중반부(5장)에서 설명하면서 "너가 컨테이너에 대해 알았으니 이제 한번 비교해보자" 라는 식으로 들어간다. 그렇게 보니 이 차이점에 대해서 좀 더 잘 이해할 수 있었던 것 같다. 이전에 배울때는 그냥 그렇구나 하고 어떻게 보면 암기식이였던 것이 이제는 이해가 되기 시작했던 것 같다.


이제 그 이후장부터는 컨테이너를 사용함에 있어 보안적으로 어떤 부분들을 조심해서 이용해야 하는지를 알려준다. 만약 3장과 4장을 이해한 상태라면 뒷부분은 빠르게 읽으면서 넘어갈 수 있지 않을까 싶다. 물론 이 책의 저자가 "Aqua Security" 소속이라서 그런지 트레이싱 도구로 본인들이 만든 오픈소스를 사용해서 알려준다. 이 부분은 알고만 넘어가고 다른 도구를 사용해도 상관 없을 듯 싶다.


이 책은 한번쯤 궁금했던 컨테이너와 관련된 가려운 부분을 긁어주는 책인 것 같다. 다만, 컨테이너(docker)를 아예 사용하지 않았다면 우선 다른 책을 보는 것을 권하고 싶다. 특히 도커나 리눅스를 아예 모른다면 책이 이해가 안될 수 있을 것이다. 왜냐하면 초반에 리눅스에 대해서 살짝은 알려주지만 그냥 사용법 정도와 용도를 알려줄 뿐 이해를 시키지는 않는다. 또한 도커에 대한 기본적인 부분 (실행, 빌드 등)에 대해서는 이미 알고 있다는 전제하에 진행한다.


컨테이너가 어떻게 격리되고 이를 어떤 방식으로 구현되고 있는지 궁금한 분들, 그리고 이것이 보안적으로 어떻게 적용되어야 하는지 궁금한 분들이 이 책을 읽는 다면 도움이 될 것 같다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
클라우드 핀옵스 - 비용은 최소화 운영은 최적화
J. R. 스토먼트.마이크 풀러 지음, 오성근 옮김 / 한빛미디어 / 2020년 12월
평점 :
장바구니담기




최근들어 클라우드가 활성화되면서 클라우드 핀옵스라는 말이 생겨나기 시작했다. 뭔가 데브옵스랑 비슷하면서도 어떤 의미인지 궁금해서 책을 보게 되었다. 특히, 요즘 회사에서 클라우드 비용때문에 고민이 많아서 그랬었는지 생각보다는 재미있게 읽었던 것 같다.


데브옵스와 마찬가지로 핀옵스도 하나의 "문화" 로 인식해야 한다는 것을 전제로 책 내용을 전개해 나간다. 즉, 기술적인 내용보다는 어떻게 문화를 정착해나가야 하며, 그 문화를 이루기 위해서는 어떤 용어를 알아야 하고, 어떤 프로세스를 진행해야 하는지에 대해서 대부분 설명하고 있는 책이다. 그러다보니 책을 읽을 때, 딱히 노트북을 키지 않고 읽을 수 있었던 부분이 마음에 들기도 했다.


작성자의 경우는 창업을 했고 팀이 크지 않아서 그런지 아직 회사에 적용하기에는 좀 무리가 있지 않나 싶었다. 대부분의 회사에서도 핀옵스 팀이 존재할지 의문이기도 하다. 그래도 클라우드를 사용하면서 개인적으로도 느끼는 점이 "돈이 생각보다 많이 든다" 는 점이였는데 이 부분을 콕 집어서 이야기해주니 공감이 되는 부분들이 많았다.


그래서 그런지 가장 마음에 들었던 구절은 초반에 나오는 "클라우두의 주요 장점은 비용 절감이 아니라 서비스 제공과 혁신 속도" 라는 점이다. 항상 클라우드를 쓰면서 어떻게 비용을 줄일 수 있을까 고민하던 때에 명쾌한 답변을 받은듯한 느낌을 받았다.


결국 클라우드 핀옵스팀을 꾸리기 위해서는 어느정도 규모가 있는 회사여야 하지 않을까 싶어 이 책은 클라우드를 쓰면서 비용에 대해서 걱정을 하게 되는 분들이 한번쯤 읽어보면 좋지 않을까 한다. 개인적으로도 창업을 하면서 미리미리 핀옵스에 대한 생각을 할 수 있게 되어 좋았던 책이였기도 하다.


책에서는 초반에 인트로로 핀옵스는 무엇이며, 어떤 용어를 가지고 어떻게 문화를 꾸려나가야 하는지에 대해서 이야기 해준다. 앞에서도 이야기 했지만 핀옵스라는게 결국 "문화" 이기 때문에 이 부분이 가장 중요한 챕터라고 생각할 수 있을 것 같다. 


그 뒤 이제 핀옵스를 실천하게 되는 프로세스에 대해서 이야기 해준다. "정보제공 단계 -> 단계 최적화 -> 운영단계" 의 단계로 진행되는데 이 단계에 무얼 해야 하는지 자세하게 적혀있다. 그리고 항상 그렇지만 이 세가지 단계를 지속적으로 반복해서 진행해야 한다는 점도 잊지 않는다. 


책을 읽다보면 클라우드를 사용하면서 자주 보게 되는 비용표라던가, 비용 그래프들을 자주 접하게 된다. 이 책은 정말 "비용" 에 대해서 심각하게 고민하고 집필된 책인 것 같다. 


만약 작성자처럼 클라우드 비용에 대해서 고민하는 개발자들이 있다면 한번 읽어보고 문화를 만들어 가는 것도 좋아 보인다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
개발 7년차, 매니저 1일차 - 개발만 해왔던 내가, 어느 날 갑자기 '팀'을 맡았다!
카미유 푸르니에 지음, 권원상 외 옮김 / 한빛미디어 / 2020년 2월
평점 :
장바구니담기




좋은 개발자가 되기 위해서 필요한건 오로지 개발능력이 아니라고 생각한다. 누구나 나중에는 관리자가 되거나 안되더라도 팀을 이끄는 개발팀장 역할을 맡게 될 것이다. 또한 처음 개발자란 직업을 가졌을 때에도 단순한 개발 능력만으로는 한계가 있는 것은 사실이다.


이런 점들에 대해서 설명해 놓은 책이 바로 이 책인것 같다. 책을 읽다 보면 내가 매니저할 준비가 되어 있는지, 언제 매니저를 달면 좋을지에 대해서 설명해주고 매니저직을 맡았을 때 개발만 할 때와 어떻게 다르게 가져가야 하는지에 대해 자세히 적어두고 있다.


물론 각자가 살아가는 사회는 다르기 때문에 이 책이 정답이 아닐 수 있다. 그렇더라도 개발자가 매니저가 되어서 겪는 어려움들에 대해서 조언해주는 길잡이 책이 될 수 있을 것 같다. 다른 시중에 나와 있는 책들이 대부분 일반적인 매니징에 대해서 적어놨다면, 이 책은 정확하게 "개발자가 매니저가 되었을 때" 를 가정하고 기술하고 있는 책이다.


책 내용이 기술서 느낌은 아니라서 가볍게 읽어볼 수 있다는 점이 장점인 것 같다. 그래서인지 만약 현재 매니저직을 맡게 될 상황이 올 것 같거나, 내가 매니저로서 잘 하고 있는지 궁금하신 분들이 읽으면 좋을 것 같다. 물론 작성자처럼 매니저는 아니지만 어떤 매니저가 좋은 매내지일지 판단하는 기준으로 세워봐도 좋을 듯 싶다.


결론적으로 "개발자의 매니저직" 에 대해서 궁금한 모든 사람에게 추천하고 싶다. 특히 작성자와 같이 창업을 한 사람이라면 창업자로서는 필수적으로 맡게될 직책일테니 꼭 읽어보길 바란다.



매니저직도 테크리더부터 시작해 작은 팀의 매니저, 전체 기술팀장 등의 직책이 나눠져 있을 것이다. 그래서 이 책에서는 작은 조직을 관리할때부터 큰 조직을 관리해야 하는 상황까지 점차적으로 설명해 준다. 내용은 어떻게 관리하는게 좋은 매니저고 어떻게 관리하면 나쁜 매니저인지 비교하면서 설명할 때가 많다. 책 내용 자체가 기술서라기 보단 자기계발서 이기때문에 따로 내용을 설명할 필요는 없을 것 같다.


본인이 매니저직에 관심이 있거나 한다면 한번쯤 가볍게 읽어보면 좋을 것 같고, 매니저직에 올라간 사람이라면 꼭 읽어보고 방향성을 정할 수 있으면 좋겠다. 



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
웹어셈블리 인 액션 - C++ 코드와 엠스크립튼을 활용한 실전 웹어셈블리
제러드 갤런트 지음, 이일웅 옮김 / 한빛미디어 / 2020년 10월
평점 :
장바구니담기




웹어셈블리가 나온지는 꽤 되었지만 아직까지는 실무에서 자주 사용되는 기술은 아니기 때문에 이번 기회에 새로운 기술에 대해서 배워보고자 이 책을 읽게 되었다. 특히 일반 자바스크립트만으로 개발했을때와의 차이가 궁금했다.


책 내용 자체는 처음 접하는 사람을 위해서 쓰여진 책이라 그런지 어렵지 않다. 하지만 처음 접해보는 기술이여서 그런지 몰라도 몇번씩 다시 읽으면서 이해하려 했던 부분들도 있었다. 특히 초반에 개발 세팅을 하는데 애를 좀 먹었는데, 이 부분만 해결되면 막히는 부분 없이 실습을 진행하면서 책을 읽을 수 있을 것 같다.


실습 자체는 C++ 로 하기 때문에 어느정도의 문법은 알아야 하겠지만 실습에 있어 C++ 로 짜여진 어려운 코드들은 거의 없기 때문에 책을 읽는 데 있어 문제가 되지는 않을 것이라 생각한다. 실습을 많이 하기는 하지만 책 자체는 이보다는 웹 어셈블리를 처음 접할때 어떻게 적용할 수 있는지에 집중해 있기 때문에 오히려 이런 부분들이 어려웠던 것 같다.


결론적으로 작성자처럼 웹 어셈블리에 대해서 배워보고 싶은 분에게 이 책을 추천하고 싶다. 웹 어셈블리를 시작하는데 있어 기초적인 부분들을 전체적으로 프런트부터 백앤드까지 한번 쭉 훝어주면서 내부적인 설명도 함께 해주기 때문에 처음 시작할 때 읽으면 좋을 것 같다는 생각이 들었다.




책에서는 처음에 당연히 웹어셈블리가 뭔지, 어디에 쓰이고 일반적인 자바스크립트와는 어떻게 다른지에 대해서 설명해준다. 이 책에서도 가장 강조하는 부분이 "웹 어셈블리가 자바스크립트를 대체 하는 것이 아니라 상호 보완적" 이라는 점이다. 개인적으로도 이 문구가 가장 공감이 되기도 햇다.


그 이후에는 웹어셈블리 구조에 대해서 설명해준다. 짧지만 가장 이해하기 어려웠던 부분이기도 했다. 그 다음부터는 이제 실습을 진행하는데 여러가지 케이스에 대해서 실습하니 많은 경우에 적용할 수 있지 않을까 싶다. 마지막에는 디버깅과 테스팅 기법까지 알려주면서 전체적인 내용을 끝마친다.


처음 접하지만 관심있게 보던 책이였어서 그런지 재미있게 읽은 책 중에 하나였던 것 같다. 작성자처럼 웹 어셈블리에 관심은 있지만 아직 접해보지 않은 분들이 읽는다면 좋을 것 같다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo