Chroot로 웹서버 등 설치하기?

보안을 향상시키기 위해 서버 프로그램을 chroot를 이용해서 시스템과 분리시켜 설치하는
방법이 있다고 들었거든요.
그래서 제가 웹서버(apache or nginx), php-fpm, DB(mysql or mariadb)를 chroot를 이용해서
설치해 볼까 하는데요. 알고 싶은 것이…

  1. 설치에 곤란한 점이 있을까요? (직접 알려주시기 어려우면 참고할 url이라도 부탁)

  2. 정말 보안 능력이 많이 향상될까요? 들인 노력에 비해 많이 향상되지 않는다면 곤란하겠죠.

  3. 더 나은 보안 능력 향상 방법이 있을까요? (역시 참고할 url 같은 것 부탁)

자원을 많이 투입
한다하여
보안이 강화된다는
생각엔 찬성하지
않아요.
예) 금융시스템에
떡칠된 수많은
액티브X 를 보세요…

그보단,
무엇을 하나
설치하더라도…
(정확히 파악후) 신중하게 설치하는게
중요하다고
생각해요~

web server 운용에 경험이 일천하기는 합니다만… 그러니, 참고만 하세요.
제가 작은 단위의 내부자만 대상으로 한 web server를 만들 때, 검토했었던 사안이긴 한데요.
물론 이 server가 내부자만 사용하길 바라고 만든 것이지만, 어디서나 써야 하니, 누구나 접속할 수는 있죠. 다만, 작은 단위의 내부자 용이므로 접속 수가 엄청 많은 대용량 서버는 아닙니다. 대용량 서버 부분은 저는 몰라요.

제가 짧은 실력에 여기 저기 구글링해서 얻은 결론은, 저의 경우에는 별로 가치가 없다는 것이었습니다. 물론, 상황에 따라 다를 것이라고 봅니다. 말씀하신 소위 apache jail의 거의 유일한 장점은 root를 따로 지정함으로써 시스템의 다른 부분에 대한 침해를 막을 수 있다는 것이죠. 단점은 아무래도 설치 및 운용이 좀 번거롭다는 점이겠구요. 구글에서 검색한 글을 읽다보면, 이 설정으로 운용하면 여기 저기 자잘한 이슈들이 제법 생긴다고 합니다. 더구나, 이 설정은 다수가 사용하는 설정이 아니라서 문제가 발생했을 때, 다른 사람에게 조언을 구하기도 상대적으로 더 어렵다는 단점도 있다고 하구요.

상황을 잘 검토해 보세요. web server 컴퓨터를 다른 목적 (disk server, mail server, 일반 사용 등)과 함께 사용해야 하신다면 가치가 있다고 생각합니다. 하지만, 제 경우에는 차라리 web server 전용 기계를 따로 마련하여 거기서 돌리는 것이 훨씬 낫다는 생각이었습니다.

chroot로 사용하는 것을 생각하고 계신 것이라면, web server용 컴퓨터를 따로 운용할 수 있는 상황이 아닐까 짐작되구요. 그렇다면, 따로 운용되는 기계의 다른 부분 침해 받아 봐야 어딜 침해하나요? 데이터베이스는 chroot하나 안하나 마찬가지고, cgi 등도 chroot보다는 cgi program의 보안성이 훨씬 중요한 사안이고… 그런 것을 생각하면 web server를 전용 기계에서 운용하고, 보안 검토 열심히 하고, web에서 발생하는 데이터는 빠짐없이 모두 다 암호화를 해서 저장하고, 평소에 백업 잘 받아 놓는 것이 훨씬 좋다고 생각되었습니다. 물론 보안상 취약할 수 있는, 서버에서 쓰지 않는 패키지들은 제거하는 것이 좋겠죠.

  1. 하실려면, 구글에서 apache chroot로 검색하면 글들이 엄청 나옵니다. 튜토리알도 많구요.
  2. 가치가 있는지는 상황에 따라 다르다고 봅니다. 저는 전용 기계를 사용하는 것이 낫다고 생각했고 그렇게 운용하고 있습니다.
  3. 제 생각에는 전용 기계를 사용하는 것이 보안 상으로도 더 낫다고 생각합니다. 침해 받아봐야 털리는 것은 web 뿐이니까요. 다른 방법은… 다른 서비스와 함께 사용해야 할 처지시라면, 차라리 Virtual Machine을 사용하는 것이 더 낫지 않을까요? 근데 자신은 없어요. 검토해 보세요.

저도 가상머신 이용을 추천합니다

웹서버용으로는 chroot가 별로인가보네요.
답변들 감사합니다. 덕분에 일을 줄였어요. :lol: