<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6989945180525825898</id><updated>2011-04-22T07:55:55.739+07:00</updated><title type='text'>pnco's blog</title><subtitle type='html'>Linux, FreeBSD Security</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6989945180525825898.post-8727010683638309821</id><published>2008-03-11T14:23:00.006+07:00</published><updated>2008-03-11T15:30:11.953+07:00</updated><title type='text'>iptables init script</title><content type='html'>&lt;span style="font-size:78%;"&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# This is a simple iptables firewall script.&lt;br /&gt;# This can be used stand-alone or put in /etc/init.d/firewall.&lt;br /&gt;# This works on both Ubuntu and RedHat systems.&lt;br /&gt;# On Ubuntu, run "update-rc.d firewall defaults" to install this on startup.&lt;br /&gt;# On RedHat, run "chkconfig --add firewall" to install this on startup.&lt;br /&gt;# Note that RedHat has its own iptables init script that needs to be turned&lt;br /&gt;# off if this script is to be used.&lt;br /&gt;#&lt;br /&gt;# Load firewall on boot:&lt;br /&gt;#&lt;br /&gt;# For Ubuntu/Debian you can put an init script into /etc/init.d then link to an 'S' file in /etc/rc2.d&lt;br /&gt;# cp firewall /etc/init.d/firewall&lt;br /&gt;# chmod 755 /etc/init.d/firewall&lt;br /&gt;# cd /etc/rc2.d/&lt;br /&gt;# ln -s ../init.d/firewall S99firewall&lt;br /&gt;#&lt;br /&gt;# For RedHat you need to edit:&lt;br /&gt;# /etc/sysconfig/iptables&lt;br /&gt;# Don't confuse this with /etc/sysconfig/iptables-config.&lt;br /&gt;# Also note that RedHat has a tool called system-security-level that overwrites /etc/sysconfig/iptables,&lt;br /&gt;# so if you run system-security-level you will loose your changes.&lt;br /&gt;# You can edit the file manually or you can use system-security-level.&lt;br /&gt;# Choose one or the other, not both.&lt;br /&gt;# You can also setup the firewall the way you want using the iptables command&lt;br /&gt;# and then save the settings using RedHat's inti.d script:&lt;br /&gt;# /etc/init.d/iptables save&lt;br /&gt;#&lt;br /&gt;# rule by conmale (modified by pnco)&lt;br /&gt;#&lt;br /&gt;# chkconfig: 2345 08 92&lt;br /&gt;# description: This configures iptables.&lt;br /&gt;#&lt;br /&gt;### BEGIN INIT INFO&lt;br /&gt;# Provides:          firewall&lt;br /&gt;# Required-Start:    $network $local_fs $remote_fs&lt;br /&gt;# Required-Stop:     $network $local_fs $remote_fs&lt;br /&gt;# Default-Start:     2 3 4 5&lt;br /&gt;# Default-Stop:      S 0 1 6&lt;br /&gt;# Short-Description: This loads iptables with firewall rules.&lt;br /&gt;# Description:       This loads iptables with firewall rules. Placed this in /etc/init.d.&lt;br /&gt;#                    This isn't technically a daemon control script.&lt;br /&gt;#                    This just puts a familiar interface around iptables.&lt;br /&gt;### END INIT INFO&lt;br /&gt;&lt;br /&gt;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&lt;br /&gt;IF=`route | grep -i 'default' | awk '{print$8}'`&lt;br /&gt;IP=`ifconfig $IF | grep "inet addr" | awk -F":" '{print$2}' | awk '{print $1}'`&lt;br /&gt;IPT="iptables"&lt;br /&gt;NET="any/0"&lt;br /&gt;DNS="203.162.4.190 203.162.4.191"&lt;br /&gt;SERV_TCP="21 22 25 80 443 50000:60000"&lt;br /&gt;SERV_UDP="53 123"&lt;br /&gt;HI_PORTS="1024:65535"&lt;br /&gt;NON_NET="10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/5 169.254.0.0/16 192.0.2.0/24"&lt;br /&gt;OK_ICMP="0 3 4 8 11"&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;   start)&lt;br /&gt;&lt;br /&gt;# Flush any old policies and rules.&lt;br /&gt;&lt;br /&gt;   $IPT -F&lt;br /&gt;   $IPT -P INPUT DROP&lt;br /&gt;   $IPT -P OUTPUT DROP&lt;br /&gt;   $IPT -P FORWARD DROP&lt;br /&gt;&lt;br /&gt;# Allow loopback interface for local services. If you don't use that service then safe comment out its.&lt;br /&gt;&lt;br /&gt;   $IPT -A INPUT -i lo -j ACCEPT&lt;br /&gt;   $IPT -A OUTPUT -o lo -j ACCEPT&lt;br /&gt;   $IPT -A FORWARD -i lo -j ACCEPT&lt;br /&gt;&lt;br /&gt;# Drop illegal packets   &lt;br /&gt;&lt;br /&gt;   $IPT -A INPUT -m state --state INVALID -m limit --limit 1/s -j LOG --log-prefix "INVALID_STATE: "&lt;br /&gt;   $IPT -A INPUT -m state --state INVALID -j DROP&lt;br /&gt;   $IPT -A INPUT -i $IF -s $IP -d $IP -m limit --limit 1/s -j LOG --log-prefix "SPOOFING: "&lt;br /&gt;   $IPT -A INPUT -i $IF -s $IP -d $IP -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags ALL ALL -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags ALL NONE -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags FIN,ACK FIN -s $NET -j DROP&lt;br /&gt;   $IPT -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -s $NET -j DROP&lt;br /&gt;&lt;br /&gt;# New TCP connections must be SYN packets, else DROP&lt;br /&gt;&lt;br /&gt;   $IPT -A INPUT -p tcp ! --syn -m state --state NEW -s $NET -j DROP&lt;br /&gt;&lt;br /&gt;# Drop any packet from private IP&lt;br /&gt;&lt;br /&gt;   for entry in $NON_NET; do&lt;br /&gt;    $IPT -A INPUT -i $IF -s $entry -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "BAD_NET: "&lt;br /&gt;    $IPT -A INPUT -i $IF -s $entry -j DROP&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;# Allow some ICMP packet&lt;br /&gt;&lt;br /&gt;   for item in $OK_ICMP; do&lt;br /&gt;    $IPT -A INPUT -i $IF -s $NET -p icmp --icmp-type $item -m state --state ESTABLISHED \&lt;br /&gt;    -m limit --limit 1/s --limit-burst 1 -j ACCEPT&lt;br /&gt;    $IPT -A OUTPUT -o $IF -s $IP -p icmp --icmp-type $item -m state --state NEW,ESTABLISHED \&lt;br /&gt;    -m limit --limit 1/s --limit-burst 1 -j ACCEPT&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;# Allow DNS packet query to trusted DNS server&lt;br /&gt;&lt;br /&gt;   for entry in $DNS; do&lt;br /&gt;    $IPT -A OUTPUT -o $IF -p udp -s $IP --sport $HI_PORTS -d $entry --dport 53 -m state --state NEW -j ACCEPT&lt;br /&gt;    $IPT -A INPUT -i $IF -p udp -s $entry --sport 53 -d $IP --dport $HI_PORTS -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;# Allow some UDP services&lt;br /&gt;&lt;br /&gt;   for port in $SERV_UDP; do&lt;br /&gt;    $IPT -A INPUT -i $IF -p udp -s $NET --sport $port -d $IP --dport $port -m state --state NEW,ESTABLISHED \&lt;br /&gt;    -m limit --limit 2/s --limit-burst 2 -j ACCEPT&lt;br /&gt;    $IPT -A OUTPUT -o $IF -p udp -s $IP --sport $port -d $NET --dport $port -m state --state ESTABLISHED \&lt;br /&gt;    -m limit --limit 2/s --limit-burst 2 -j ACCEPT&lt;br /&gt;    if test $port -eq 53&lt;br /&gt;    then&lt;br /&gt;       $IPT -A INPUT -i $IF -p udp -s $NET --sport $port -d $IP --dport $port -m state --state NEW,ESTABLISHED -j ACCEPT&lt;br /&gt;       $IPT -A OUTPUT -o $IF -p udp -s $IP --sport $port -d $NET --dport $port -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;    else&lt;br /&gt;       $IPT -A INPUT -i $IF -p udp -s $NET --sport $HI_PORTS -d $IP --dport $port -m state --state NEW -j ACCEPT&lt;br /&gt;       $IPT -A OUTPUT -o $IF -p udp -s $IP --sport $port -d $NET --dport $HI_PORTS -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;    fi&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;# Allow some TCP services&lt;br /&gt;&lt;br /&gt;   for port in $ SERV_TCP; do&lt;br /&gt;    $IPT -A INPUT -p tcp ! --syn -s $NET --sport $HI_PORTS -d $IP --dport $port -m state --state NEW \&lt;br /&gt;    -m limit --limit 1/s -j LOG --log-prefix "INVALID_SERVICE_REQUEST: "&lt;br /&gt;    $IPT -A INPUT -p tcp ! --syn -s $NET --sport $HI_PORTS -d $IP --dport $port -m state --state NEW -j DROP&lt;br /&gt;    #$IPT -A INPUT -i $IF -p tcp --syn -s $NET --sport $HI_PORTS -d $IP --dport $port -m limit --limit 3/s --limit-burst 5 \&lt;br /&gt;    #-m state --state NEW -m connlimit ! --connlimit-above 2 -j ACCEPT&lt;br /&gt;    $IPT -A INPUT -i $IF -p tcp --syn -s $NET --sport $HI_PORTS -d $IP --dport $port -m limit --limit 3/s --limit-burst 5 \&lt;br /&gt;    -m state --state NEW -j ACCEPT&lt;br /&gt;    $IPT -A OUTPUT -o $IF -p tcp ! --syn -s $IP --sport $port -d $NET --dport $HI_PORTS -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;    $IPT -A INPUT -i $IF -p tcp ! --syn -s $NET --sport $HI_PORTS -d $IP --dport $port -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;   done&lt;br /&gt;&lt;br /&gt;# Clean up rules&lt;br /&gt;&lt;br /&gt;    $IPT -A INPUT -i $IF -d $IP -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "BAD_INPUT: "&lt;br /&gt;    $IPT -A INPUT -i $IF -d $IP -j DROP&lt;br /&gt;    $IPT -A OUTPUT -o $IF -d $IP -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "BAD_OUTPUT: "&lt;br /&gt;    $IPT -A OUTPUT -o $IF -d $IP -j DROP&lt;br /&gt;    $IPT -A FORWARD -i $IF -d $IP -m limit --limit 1/s -j LOG --log-level 5 --log-prefix "BAD_FORWARD: "&lt;br /&gt;    $IPT -A FORWARD -i $IF -d $IP -j DROP&lt;br /&gt;   ;;&lt;br /&gt;   stop)&lt;br /&gt;    $IPT -P INPUT ACCEPT&lt;br /&gt;    $IPT -P OUTPUT ACCEPT&lt;br /&gt;    $IPT -P FORWARD ACCEPT&lt;br /&gt;    $IPT -F&lt;br /&gt;    $IPT -X&lt;br /&gt;   ;;&lt;br /&gt;   restart)&lt;br /&gt;    stop&lt;br /&gt;    start&lt;br /&gt;   ;;&lt;br /&gt;   status)&lt;br /&gt;    $IPT -L -v&lt;br /&gt;   ;;&lt;br /&gt;   *)&lt;br /&gt;    echo "Usage: $0 {start|stop|restart|status}" &gt;&amp;amp;2&lt;br /&gt;   exit 1&lt;br /&gt;   ;;&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;exit 0&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;Copyright by me, copyleft by you.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6989945180525825898-8727010683638309821?l=dinhchau.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/8727010683638309821/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6989945180525825898&amp;postID=8727010683638309821' title='1 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/8727010683638309821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/8727010683638309821'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/2008/03/iptables-init-script.html' title='iptables init script'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6989945180525825898.post-7523298159369949309</id><published>2008-03-04T08:26:00.003+07:00</published><updated>2008-12-12T12:46:55.003+07:00</updated><title type='text'>Linux Firewalls</title><content type='html'>&lt;span class="postbody"&gt;Đối với các quản trị viên hệ thống linux thì "Làm thế nào để bảo mật hệ thống?" luôn là một câu hỏi dai dẳng. Bất kể bạn là một người mới bắt đầu đến với linux hay là một quản trị viên có một ít kinh nghiệm câu trả lời chính vẫn là &lt;b&gt;firewall&lt;/b&gt;. Tuy rằng công tác bảo mật liên quan đến rất nhiều khía cạnh, nhưng việc nắm rõ cánh cổng - nơi từng gói tin dữ liệu ra vào hàng ngày sẽ mang đến cho bạn cái nhìn tổng thể về các hoạt động cuả hệ thống mình. Xin trân trọng giới thiệu đến quý vị đọc giả quyển sách &lt;b&gt;Linux Firewalls&lt;/b&gt;, nguồn tham khảo đầy đủ và toàn diện nhất về firewall trên hệ thống linux. Điểm thú vị nhất cuả quyển sách là giới thiệu các loại tấn công phổ biến ở các layer khác nhau cũng như cách phòng thủ trước những loại tấn công này. Ngoài ra cuốn sách cũng giới thiệu một số công cụ bổ sung nhằm phát hiện, ngăn ngừa những cuộc tấn công đang hay sắp diễn ra giúp cho firewall cuả bạn hoạt động một cách trên cả tuyệt vời. Quyển sách đã được Richard Bejtlich đánh giá top những quyển sách hay nhất năm 2007 còn tôi thì đánh giá là một trong những quyển sách đáng được download nhất :D&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IVP2_KiryiA/R8ymXZCXS8I/AAAAAAAABJ8/Y-SJl0j8g8s/s1600-h/0df390b809a09842f3ce5110.L.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_IVP2_KiryiA/R8ymXZCXS8I/AAAAAAAABJ8/Y-SJl0j8g8s/s400/0df390b809a09842f3ce5110.L.jpg" alt="" id="BLOGGER_PHOTO_ID_5173692992729861058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://www.amazon.com/Linux-Firewalls-Detection-Response-iptables/dp/1593271417/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1202451579&amp;amp;sr=8-1"&gt;&lt;b class="sans"&gt;&lt;span id="btAsinTitle"&gt;Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Copyright by me, copyleft by you.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6989945180525825898-7523298159369949309?l=dinhchau.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/7523298159369949309/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6989945180525825898&amp;postID=7523298159369949309' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/7523298159369949309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/7523298159369949309'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/2008/03/linux-firewalls.html' title='Linux Firewalls'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IVP2_KiryiA/R8ymXZCXS8I/AAAAAAAABJ8/Y-SJl0j8g8s/s72-c/0df390b809a09842f3ce5110.L.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6989945180525825898.post-2581265568764988323</id><published>2007-07-25T17:27:00.000+07:00</published><updated>2007-07-25T17:27:36.756+07:00</updated><title type='text'>FreeBSD on usb (2)</title><content type='html'>3. Cài đặt FreeBSD lên usb&lt;br /&gt;&lt;br /&gt;- Đưa usb vào và chạy lệnh sau:&lt;br /&gt;&lt;blockquote&gt;#fdisk -BI /dev/da0&lt;br /&gt;#bsdlabel -B -w /dev/da0s1&lt;br /&gt;#newfs /dev/da0s1a&lt;/blockquote&gt;- Mount usb và cài đặt:&lt;br /&gt;&lt;blockquote&gt;#mount /dev/da0s1a /mnt&lt;br /&gt;#cd /usr/src&lt;br /&gt;#make installworld DESTDIR=/mnt&lt;br /&gt;#cd etc&lt;br /&gt;#make distribution DESTDIR=/mnt&lt;br /&gt;#cd ..&lt;br /&gt;#make installkernel DESTDIR=/mnt&lt;/blockquote&gt;- Tạo fstab và rc.conf:&lt;br /&gt;&lt;blockquote&gt;#cp /etc/fstab /mnt/etc&lt;br /&gt;#ee /mnt/etc/fstab&lt;br /&gt;# Device Mountpoint FStype Options Dump Pass&lt;br /&gt;/dev/da0s1a / ufs rw 1 1&lt;br /&gt;/dev/acd0 /cdrom cd9660 ro,noauto 0 0&lt;br /&gt;#cp /etc/rc.conf /mnt/etc&lt;br /&gt;#umount /mnt&lt;/blockquote&gt;Lưu ý: Tập tin rc.conf là tập tin cấu hình hệ thống quan trọng vì vậy bạn hãy tham khảo &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=rc.conf&amp;apropos=0&amp;amp;sektion=0&amp;manpath=FreeBSD+6.2-RELEASE&amp;amp;format=html"&gt;trang man&lt;/a&gt; cẩn thận để tạo ra cấu hình phù hợp nhất với mình. Sau đó bạn hãy khởi động lại máy tính với usb để chắc chắn rằng nó làm việc tốt :mrgreen:&lt;br /&gt;&lt;br /&gt;4. Cài đặt phần mềm với ports.&lt;br /&gt;&lt;br /&gt;Đến đây chúng ta đã hoàn tất việc cài đặt FreeBSD lên usb, tuy nhiên chỉ có mỗi hệ điều hành. Việc tiếp theo cần làm là cài đặt thêm các ứng dụng yêu thích của mình. Cũng như nhiều bản phân phối linux khác FreeBSD có 1 hệ thống quản lý package riêng và rất độc đáo. Tất cả các pagkage đều được cài đặt từ source và bạn không cần phải quan tâm đến dependencies vì nó sẽ tự động được download và biên dịch.&lt;br /&gt;- Để thực hiện việc này ta cần cài hệ thống ports vào đĩa cứng:&lt;br /&gt;&lt;blockquote&gt;#mkdir /usr/ports&lt;br /&gt;#mkdir /mnt/usr&lt;br /&gt;#mount /dev/ad0s1f /mnt/usr&lt;br /&gt;#mount /dev/acd0 /cdrom&lt;br /&gt;#tar xzvf /cdrom/6.2-RELEASE/ports/ports.tgz -C /mnt/usr&lt;br /&gt;#mount_nullfs /mnt/usr/ports /usr/ports&lt;/blockquote&gt;Từ bây giờ bạn có thể cài đặt bất kỳ software nào bằng cách di chuyển vào thư mục tương ứng và gõ lệnh make install clean. Ví dụ:&lt;br /&gt;&lt;blockquote&gt;#cd /usr/ports/x11-wm/fluxbox&lt;br /&gt;#make install clean&lt;/blockquote&gt;Bạn hãy tham khảo &lt;a href="http://www.freebsd.org/ports/categories-alpha.html"&gt;tại đây&lt;/a&gt; để biết phần mềm nào là được đặt ở đâu. Bạn cũng nên cập nhật ports tree để có được những phiên bản phần mềm mới nhất. Cách thực hiện điều này thì cũng giống như bước 1, có nghĩa là bạn phải cài đặt gói cvsup-without-gui-16.1h và cấu hình ports-supfile.&lt;br /&gt;&lt;blockquote&gt;#cp /usr/share/example/cvsup/ports-supfile /etc&lt;br /&gt;#ee /etc/ports-supfile&lt;/blockquote&gt;Điều chỉnh dòng 51 lại thành *default host=cvsup.freebsd.org và chạy lệnh sau để update ports tree:&lt;br /&gt;&lt;blockquote&gt;#cvsup -g -L 2 /etc/ports-supfile&lt;/blockquote&gt;Bạn cũng nên cài đặt portupgrade (/usr/ports/ports-mgmt/portupgrade) và portaudit (/usr/ports/ports-mgmt/portaudit) để dễ dàng cho việc nâng cấp sau này cũng như nâng cao bảo mật cho các phần mềm được cài đặt.&lt;br /&gt;Cuối cùng thì sau khi đã cài đặt các phần mềm yêu thích của mình xong thì hãy backup usb cẩn thận phòng khi bạn hào phóng tặng không usb cho ai đó :))&lt;div class="blogger-post-footer"&gt;Copyright by me, copyleft by you.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6989945180525825898-2581265568764988323?l=dinhchau.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/2581265568764988323/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6989945180525825898&amp;postID=2581265568764988323' title='3 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/2581265568764988323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/2581265568764988323'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/2007/07/freebsd-on-usb-2.html' title='FreeBSD on usb (2)'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6989945180525825898.post-2466144913453601157</id><published>2007-07-25T11:13:00.000+07:00</published><updated>2008-12-12T12:46:55.480+07:00</updated><title type='text'>FreeBSD on usb (1)</title><content type='html'>Chào các bạn hâm mộ *nix!&lt;br /&gt;&lt;br /&gt;Nhân dịp dụ khị được vài bạn sử dụng FreeBSD nên cũng thấy vui vui :)) Hôm nay rảnh rỗi giới thiệu với các bạn một thủ thuật nhỏ về việc cài đặt FreeBSD lên usb disk. Những lý do chính để cài đặt FreeBSD lên usb disk là:&lt;br /&gt;- Tính di động: Bạn xây dựng 1 hệ điều hành cùng với các ứng dụng yêu thích của mình lên 1 thiết bị và đem nó theo bất cứ nơi nào bạn đến (home, office,...)&lt;br /&gt;- Nâng cao bảo mật: Với việc cài đặt hệ điều hành và ứng dụng lên usb bạn có thể giải phóng hard disk của mình, dùng nó hoàn toàn chỉ trong việc lưu trữ dữ liệu và bạn có thể áp dụng các biện pháp bảo mật cho dữ liệu của mình.&lt;br /&gt;Khuyết điểm: Việc đọc ghi lên usb là khá chậm, tuy vậy chúng ta sẽ cải thiện bằng cách dời những phần tương tác đọc ghi nhiều vào đĩa cứng như swap, /tmp, /usr/ports, /usr/obj,... và tăng thêm RAM :P)&lt;br /&gt;Hiện nay có rất nhiều distro linux được phân phối dưới dạng livecd, tuy nhiên khuyết điểm của chúng (đối với 1 số trường hợp thì nó là ưu điểm :P)) là không thể lưu trữ. Bạn khó có thể bổ sung các ứng dụng yêu thích của mình vào các bản phân phối này. Việc cài đặt chúng lên usb thì cũng khá đơn giản tuy nhiên trong bài này tôi sẽ giới thiệu cho các bạn một cách thức khác xây dựng FreeBSD từ source giúp cho hệ điều hành và ứng dụng của bạn stable hơn.&lt;br /&gt;Nào bây giờ chúng ta bắt đầu thực hiện. Yêu cầu cần có là 1 đĩa cứng tạm (dùng để build FreeBSD) hoặc một phân vùng còn trống trên đĩa cứng tối thiểu cỡ 10GB (OpenOffice build từ source cần 9GB đĩa cứng trống). Bạn nên dùng đĩa cứng tạm nếu có thể, nếu không thì phải backup dữ liệu cẩn thận. An toàn nhất thì nên dùng máy ảo.&lt;br /&gt;&lt;br /&gt;1. Cài đặt FreeBSD lên đĩa cứng (phần này để giới thiệu với những bạn chưa từng cài đặt FreeBSD.)&lt;br /&gt;- &lt;a href="ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.2/"&gt;Download FreeBSD&lt;/a&gt; và khởi động&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IVP2_KiryiA/Rp2NF_sI5SI/AAAAAAAAAAc/sSWWj5jatDQ/s1600-h/screen01.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5088378288133956898" style="margin: 0px auto 10px; display: block; cursor: pointer; text-align: center;" alt="" src="http://3.bp.blogspot.com/_IVP2_KiryiA/Rp2NF_sI5SI/AAAAAAAAAAc/sSWWj5jatDQ/s400/screen01.bmp" border="0" /&gt;&lt;/a&gt;- Chọn Custom -&gt; chọn Partition (3) -&gt; chọn A (Use Entire Disk) -&gt; chọn Q (Quit) (Lưu ý: Trường hợp bạn chỉ có 1 phân vùng trống trên đĩa cứng thì hãy chọn vào phân vùng trống và chọn C (Create Slice) và chọn type là 165 default).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IVP2_KiryiA/Rp2NkvsI5TI/AAAAAAAAAAk/EpAgJNAn19Q/s1600-h/screen02.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5088378816414934322" style="margin: 0px auto 10px; display: block; cursor: pointer; text-align: center;" alt="" src="http://2.bp.blogspot.com/_IVP2_KiryiA/Rp2NkvsI5TI/AAAAAAAAAAk/EpAgJNAn19Q/s400/screen02.bmp" border="0" /&gt;&lt;/a&gt;- Chọn Standard&lt;br /&gt;- Chọn Label (4) -&gt; chọn A (Auto Default) -&gt; chọn Q (Quit).&lt;br /&gt;- Chọn Distribution (5) -&gt; chọn Custom -&gt; chọn base + kernels GENERIC (hoặc SMP nếu bạn có may mắn có 1 hệ thống đa xử lý) + src (chọn all) -&gt; OK -&gt; OK.&lt;br /&gt;- Chọn Media (6) là CD/DVD.&lt;br /&gt;- Chọn Comit (7) và hệ thống sẽ được cài đặt.&lt;br /&gt;- Sau khi cài đặt xong bạn sẽ được hỏi "Visit the general configuration menu for a chance to set any last option" hãy chọn Yes. Bạn sẽ được đưa vào menu sau:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IVP2_KiryiA/Rp2OgPsI5UI/AAAAAAAAAAs/4QJpZP49nGs/s1600-h/screen03.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5088379838617150786" style="margin: 0px auto 10px; display: block; cursor: pointer; text-align: center;" alt="" src="http://4.bp.blogspot.com/_IVP2_KiryiA/Rp2OgPsI5UI/AAAAAAAAAAs/4QJpZP49nGs/s400/screen03.bmp" border="0" /&gt;&lt;/a&gt;Tại đây bạn có thể tinh chỉnh các thứ như root passwd, time zone, add user, config network,... Sau khi làm xong chọn Exit 3 lần máy tính sẽ khởi động lại. Nếu không có trục trặc thì chúc mừng bạn bạn đã cài đặt FreeBSD thành công :mrgreen:&lt;br /&gt;&lt;br /&gt;2. Cập nhật mã nguồn và tiến hành biên dịch hệ thống.&lt;br /&gt;&lt;br /&gt;- Sau khi khởi động lại vào hệ thống thì bạn cần cài đặt gói cvsup-without-gui-16.1h để cập nhật mã nguồn.&lt;br /&gt;&lt;blockquote&gt;#/usr/sbin/sysintall&lt;/blockquote&gt;- Chọn Configure -&gt; chọn packages -&gt; chọn FTP (nếu chọn CD/DVD thì bạn phải download ISO image thứ 2 của FreeBSD) -&gt; chọn net -&gt; chọn cvsup-without-gui-16.1h -&gt; OK -&gt; Install -&gt; OK -&gt; Exit.&lt;br /&gt;&lt;blockquote&gt;#cp /usr/share/example/cvsup/stable-supfile /etc&lt;/blockquote&gt;- Điều chỉnh cấu hình:&lt;br /&gt;&lt;blockquote&gt;#ee /etc/stable-supfile&lt;/blockquote&gt;- Điều chỉnh dòng 68 lại thành *default host=cvsup.freebsd.org -&gt; ESC -&gt; leave and save. Bạn có thể tham khảo danh sách &lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html#CVSUP-MIRRORS"&gt;mirror các cvsup server&lt;/a&gt; để lựa chọn 1 server thích hợp.&lt;br /&gt;- Chạy lệnh sau để update source code:&lt;br /&gt;&lt;blockquote&gt;#cvsup -g -L 2 /etc/stable-supfile&lt;/blockquote&gt;- Trong lúc chờ đợi chuyển sang terminal thứ 2 và soạn thảo file cấu hình kernel.&lt;br /&gt;&lt;blockquote&gt;#ee /usr/src/sys/i386/conf/MYKERNEL&lt;/blockquote&gt;Bởi vì nội dung của file cấu hình kernel là khá nhiều nên tôi sẽ đính kèm để các bạn download về tham khảo, ngoài ra còn có 1 lưu ý ở đây. File cấu hình kernel này bao gồm tất cả các cấu hình phần cứng mà FreeBSD hỗ trợ, trừ trường hợp bạn có ý muốn sử dụng cho nhiều máy tính khác nhau còn không thì bạn hãy tìm hiểu kỹ phần cứng máy tính của mình và loại bỏ những phần không liên quan, chi tiết về các loại phần cứng được FreeBSD hỗ trợ các bạn có thể tham khảo &lt;a href="http://www.freebsd.org/releases/6.2R/hardware-i386.html"&gt;tại đây&lt;/a&gt;, để loại bỏ những phần không liên quan trong file cấu hình kernel thì chỉ cần đánh dấu # vào dòng cần loại bỏ.&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt; - Tạo make.conf:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;#ee /etc/make.conf&lt;/p&gt;&lt;p&gt;# $FreeBSD: src/share/examples/etc/make.conf,v 1.265.2.8 2006/09/13 08:39:16 des Exp $&lt;br /&gt;#&lt;br /&gt;# The CPUTYPE variable controls which processor should be targeted for&lt;br /&gt;# generated code.  This controls processor-specific optimizations in&lt;br /&gt;# certain code (currently only OpenSSL) as well as modifying the value&lt;br /&gt;# of CFLAGS to contain the appropriate optimization directive to gcc.&lt;br /&gt;# The automatic setting of CFLAGS may be overridden using the&lt;br /&gt;# NO_CPU_CFLAGS variable below.&lt;br /&gt;# Currently the following CPU types are recognized:&lt;br /&gt;#   Intel x86 architecture:&lt;br /&gt;#       (AMD CPUs)    opteron athlon64 athlon-mp athlon-xp athlon-4&lt;br /&gt;#            athlon-tbird athlon k8 k6-3 k6-2 k6 k5&lt;br /&gt;#       (Intel CPUs)    nocona pentium4[m] prescott pentium3[m] pentium-m&lt;br /&gt;#            pentium2 pentiumpro pentium-mmx pentium i486 i386&lt;br /&gt;#       (Via CPUs)    c3 c3-2&lt;br /&gt;#   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4&lt;br /&gt;#   AMD64 architecture: opteron, athlon64, nocona&lt;br /&gt;#   Intel ia64 architecture: itanium2, itanium&lt;br /&gt;#&lt;br /&gt;# (?= allows to buildworld for a different CPUTYPE.)&lt;br /&gt;#&lt;br /&gt;CPUTYPE=pentium4&lt;br /&gt;#&lt;br /&gt;CFLAGS= -O2 -pipe&lt;br /&gt;COPTFLAGS= -O2 -pipe&lt;br /&gt;#&lt;br /&gt;INSTALL=install -C&lt;br /&gt;#&lt;br /&gt;NO_ATM=        # do not build ATM related programs and libraries&lt;br /&gt;NO_DICT=        # do not build the Webster dictionary files&lt;br /&gt;NO_I4B=        # do not build isdn4bsd package&lt;br /&gt;NO_INFO=        # do not make or install info files&lt;br /&gt;NO_IPFILTER=        # do not build IP Filter package&lt;br /&gt;NO_KERBEROS=        # do not build and install Kerberos 5 (KTH Heimdal)&lt;br /&gt;NO_MAN=        # do not build manual pages&lt;br /&gt;NO_NIS=        # do not build NIS support and related programs.&lt;br /&gt;NO_PROFILE=        # Avoid compiling profiled libraries&lt;br /&gt;NO_RCMDS=        # do not build or install BSD r* commands (rsh, etc).&lt;br /&gt;NO_SENDMAIL=        # do not build sendmail and related programs&lt;br /&gt;NO_SHAREDOCS=        # do not build the 4.4BSD legacy docs&lt;br /&gt;NO_BIND=        # Do not build any part of BIND&lt;br /&gt;NO_BIND_DNSSEC=    # Do not build dnssec-keygen, dnssec-signzone&lt;br /&gt;NO_BIND_ETC=        # Do not install files to /etc/namedb&lt;br /&gt;NO_BIND_LIBS_LWRES=    # Do not install the lwres library&lt;br /&gt;NO_BIND_MTREE=        # Do not run mtree to create chroot directories&lt;br /&gt;NO_BIND_NAMED=        # Do not build named, rndc, lwresd, etc.&lt;br /&gt;NO_BIND_UTILS=        # Do not build dig, host, nslookup, nsupdate&lt;br /&gt;#&lt;br /&gt;MAKE_IDEA=yes        # IDEA (128 bit symmetric encryption)&lt;br /&gt;#&lt;br /&gt;KERNCONF=MYKERNEL&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;Lưu ý:&lt;p&gt;- Dòng CPUTYPE, bạn hãy chọn đúng loại CPU của mình.&lt;br /&gt;- Sendmail và bind là 2 phần mềm nổi tiếng và rất lâu đời trong thế giới *nix, vì thế không có gì lạ khi nó mặc định được cài đặt trong hầu hết các phiên bản UNIX cũng như linux. Cá nhân tôi không thích dùng chúng vì thế trong file cấu hình make.conf tôi lựa chọn là không build các software này, nếu bạn thích dùng nó thì đơn giản thêm # vào các dòng tương ứng. Ngoài ra các bạn có thể tham khảo &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=make.conf&amp;apropos=0&amp;amp;sektion=0&amp;manpath=FreeBSD+6.2-RELEASE&amp;amp;format=html"&gt;trang man&lt;/a&gt; để biết thêm chi tiết.&lt;/p&gt;&lt;p&gt;Phần chuẩn bị đã xong, chuyển sang terminal 1 coi source đã được update xong chưa, nếu mọi thứ đã xong hãy chạy lệnh sau để tiến hành biên dịch hệ thống:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;#cd /usr/src&lt;br /&gt;#make buildworld &amp;&amp;amp; make buildkernel&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Trên máy Pentium4 của tôi phải mất gần 2 giờ để công việc này hoàn tất, vì vậy bạn hãy pha 1 ly cafe và bật tivi theo dõi trận Việt Nam - IRAQ trong thời gian chờ đợi :D)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Copyright by me, copyleft by you.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6989945180525825898-2466144913453601157?l=dinhchau.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/2466144913453601157/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6989945180525825898&amp;postID=2466144913453601157' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/2466144913453601157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/2466144913453601157'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/2007/07/freebsd-on-usb.html' title='FreeBSD on usb (1)'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_IVP2_KiryiA/Rp2NF_sI5SI/AAAAAAAAAAc/sSWWj5jatDQ/s72-c/screen01.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6989945180525825898.post-8637649328629101944</id><published>2007-07-25T11:10:00.000+07:00</published><updated>2007-07-25T11:10:07.081+07:00</updated><title type='text'>Mã hóa root file system với FreeBSD geli</title><content type='html'>Chào các bạn hâm mộ *nix!&lt;br /&gt;&lt;br /&gt;Kể từ lúc tôi đọc được bài viết của mrro &lt;a href="http://vnhacker.blogspot.com/2006/11/nu-ti-l-huyremy.html"&gt;"Nếu tôi là Huyremy"&lt;/a&gt; tại blog bảo mật thông tin, tôi thực sự ngỡ ngàng. Đó là kể từ lúc tôi biết sử dụng máy tính đến nay tôi chưa áp dụng bất kỳ một biện pháp nào để bảo vệ dữ liệu của mình. Điều này cũng giống như việc bạn cài đặt một phiên bản windows lên máy tính của mình mà không cài thêm cho nó một chương trình chống virus. Kết cục là điều dễ thấy. Tuy việc so sánh này có hơi khập khiễng nhưng nó có cùng một lý lẽ: Nếu bạn không biết tự bảo vệ mình thì ai khác sẽ làm điều đó đây? Nếu bạn không có biện pháp nào để bảo vệ dữ liệu thì bất kỳ ai cũng có thể đọc được nó. Thật chẳng có ý nghĩa gì khi bạn tạo ra một hệ thống được bảo mật chặt chẽ với mật khẩu root dài tới hàng trăm ký tự, thế nhưng bất kỳ ai với một đĩa livecd đều có thể mount nó lên với quyền root mà không gặp phải một sự kháng cự nào. Hãy nghĩ đến viễn cảnh chiếc máy laptop yêu dấu hoặc ổ đĩa usb chứa toàn dữ liệu nhạy cảm mà bạn vô tình đánh rơi ở đâu đó.&lt;br /&gt;Tuy rằng trong bài viết đó mrro có mạnh mẽ khuyên rằng đừng có làm theo nhưng tôi nghĩ rằng bảo vệ dữ liệu của mình là một việc nên làm. Bài viết của mrro có giới thiệu công cụ &lt;a href="http://luks.endorphin.org/"&gt;LKUS&lt;/a&gt; dành cho linux, nhưng tôi đang dùng FreeBSD và tôi tự hỏi không biết hệ điều hành này có công cụ nào tương tự. Thật ngạc nhiên là nó có tới hai công cụ &lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/disks-encrypting.html"&gt;gbde và geli&lt;/a&gt;. Tuy nhiên trong bài này tôi chỉ sử dụng geli vì khả năng mã hóa cả root file system. Ưu điểm của việc mã hóa cả root file system là bạn không thể đọc được bất kỳ một thông tin nào nếu bạn không cung cấp được 1 keyfile và 1 passphrase.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Cảnh báo quan trọng:&lt;/span&gt; Nếu bạn thích thú với tính năng này và có ý định làm theo thì hãy backup tất cả dữ liệu.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;Mẹo:&lt;/span&gt; Trước khi thực hiện trên máy thật bạn có thể dùng máy ảo.&lt;br /&gt;&lt;br /&gt;Ưu điểm thì đã thấy, tuy nhiên cũng nên nói thêm rằng bảo mật và tiện dụng là 2 khái niệm mâu thuẫn nhau. Nếu bạn sử dụng tính năng này thì phải hết sức cẩn thận, nếu bạn làm mất keyfile, hoặc đĩa cứng của bạn gặp vấn đề thì dữ liệu của bạn sẽ ra đi không phải xa mà là... rất xa.&lt;br /&gt;&lt;br /&gt;Bây giờ chúng ta bắt đầu thực hiện. Yêu cầu cần có là 1 ổ CDRW, 1 cdrom &lt;a href="ftp://ftp.freebsd.org/pub/FreeBSD"&gt;FreeBSD&lt;/a&gt; phiên bản 6.1 hoặc 6.2 và 1 đĩa usb để lưu keyfile, &lt;a href="http://www.frenzy.org.ua/"&gt;Frenzy&lt;/a&gt; để tạo đĩa khởi động.&lt;br /&gt;&lt;br /&gt;1. Boot máy với đĩa FreeBSD và chọn FixIt -&gt; CD/DVD -&gt; có shell. Gõ lệnh sau ở shell:&lt;br /&gt;&lt;blockquote&gt;FixIt# ln -s /dist/boot/kernel /boot/kernel&lt;br /&gt;FixIt# ln -s /dist/lib /lib&lt;br /&gt;FixIt# geli load&lt;/blockquote&gt;2. Gắn usb disk vào và tạo keyfile:&lt;br /&gt;&lt;blockquote&gt;FixIt# mkdir /mnt/umass&lt;br /&gt;FixIt# mount_msdosfs /dev/da0s1 /mnt/umass&lt;br /&gt;FixIt# dd if=/dev/random of=/mnt/umass/ad0.key bs=128k count=1&lt;br /&gt;FixIt# geli init -b -l 256 -K /mnt/umass/ad0.key /dev/ad0&lt;br /&gt;Enter new passphrase: &lt;-- Nhập vào passphare&lt;br /&gt;Reenter new passphrase: &lt;-- Xác nhận passphare&lt;br /&gt;FixIt# geli attach -k /mnt/umass/ad0.key /dev/ad0&lt;br /&gt;Enter passphrase: &lt;-- Nhập vào passphare&lt;/blockquote&gt;Sau bước này đĩa cứng của bạn đã ở chế độ mã hóa.&lt;br /&gt;&lt;br /&gt;3. Phân vùng đĩa cứng và cài hệ điều hành:&lt;br /&gt;&lt;blockquote&gt;FixIt# bsdlabel -w /dev/ad0.eli&lt;br /&gt;FixIt# EDITOR=/mnt2/usr/bin/ee; export EDITOR &lt;-- thay đổi text editor sang ee&lt;br /&gt;FixIt# bsdlabel -e /dev/ad0.eli&lt;/blockquote&gt;Bạn sẽ nhận được 1 màn hình có dạng như sau:&lt;br /&gt;&lt;blockquote&gt;# /dev/ad0.eli 8 partitions:&lt;br /&gt;# size offset fstype [fsize bsize bps/cpg]&lt;br /&gt;a: 78200413 16 unused 0 0&lt;br /&gt;c: 78200431 0 unused 0 0 # "raw" part, don't edit&lt;/blockquote&gt;Tùy theo dung lượng ổ cứng mà bạn có mà điều chỉnh cho hợp lý, ở đây tôi có ổ cứng 40GB. Tôi sẽ điều chỉnh như sau:&lt;br /&gt;&lt;blockquote&gt;# /dev/ad0.eli 8 partitions:&lt;br /&gt;# size offset fstype [fsize bsize bps/cpg]&lt;br /&gt;a: 256M 0 4.2BSD 0 0&lt;br /&gt;b: 934M * swap&lt;br /&gt;c: 78200431 0 unused 0 0 # "raw" part, don't edit&lt;br /&gt;d: 4096M * 4.2BSD 0 0&lt;br /&gt;e: 8192M * 4.2BSD 0 0&lt;br /&gt;f: 512M * 4.2BSD 0 0&lt;br /&gt;g: * * 4.2BSD 0 0&lt;/blockquote&gt;4. Format file system:&lt;br /&gt;&lt;blockquote&gt;FixIt# newfs /dev/ad0.elia&lt;br /&gt;FixIt# newfs /dev/ad0.elid&lt;br /&gt;FixIt# newfs /dev/ad0.elie&lt;br /&gt;FixIt# newfs /dev/ad0.elif&lt;br /&gt;FixIt# newfs /dev/ad0.elig&lt;/blockquote&gt;5. Mount file system và cài đặt:&lt;br /&gt;&lt;blockquote&gt;FixIt# mkdir /mnt/root; mount /dev/ad0.elia /mnt/root&lt;br /&gt;FixIt# cd /mnt/root; mkdir tmp home var usr&lt;br /&gt;FixIt# mount /dev/ad0.elid /mnt/root/var&lt;br /&gt;FixIt# mount /dev/ad0.elie /mnt/root/usr&lt;br /&gt;FixIt# mount /dev/ad0.elif /mnt/root/tmp&lt;br /&gt;FixIt# mount /dev/ad0.elig /mnt/root/home&lt;br /&gt;FixIt# DESTDIR=/mnt/root; export DESTDIR &lt;-- thay đổi biến môi trường cài đặt&lt;br /&gt;FixIt# cd /dist/6.1-RELEASE/base (Nếu dùng phiên bản 6.2 thì đổi là 6.2-RELEASE)&lt;br /&gt;FixIt# ./install.sh&lt;br /&gt;FixIt# cd ../kernels&lt;br /&gt;FixIt# ./install.sh generic (đổi lại là ./install.sh smp nếu bạn may mắn có 1 hệ thống đa xử lý)&lt;br /&gt;FixIt# cd ../manpages&lt;br /&gt;FixIt# ./install.sh&lt;br /&gt;FixIt# cd ../ports&lt;br /&gt;FixIt# ./install.sh&lt;br /&gt;FixIt# cd ../src&lt;br /&gt;FixIt# ./install.sh all&lt;br /&gt;FixIt# rmdir /mnt/root/boot/kernel&lt;br /&gt;FixIt# mv /mnt/root/boot/GENERIC /mnt/root/boot/kernel (nếu SMP thì đổi lại là mv /mnt/root/boot/SMP /mnt/root/boot/kernel)&lt;/blockquote&gt;6. Tạo fstab:&lt;br /&gt;&lt;blockquote&gt;FixIt# ee /mnt/root/etc/fstab&lt;br /&gt;# Device Mountpoint FStype Options Dump Pass&lt;br /&gt;/dev/ad0.elib none swap sw 0 0&lt;br /&gt;/dev/ad0.elia / ufs rw 1 1&lt;br /&gt;/dev/ad0.elif /tmp ufs rw 2 2&lt;br /&gt;/dev/ad0.elie /usr ufs rw 2 2&lt;br /&gt;/dev/ad0.elid /var ufs rw 2 2&lt;br /&gt;/dev/ad0.elig /home ufs rw 2 2&lt;br /&gt;/dev/acd0 /cdrom cd9660 ro,noauto 0 0&lt;/blockquote&gt;7. Tạo đĩa khởi động. Đây là bước khó khăn và quan trọng. Bởi vì ổ đĩa cứng của bạn đã mã hóa hết nên máy tính không thể đọc được bất kỳ 1 thông tin nào, vì vậy bạn phải tạo 1 đĩa khởi động chưa mã hóa, trong đó có chứa keyfile để khởi động vào ổ cứng mã hóa.&lt;br /&gt;&lt;blockquote&gt;FixIt# mkdir /mnt/umass/cdboot&lt;br /&gt;FixIt# cp -Rpv /mnt/root/boot /mnt/umass/cdboot&lt;br /&gt;FixIt# mkdir /mnt/umass/cdboot/boot/keys&lt;br /&gt;FixIt# cp /mnt/umass/ad0.key /mnt/umass/cdboot/boot/keys&lt;/blockquote&gt;Tạo fstab cho cdboot:&lt;br /&gt;&lt;blockquote&gt;FixIt# mkdir /mnt/umass/cdboot/etc&lt;br /&gt;FixIt# ee /mnt/umass/cdboot/etc/fstab&lt;br /&gt;# Device Mountpoint FStype Options Dump Pass&lt;br /&gt;/dev/ad0.elia / ufs rw 1 1&lt;/blockquote&gt;Tạo loader.conf để nạp module geli vào kernel lúc khởi động và cấu hình keyfile:&lt;br /&gt;&lt;blockquote&gt;FixIt# ee /mnt/cdboot/boot/loader.conf&lt;br /&gt;geom_eli_load="YES"&lt;br /&gt;geli_ad0_keyfile0_load="YES"&lt;br /&gt;geli_ad0_keyfile0_type="ad0:geli_keyfile0"&lt;br /&gt;geli_ad0_keyfile0_name="/boot/keys/ad0.key"&lt;/blockquote&gt;Nếu bạn dùng phiên bản 6.1 thì có 1 bug với kdbmux. Bug này làm cho lúc khởi động bạn không thể nhập passpharse. Hãy điều chỉnh như sau:&lt;br /&gt;&lt;blockquote&gt;FixIt# ee /mnt/umass/cdboot/device.hints&lt;br /&gt;...&lt;br /&gt;hint.kdbmux.0.disabled="1"&lt;/blockquote&gt;Kế tiếp chúng ta boot Frenzy và tạo đĩa khởi động:&lt;br /&gt;&lt;blockquote&gt;# mkdir /mnt/umass&lt;br /&gt;# mount_msdosfs /dev/da0s1 /mnt/umass&lt;br /&gt;# cd /mnt/umass&lt;br /&gt;# mkisofs -R -U -V "Boot Encrypted" -no-emul-boot -b boot/cdboot -o be.iso /mnt/umass/cdboot&lt;/blockquote&gt;Bạn đã tạo được iso boot rồi, hãy burn nó và khởi động. Chúc may mắn.&lt;br /&gt;&lt;br /&gt;Tài liệu tham khảo:&lt;br /&gt;&lt;a href="http://events.ccc.de/congress/2005/fahrplan/attachments/586-paper_Complete_Hard_Disk_Encryption.pdf"&gt;Complete Hard Disk Encryption&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Copyright by me, copyleft by you.&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6989945180525825898-8637649328629101944?l=dinhchau.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dinhchau.blogspot.com/feeds/8637649328629101944/comments/default' title='Đăng Nhận xét'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6989945180525825898&amp;postID=8637649328629101944' title='0 Nhận xét'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/8637649328629101944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6989945180525825898/posts/default/8637649328629101944'/><link rel='alternate' type='text/html' href='http://dinhchau.blogspot.com/2007/03/m.html' title='Mã hóa root file system với FreeBSD geli'/><author><name>pnco</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
