FreeBSD2012. 5. 9. 11:39

출처 : http://sunkyu.tistory.com/71456

 

FreeBSD를 위한 자동 바이너리 보안 업데이트 시스템 개요

1.
원문 출처

http://www.daemonology.net/freebsd-update/index.html
http://www.daemonology.net/freebsd-update/binup.html
http://www.daemonology.net/bsdiff/index.html

2. freebsd-update
설치

자동 바이너리 보안 업데이트 시스템(이하 freebsd-update)를 사용하려면

/usr/ports/security/freebsd-update
에서 포트를 직접 설치하고

/usr/local/etc/freebsd-update.conf.sample
freebsd-update.conf

복사하여 사용하면 됩니다
.

현재 1.4 대의 클라이언트 프로그램이 나와 있는 상태이므로

1.3 port
라면 먼저 cvsup으로 ports을 업그레이드하고 설치하면 됩니다
.

3. freebsd-update
사용 가능 여부

freebsd-update
사용 가능한 버젼은 현재 4.7, 4.8, 4.9이며

공식 FreeBSD 배포판만(official FreeBSD distribution) 업데이트가 가능하며

일부를 재컴파일하였다면 모든 필요한 파일이 업데이트되지 않을 수도 있습니다
.
하지만 이 경우 1.4.1 버젼의 클라이언트를 사용한다면 업데이트되지 않는 파일에 대한

경고 메시지를 보여줍니다.(-q, quiet 옵션을 사용하지 않았을 경우에 해당
)

)
[root@bsd etc]# freebsd-update fetch
Fetching updates signature...
Fetching hash list signature...
Examining local system...

The following files are affected by security
fixes, but cannot be updated because they
have been modified locally:

/usr/libexec/named-xfer
/usr/sbin/named

No updates available

4. freebsd-update
사용 방법

클라이언트 프로그램을 설치하였다면 다음 과정을 거쳐 바이너리가 업데이트 됩니다
.
-
바이너리 보안 업데이트 가져오기

# freebsd-update fetch

-
바이너리 보안 업데이트 설치하기

# freebsd-update install

- freebsd-update cron
사용하기

약 매 3600(1시간)마다 updates를 확인하여 다운로드한 후

관리자에게 메일로 알려줍니다. 특별한 언급이 없는 것으로 보아서는

아마도 root에게 메일을 보낼 듯합니다
.
# freebsd-update cron &

5.
참고 사항

- freebsd-update
는 암호화된 서명을 이용하며 상당한 양의 트래픽 사용을

감소시키기 위해 binary diff(bsdiff, bspatch)로써 배포됩니다
.

- /usr/local/etc/freebsd-update.conf
# Configuration file for freebsd-update-client
#

# Specifies the base URL from which updates will be fetched
URL=http://update.daemonology.net/

# Specifies a trusted public key fingerprint
KEYPRINT=f212b8797f3b2f981a772cdbacccfed9

- freebsd-update install
작업 디렉토리

# ls /usr/local/freebsd-update
md5vals num pub.key updates

# cat md5vals
/usr/libexec/named-xfer$428a22618d68eb27054b19aa7b3fc48e
/usr/libexec/named-xfer$9de98a9f61de848ebbcd6dbaff2e30c7
/usr/sbin/named$35a4c4e6c31eabbd9ac2b991e4d9b82f
/usr/sbin/named$98a01a49593dd0167daae1be4e87e570

# cat updates(
형식
: /path/to/file$oldhash$newhash)
/usr/libexec/named-xfer$428a22618d68eb27054b19aa7b3fc48e$9de98a9f61de848ebbcd6dbaff2e30c7
/usr/sbin/named$98a01a49593dd0167daae1be4e87e570$35a4c4e6c31eabbd9ac2b991e4d9b82f

6.
옵션

usage: freebsd-update [options] command

Options:
-b basedir -- Set the base directory to basedir (default: /)
-d workdir -- Store working files in workdir
(default: /usr/local/freebsd-update/)
-f conffile -- Read configuration options from conffile
(default: /usr/local/etc/freebsd-update.conf)
-q -- Quiet.
-v -- Verbose.

Commands:
fetch -- Fetch updates from server
cron -- Sleep rand(3600) seconds, fetch updates, and send an
email to root if updates were found.
install -- Install downloaded updates
rollback -- Uninstall most recently installed updates
IDS -- For every file which is installed as part of a
binary RELEASE install, compare against a signed
index of "known good" files.

Posted by 배움나눔