NetBSD 공작소

이맥스 23.1 패키지

pkgsrc의 이맥스 패키지가 23.1로 갱신되었다. 새로운 사람들이 담당을 하게 되어서일까, 지난 버젼들에 비해 뚜렷이 다른 기조가 눈에 띈다. 골수 이맥스 사용자들의 영향으로 80년대 사용자 인터페이스를 고집하던 이맥스가 어느정도 타협을 하기 시작한 것. editors/emacs를 설치하고 실행해보면 한눈에 달라진 모습이 보인다. Gtk+가 기본 인터페이스가 된 것이다. (물론 pkgsrc의 유연한 옵션 기능을 이용하면 PKG_OPTIONS.emacs=xawmk.conf에 추가하고 빌드하는 것만으로 예전의 모습을 다시 볼 수 있다.) 글꼴도 Xft를 채용하여 더 이상 보기 싫은 X 윈도우 글꼴 대신 트루타입 글꼴을 쓸 수 있다.

이보다 더 획기적(!)이라고 할 만한 변화는 따로 있다. 위나 아래로 이동하는 방향키를 눌렀을 때, 화면에 보이는 것과 관계없이 파일에서의 한 줄 단위로 이동했었는데, 이제는 보이는 그대로 바로 위나 아래로 이동하게 된 것이다. 이건 내가 처음 이맥스(Lucid Emacs)를 접한 이래 절대로 바뀌지 않을 것 같은 기능이었는데, 사용자의 원성을 더 이상 무시할 수 없게 된 모양이다.

이 외에도 23.1에 추가된 첨단 기능으로, 쉬프트를 누른채로 커서를 움직이면 글이 선택되도록 하기, 선택된 부분은 다른 색으로 보이게 하기 등이 있다. ;-)

NetBSD 5.0.1 발표

NetBSD 5.0 발표 이후 석달만에 5.0.1이 나왔다. 버젼 번호에서 알 수 있듯이 중요한 버그를 고치고 보안 문제를 해결한 버젼이며, 새로운 기능은 별로 없다. 하지만 5.0 출시 이후 나온 수많은 보안 권고(001-004, 005-007, 008-009, 010, 011-012, 013)를 고려할 때, 아직 패치를 하지 않았다면 이번이 한방에 모든 취약점을 방어할 수 있는 좋은 기회가 될 것이다.

5.0.1에는 새 버젼의 패키지 관리 프로그램이 들어있기 때문에 이전 버젼에서 5.0.1로 갱신하는 경우에는 패키지 데이터베이스를 새로 만들어주는 것이 좋다. 방법은 5.0.1로 갱신한 다음 아래의 명령을 실행하면 된다.

pkg_admin rebuild

5.0.1을 가장 빨리 받는 방법은 BitTorrent를 이용하는 것이다. 물론 가까운 미러에서 직접 받을 수도 있다.

named 보안 권고

대충 무시하고 넘어가도 됐었던 어제의 보안 권고와는 달리, 이번엔 좀 심각한 보안 권고가 나왔다. DNS 써버인 BIND named에 해당하는 것으로, 외부에서 특정 패킷을 보내어 써버를 죽게 만드는 것이다. 원인은 동적 DNS 갱신 패킷을 처리하는 과정에 버그가 있어서 그런 것이지만, 동적 DNS 갱신 기능을 꺼 놓았다고 해도 해당 패킷을 받으면 써버가 죽게 되므로 named를 돌리고 있는 경우라면 모두 해당한다고 보면 된다. NetBSD만이 아니라 기존의 모든 BIND named의 문제이므로, 어떤 플랫폼이든지 BIND named를 돌리고 있다면 9.5.1pl3이나 그 이후의 버젼으로 갱신해야한다. NetBSD의 경우에는 7월 29일 이후 버젼으로 갱신하면 된다.

dhcpd와 SHA2 보안 권고

써버를 운영하다보면 보안 권고가 나올 때마다 일일이 패치해주는 것도 상당히 부지런해야 할 수 있는 일이다. 공격받을 가능성이 있다는 걸 알면서 패치를 안 할 수도 없는 노릇이고, 그렇다고 매번 패치하고 컴파일하고 설치하려면 여간 귀찮은 것이 아니다. 하지만 보안 권고를 자세히 읽으면 자신의 써버에는 해당사항이 없거나, 가능성이 없는 공격이어서 굳이 패치를 하지 않아도 되는 경우를 많이 발견할 수 있다. 게다가 보안 문제에 대해 배우는 것도 많으니 보안 권고가 자주 나온다고 짜증내기보다는 월간지 읽는 기분으로 찬찬히 읽어보는 것은 어떨까?

어제 발표된 NetBSD 보안 권고는 DHCP 써버SHA2 알고리즘에 관한 것이다. DHCP 써버의 문제는 요새 널리 회자되고 있는 DoS 공격 가능성이 있다는 것인데, 대부분의 경우 무시해도 무방하다. DHCP를 쓰는 경우의 99%는 DHCP 클라이언트만 실행하는 것이기 때문이다. DHCP 써버를 운영하는 경우는 내 써버가 다른 기계에 IP 주소를 발급해주는 역할을 할 때이므로, ISP가 아닌 이상은 써버를 돌리더라도 LAN에서만 돌리는 것일테니 이번에는 그냥 통과해도 좋은 보안 권고이다. 혹시라도 패치하고 넘어가야 직성이 풀리겠다면 7월 17일 이후 버젼으로 갱신하면 된다.

