출처 : 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.
'FreeBSD' 카테고리의 다른 글
FreeBSD su sudo 사용 방법 (0) | 2012.05.09 |
---|---|
freebsd-update를 이용한 커널(Kernel) 업그레이드 (8.2 ㅡ> 9.0 테스트 진행중) (0) | 2012.05.09 |
FreeBSD 8.2 APM 설치 (0) | 2012.05.09 |
FreeBSD + APM + cacti 설치 (0) | 2012.05.09 |
FreeBSD 설치 (0) | 2012.05.07 |