SHA2 문제는 제일 흔한 “버퍼 넘침” 문제인데, 이 문제는 심한 경우 공격자가 루트 권한으로 아무 명령이나 실행할 수 있긴 하다. 하지만 이 경우는 조금 다른데, 버퍼 넘침이 기껏해야 4바이트나 8바이트 뿐이기 때문이다. 그러므로 버퍼에 대용량을 우겨넣어서 코드 영역까지 넘어가게 만들고자하는 공격 전략은 이 경우에는 통하지 않는다고 봐도 무방하다. 하지만 초과한 4바이트나 8바이트가 메모리의 중요한 부분을 덮어 쓸 수도 있기 때문에 피해가 전혀 없을 수는 없다. 그렇다면 과연 패치를 해야하는 것일까? 보안 권고에는 어떤 소프트웨어가 영향을 받는지도 잘 나와 있는데, 이 경우는 libssh와 pkg_install이라고 한다. pkg_install이야 관리자가 패키지를 설치하려고 실행하는 명령이니 관리자만 조심(서명이 들어간 패키지 검증 안하기 등)하면 그만이지만, libssh는 ssh를 사용하는 프로그램들에서 쓸 가능성이 있다. 결국 ssh를 통해 외부 접속을 허용하는 경우에만 대비책을 세우면 되는 것이다. 패치를 하려면 7월 22일(NetBSD-current는 5월 26일) 이후 버젼으로, 그마저도 귀찮다면 ssh의 설정 파일에서 SHA256을 쓰지 않도록 해 주는 방법도 있다.

써버를 패치하는 일은 단순히 컴파일, 설치만이 아니라 동작중인 서비스를 모두 중단해야할 수도 있다는 점을 염두에 두고, 보안 권고가 나오더라도 그 위험 정도를 정확히 파악, 서비스에 미치는 영향을 최소화할 수 있는 대책을 마련하는 자세가 중요하다.

pkgsrc-2009Q2 발표

올해의 두 번째 안정 브랜치가 지난 주말에 발표되었다. 동결에 들어간지 5주만이다. 사실 안정 브랜치가 모습을 드러낸 것은 7월 7일이지만, 그간 여러 보안상 헛점이 발견된 패키지들을 새 버젼으로 교체하고, 자잘한 버그를 고치다보니 예상보다 좀 지연되었다.

이번 브랜치에서 가장 큰 변화는 라이센스를 엄격히 확인하고 원치 않는 라이센스의 패키지가 설치되는 것을 원천 봉쇄할 수 있는 기능이 추가된 것이다. 이전에도 라이센스 검사 기능은 있었지만, 바이너리 재배포가 불가능하다든가 하는 몇몇 극단적인 경우에만 해당이 되었다. 하지만 이제는 각 패키지마다 라이센스를 Makefile에 명시를 하고, ACCEPTABLE_LICENSE에 적어 준 라이센스에 해당할 경우에만 설치가 가능하도록 바뀌었다. 물론 대부분의 오픈소스 라이센스는 ACCEPTABLE_LICENSE의 기본값에 포함이 되어 있어서, 별다른 조치를 취하지 않아도 그대로 사용 가능하다. 아직은 라이센스를 명시하지 않은 패키지들이 많아서 당장 큰 효용성은 없겠으나, 앞으로 라이센스를 명시하는 패키지가 늘어나면 행여나 나도 모르는 사이에 라이센스를 어기면서 패키지를 쓰고 있는게 아닌지 염려할 필요가 없어질 것이다.

또 하나 반가운 소식은 pkgin이 정식으로 pkgsrc에 포함된 것이다. 저자의 홈페이지에 잘 나와 있듯이, 이 프로그램은 pkgsrc에서 apt나 yum과 같은 역할을 한다. 정식으로 제공되는 바이너리 패키지가 늘어나면 더 이상 pkgsrc에서 하염없이 컴파일을 하지 않아도 손쉽게 패키지 관리를 할 수 있을 것이다.

마지막으로 이번 브랜치부터는 대부분의 기본 텍 패키지들이 텍라이브 2008의 패키지들로 갱신되었다. 아직 teTeX의 잔재가 많이 남아있기는 하지만, 포맷 생성에 필요한 주요 패키지들은 모두 텍라이브로 교체되었다. 그동안 teTeX에 포함된 패키지들의 버젼이 낮아서 새로운 텍이나 라텍 패키지를 이용하는데에 불편을 겪었다고 해도, 이번 브랜치에서는 별 문제없이 쓸 가능성이 매우 높아졌다. 일례로, hyperref 등의 최신 버젼을 요구하는 ko.TeX도 잘 작동한다. ko.TeX은 이번 브랜치에는 포함되지 않았지만 이미 pkgsrc에 패키지로 들어가있으며, 다음 브랜치부터는 함께 제공될 예정이다.

« 이후 글이전 글 »