tag:blogger.com,1999:blog-2903917470342295622024-03-05T23:14:51.487+08:00不只是資安More than securityAnonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.comBlogger250125tag:blogger.com,1999:blog-290391747034229562.post-49134640421496080212016-09-08T17:36:00.000+08:002016-09-08T19:04:08.397+08:00[工具介紹] 利用 collectd + InfluxDB + Grafana 監測系統效能傳統上用來監測網路流量、系統效能數據的常用工具多以 RRD 為基本的技術,這類工具包含 MRTG 與 Cacti。RRD 有幾個明顯的缺點,其中一個就是資料的解析度會隨著時間的過去而降低。<br /><p />
例如在 Cacti 中,過去 24 小時的流量圖表是長這樣:<br /><p />
<a href="https://lh3.googleusercontent.com/-NlQiRqwAn4c/V8-anGsYlxI/AAAAAAADvhU/WQxVmNJaVGs/s1600-h/image10.png"><img alt="image" height="192" src="https://lh3.googleusercontent.com/-UhuFZnlpq8M/V8-ao56gzYI/AAAAAAADvhY/9KJkWF9t9DI/image_thumb8.png?imgmax=800" style="display: inline;" title="image" width="480" /></a><br /><p />
但是一周前的 24 小時的流量圖表就變成這般可怕的模樣:<br /><p />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrE893ZC3xcjvUNro0SnbgPIBEQL7S4kmjXm6PbKxAsrQg4fOGEI7v_6Gas3N61D3OntZPXZuJm5a6MLUcP8G3O2dYdt5cMrZX0sapgkbtOBDw-e50sZVxZiC3XLf4BbOORPSsJP-tyZ28/s1600-h/image15.png"><img alt="image" border="0" height="190" src="https://lh3.googleusercontent.com/-0EO6Y_sSo2c/V8-asBwc_nI/AAAAAAADvhg/Ip5--BrdcOQ/image_thumb11.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="480" /></a><br /><p />
當你不幸地需要歷史數據資料時,別說要如何進行分析了,光拿出這種圖表就需要莫大的勇氣。<br /><p />
在講究高清不失真的這個年代,以 RRD 為基礎的工具已經漸漸不符合我們所需。<br /><p />
目前比較常見用來記錄時間數據的工具,應以 ELK stack 為首。ELK stack 以 Elasticsearch 為核心,可用來分析各式各樣的資料。這個特性是它的強項,不過在某些時候卻也變成它的弱點 (過於複雜)。而我今天要介紹的 collectd + InfluxDB + Grafana,正是以處理時間數據為主,所以在製作與時間數據相關的圖表時會更為簡化。<br />
Grafana 本身類似 ELK 的 Kibana,主要作為圖表呈現的部分。而資料來源的部分,除了 InfluxDB 之外,像是 Graphite、OpenTSDB、甚至是 Elasticsearch 也都可以支援。在此架構中,collectd 會負責收集作業系統的效能數據,並將之”餵進” InfluxDB,最後再透過 Grafana 的圖表予以呈現。<br /><p />
在今天的範例中,我將示範如何在 CentOS 7 中利用 collectd + InfluxDB + Grafana 建置一個呈現系統效能數據的儀表板。需特別注意的是,為了簡化範例的說明,所有的套件皆安裝在同一個系統 (IP 位址為 192.168.111.241) 下。而在實務上,這三個套件通常應分散在不同的系統上。<br /><p />
<h3>
安裝 InfluxDB</h3>
<ol>
<li>透過官方 RPM Repo 安裝 InfluxDB 套件</li>
<pre class="brush: shell">cat<<EOF>/etc/yum.repos.d/influxdb.repo<br />[influxdb]<br />name = InfluxDB Repository - RHEL $releasever<br />baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable<br />enabled = 1<br />gpgcheck = 1<br />gpgkey = https://repos.influxdata.com/influxdb.key<br />EOF
yum install influxdb -y
systemctl enable influxdb.service
systemctl start influxdb.service</pre>
<li>配置防火牆</li>
<pre class="brush: shell">cat<<EOF>/etc/firewalld/services/influxdb.xml<br /><?xml version="1.0" encoding="utf-8"?><br /><service><br /> <short>InfluxDB</short><br /> <description>InfluxDB is an open source time series database with no external dependencies. It's useful for recording metrics, events, and performing analytics.</description><br /> <port protocol="tcp" port="8083"/><br /> <port protocol="tcp" port="8086"/><br /></service><br />EOF
chmod 600 /etc/firewalld/services/influxdb.xml
firewall-cmd --add-service=influxdb --permanent
firewall-cmd --reload </pre>
<li> 透過指令 influx 進入 influxdb 命令列模式,並輸入下列命令創建管理者帳密 </li>
<pre class="brush: shell">create user admin with password 'password' with all privileges; </li>
exit</pre>
<li> 利用瀏覽器連結 influxdb 管理介面,網址是 http://192.168.111.241:8083,應可看到類似下列畫面<br /><a href="https://lh3.googleusercontent.com/-2ve-m5S2ozg/V8-atrDdu7I/AAAAAAADvhk/HxBxcjSmy1k/s1600-h/0001%25255B4%25255D.png"><img alt="0001" border="0" height="272" src="https://lh3.googleusercontent.com/-iYVamR05Ts4/V8-avN_eb4I/AAAAAAADvho/HPZAUFF2rks/0001_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0001" width="480" /></a></li></ol>
<br /><p />
<h3>
安裝 Grafana</h3>
<ol>
<li>透過官方 RPM Repo 安裝 Grafana 套件</li>
<pre class="brush: shell">cat<<EOF>/etc/yum.repos.d/grafana.repo<br />[grafana]<br />name=grafana<br />baseurl=https://packagecloud.io/grafana/stable/el/6/\$basearch<br />repo_gpgcheck=1<br />enabled=1<br />gpgcheck=1<br />gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana<br />sslverify=1<br />sslcacert=/etc/pki/tls/certs/ca-bundle.crt<br />EOF
yum install grafana –y
systemctl enable grafana-server.service
systemctl start grafana-server.service</pre>
<li>配置防火牆</li>
<pre class="brush: shell">cat<<EOF>/etc/firewalld/services/grafana.xml<br /><?xml version="1.0" encoding="utf-8"?><br /><service><br /> <short>Grafana</short><br /> <description>Grafana provides a powerful and elegant way to create, explore, and share dashboards and data with your team and the world.</description><br /> <port protocol="tcp" port="3000"/><br /></service><br />EOF
chmod 600 /etc/firewalld/services/grafana.xml
firewall-cmd --add-service=grafana --permanent
firewall-cmd --reload</pre>
</ol>
<h3>
</h3>
<h3>
設定 influxdb collectd plugin</h3>
<ol>
<li>安裝 collectd 套件</li>
<pre class="brush: shell">yum install collectd -y</pre>
<li>修改檔案 /etc/influxdb/influxdb.conf,將 [[collectd]] 區塊的
<pre class="brush: text">enabled = false</pre>
改為
<pre class="brush: text">enabled = true
bind-address = ":25826" # the bind address
database = "collections" # Name of the database that will be written to
retention-policy = ""<br />batch-size = 5000 # will flush if this many points get buffered
batch-pending = 10 # number of batches that may be pending in memory
batch-timeout = "10s"<br />read-buffer = 0 # UDP read buffer size, 0 means to use OS default
typesdb = "/usr/share/collectd/types.db"
#enabled = false</pre>
<li>重新啟動服務</li>
<pre class="brush: shell">systemctl restart influxdb.service</pre>
<li>配置防火牆</li>
<pre class="brush: shell">cat<<EOF>/etc/firewalld/services/collectd.xml<br /><?xml version="1.0" encoding="utf-8"?><br /><service><br /> <short>collectd</short><br /> <description>collectd daemon for InfluxDB</description><br /> <port protocol="udp" port="25826"/><br /></service><br />EOF
firewall-cmd --add-service=collectd --permanent
firewall-cmd --reload</pre>
<li>透過指令 influx 進入 influxdb 命令列模式,並輸入下列命令創建資料庫與存取帳密</li>
<pre class="brush: shell">CREATE DATABASE collections
CREATE USER collectdrw WITH PASSWORD 'readwrite'
GRANT ALL ON collections to collectdrw
CREATE USER collectdread WITH PASSWORD 'readonly'
GRANT READ ON collections TO collectdread
exit</pre>
</ol><p />
<h3>
設定 collectd for influxdb</h3>
這個動作需在需收集效能數據的各主機上分別執行。
<ol>
<li> 設定 collectd 服務所需的外掛。在此範例中我們沒有另外新增數據收集的外掛,僅增加了將資料送往 InfluxDB 的外掛。</li>
<pre class="brush: shell">cat<<EOF>/etc/collectd.d/network.conf
Hostname "grafana"
FQDNLookup false
LoadPlugin network
LoadPlugin uptime
<Plugin network>
Server "192.168.111.241" "25826"
</Plugin>
EOF
systemctl enable collectd.service
systemctl start collectd.service</pre>
<li>回到 influxdb 的管理介面,重整後在 Database 下拉式選單中應可看到多了一個名為 collections 的資料庫。<br /><a href="https://lh3.googleusercontent.com/-R6DoDPxGXP4/V8-awbcyuII/AAAAAAADvhs/YYH-aHBVtxo/s1600-h/0002%25255B4%25255D.png"><img alt="0002" border="0" height="272" src="https://lh3.googleusercontent.com/-A6oG3ga0Ag0/V8-ax9OqVHI/AAAAAAADvhw/ttBytCF2dTA/0002_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0002" width="480" /></a> </li>
<li>選取 collections 後,在 Query Templates 中選取 Show Measurements。<br /><a href="https://lh3.googleusercontent.com/-EIp0xT_xagY/V8-azmMZ5FI/AAAAAAADvh0/GO7imPGaE-E/s1600-h/0003%25255B4%25255D.png"><img alt="0003" border="0" height="272" src="https://lh3.googleusercontent.com/-GR3FMYWxhss/V8-a04ApvZI/AAAAAAADvh4/e3eY_bVqDm4/0003_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0003" width="480" /></a> </li>
<li>按下 Enter 後,應可看到類似下面的結果,表示 collections 中已有 cpu_value 等數據。<br /><a href="https://lh3.googleusercontent.com/-Zha25TK6Qv8/V8-a2gGQ38I/AAAAAAADvh8/S2BN8G8Tg9o/s1600-h/0004%25255B4%25255D.png"><img alt="0004" border="0" height="272" src="https://lh3.googleusercontent.com/-9wkQc5BKODw/V8-a4fc0kkI/AAAAAAADviA/uY3h5SuZyuk/0004_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0004" width="480" /></a> </li>
<li>接著,我們輸入 SHOW TAG KEYS FROM "cpu_value" 並按下 Enter,應可看到類似下列畫面。結果顯示 cpu_value 包含四個 key,分別為 host、instance、type 以及 type_instance。<br /><a href="https://lh3.googleusercontent.com/-2Hgw2G-CT-E/V8-a5hZOolI/AAAAAAADviE/jS_KHQs76fU/s1600-h/0005%25255B4%25255D.png"><img alt="0005" border="0" height="272" src="https://lh3.googleusercontent.com/-6frJMst-FLA/V8-a7LilheI/AAAAAAADviI/voY6K28mDi0/0005_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0005" width="480" /></a> </li>
<li>接著,我們輸入 SHOW TAG VALUES FROM "cpu_value" WITH KEY = "host" 並按下 Enter,應可看到類似下列畫面。結果顯示 host 這個 key 的內容僅包含 grafana,也就是我們目前唯一已經設定過的 collectd 服務主機名稱。<br /><a href="https://lh3.googleusercontent.com/-1_CBggY32Wg/V8-a8YUttXI/AAAAAAADviM/85ryEclHlYk/s1600-h/0006%25255B4%25255D.png"><img alt="0006" border="0" height="272" src="https://lh3.googleusercontent.com/-KanhP4k15VI/V8-a-BfDEgI/AAAAAAADviQ/0aqCXcLnBpg/0006_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0006" width="480" /></a> </li>
<li>接著,我們輸入 SHOW TAG VALUES FROM "cpu_value" WITH KEY = "host" 並按下 Enter,應可看到類似下列畫面。結果顯示 InfluxDB 已確實收到來自於 collectd 服務的效能數據。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVc0gD9BZhvUbdp7O8XcW_vopbvcmLbyxOlqjWU-lqdssCiIKwav89OfKVO-xBgClafjFiZlx3-B9zLHPBT9KNnNJMBvllbEsDrRyBrk_daPu9T5EkrVe6pzo3f8mdhbm9VTG85cWBr6t0/s1600-h/0007%25255B4%25255D.png"><img alt="0007" border="0" height="272" src="https://lh3.googleusercontent.com/-Or8jyMymipQ/V8-bAl8gmKI/AAAAAAADviY/0EooxGtzRHw/0007_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0007" width="480" /></a></li>
</ol><p />
<h3>
設定 Grafana Dashboard</h3>
<ol>
<li>利用瀏覽器連結 Grafana 管理介面,網址是 <a href="http://192.168.111.241:3000/">http://192.168.111.241:3000</a>,應可看到類似下列畫面<br /><a href="https://lh3.googleusercontent.com/-2CMbFK8n9oU/V8-bCk10LwI/AAAAAAADvic/t_VpwTInXsA/s1600-h/0008%25255B4%25255D.png"><img alt="0008" border="0" height="272" src="https://lh3.googleusercontent.com/-2mQVn56qEY0/V8-bEB8ss_I/AAAAAAADvig/sAlw9ZhffdQ/0008_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0008" width="480" /></a></li>
<li>使用預設帳密 admin / admin 登入系統。</li>
<li>點選左上角的圖示後會出現主要選單,點選 admin 後可以修改基本資訊與密碼。<br /><a href="https://lh3.googleusercontent.com/-yljZ7b-9n0E/V8-bF76qwJI/AAAAAAADvik/oWgpofjbhsE/s1600-h/0009%25255B4%25255D.png"><img alt="0009" border="0" height="272" src="https://lh3.googleusercontent.com/-1VP_vweHv1M/V8-bHfbf89I/AAAAAAADvio/dAOPIe9XvNk/0009_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0009" width="480" /></a></li>
<li>同樣利用主選單的 Data Sources 選項,進入後按下右上角的 "+Add data source" 按鈕。</li>
<li>分別填入下列資訊,其中 Url 欄位因為我們選取 direct 的存取方式,所以不能使用預設的 http://localhost:8086,而必須指定為 <a href="http://192.168.111.241:8086/">http://192.168.111.241:8086</a>。</li>
<ul>
<li>Name: Collectd</li>
<li>Default: 選取與否皆可</li>
<li>Type: InfluxDB</li>
<li>Url: http://192.168.111.241:8086</li>
<li>Access:direct</li>
<li>Http Auth: 兩個選項皆不用選取</li>
<li>Database: collections</li>
<li>User: collectdread</li>
<li>Password: readonly</li>
<li>Default group by time: 保留空白</li>
</ul>
<li>填寫完畢後按下 "Add" 按鈕。如果 Data Source 可以正常連結的話會出現類似下列的成功畫面,否則會出現錯誤訊息。<br /><a href="https://lh3.googleusercontent.com/-JvIDEpKrlKQ/V8-bI7qXB3I/AAAAAAADvis/nPyBnHS34m4/s1600-h/0010%25255B4%25255D.png"><img alt="0010" border="0" height="422" src="https://lh3.googleusercontent.com/-5XCyv0jvY3E/V8-bKVX33TI/AAAAAAADviw/G3yIkkSrA0s/0010_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0010" width="480" /></a></li>
<li>利用主選單的 Dashboards > + New 開始新增儀表板。</li>
<li>利用 Manage dashboard 的 Settings 功能可修改儀表板的相關設定。<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieNLIF-36cJAtHLHbp_J6cQgJoqTEtoiBvLC0uDnUiYT4vMn2rSm5OrvZF5VDIw9jEsz-GoQX9HRkxetauHOF8pqiOOOu7po-t7eXlWvdeow-k-zpdnKrvmYFTWLdAURwNi7LCs1Q37_j4/s1600-h/0011%25255B4%25255D.png"><img alt="0011" border="0" height="422" src="https://lh3.googleusercontent.com/-XnJkYHz-Blk/V8-bNvIYBCI/AAAAAAADvi4/inASX3B66Mk/0011_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0011" width="480" /></a></li>
<li>在此範例中我們僅設定名稱即可,將之設定為 System Information,設定完畢後按下右上方的 X 即可回到 Dashboard 的畫面。<br /><a href="https://lh3.googleusercontent.com/-Tayk15gUdns/V8-bPVhFJeI/AAAAAAADvi8/Lo46L6ywruU/s1600-h/0013%25255B4%25255D.png"><img alt="0013" border="0" height="310" src="https://lh3.googleusercontent.com/-AQL9DxFY-JU/V8-bQ6Cb-eI/AAAAAAADvjA/Iuq5KX5v4Ls/0013_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0013" width="480" /></a></li>
<li>點選左上方的綠色區塊後會出現 ROW 功能選單,選取 Add Panel > Graph。<br /><a href="https://lh3.googleusercontent.com/-KGT_7ViDJMM/V8-bSNcbAXI/AAAAAAADvjE/z_Uk-BH34e4/s1600-h/0012%25255B4%25255D.png"><img alt="0012" border="0" height="422" src="https://lh3.googleusercontent.com/-L2tWFlaLPSQ/V8-bT8uhpdI/AAAAAAADvjI/gEa_JA7AJDA/0012_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0012" width="480" /></a></li>
<li>Graph 有多個頁籤設定,其中 Metrics 可用來配置資料相關設定。首先,我們須將 Panel data source 改為 Collectd。</li>
<li>此時我們會發現 Metrics A 內容有所改變,點選後出現圖形化編輯選項。<br /><a href="https://lh3.googleusercontent.com/-rAAW6JuXA28/V8-bYs_IKUI/AAAAAAADvjY/OBdZitnpuWo/s1600-h/0015%25255B4%25255D.png"><img alt="0015" border="0" height="310" src="https://lh3.googleusercontent.com/-Jej7gvDWFJA/V8-bZ-9SscI/AAAAAAADvjc/QNUpv87hiN0/0015_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0015" width="480" /></a></li>
<li>Grafana 的圖形化編輯功能相當方便,不過為了方便說明,所以我們透過 Toggle Edit Mode 進入直接編輯模式。<br /><a href="https://lh3.googleusercontent.com/-krqb4gspMx8/V8-bbpNs6iI/AAAAAAADvjg/y-6Ix2ZXrpY/s1600-h/0016%25255B4%25255D.png"><img alt="0016" border="0" height="310" src="https://lh3.googleusercontent.com/-VUjZ8-3u5JY/V8-bdNzjbiI/AAAAAAADvjk/iOo_W-cpcuA/0016_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0016" width="480" /></a></li>
<li>輸入下列內容
<pre class="brush: shell">SELECT last("value") FROM "load_shortterm" WHERE "host" = 'grafana' AND $timeFilter GROUP BY time($interval) fill(null)</pre>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-PTCqq89rlf07df_9grVX6IlEmp46mP-GPziRRFD5a33DELHPvkZ_eFraOvJS7ID_fWJLmIxUDna-b7apa0p0EKUPOaz3Dbeleky5rSiBn0YzQhiS13YcfqafNShKBPBp-mgagKF8Uz_S/s1600-h/0017%25255B4%25255D.png"><img alt="0017" border="0" height="310" src="https://lh3.googleusercontent.com/-WlFkvOrvJbk/V8-bgPfZgvI/AAAAAAADvjs/rV_8yhfmMsM/0017_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0017" width="480" /></a></li>
<li>透過 "+ Add query" 按鈕另外新增兩個 Metrics,內容分別為
<pre class="brush: shell">SELECT last("value") FROM "load_midterm" WHERE "host" = 'grafana' AND $timeFilter GROUP BY time($interval) fill(null)
SELECT last("value") FROM "load_longterm" WHERE "host" = 'grafana' AND $timeFilter GROUP BY time($interval) fill(null)</pre>
<a href="https://lh3.googleusercontent.com/-SrdlbsPHsyE/V8-bh6YVpYI/AAAAAAADvjw/IpsDzfOFmj8/s1600-h/0018%25255B4%25255D.png"><img alt="0018" border="0" height="310" src="https://lh3.googleusercontent.com/-L68BeaZ9u9M/V8-bjSm6fTI/AAAAAAADvj0/RfS5C9BeXnw/0018_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0018" width="480" /></a></li>
<li>切換至 General 頁籤,將 Panel 的標題修改為 Load。<br /><a href="https://lh3.googleusercontent.com/-K930ja11q6M/V8-blLSJU5I/AAAAAAADvj4/Ou1FaZ5BTcg/s1600-h/0019%25255B4%25255D.png"><img alt="0019" border="0" height="310" src="https://lh3.googleusercontent.com/-mYt9uKaR7fA/V8-bmUsFfTI/AAAAAAADvj8/2EWTcQHxqCI/0019_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0019" width="480" /></a></li>
<li>切換到 Legend 頁籤,勾選 Min、Max、Avg 以及 Current。<br /><a href="https://lh3.googleusercontent.com/-03lb_vGCh4k/V8-bnzadfCI/AAAAAAADvkA/OiarY41Yx6I/s1600-h/0020%25255B4%25255D.png"><img alt="0020" border="0" height="310" src="https://lh3.googleusercontent.com/-OvMJyQCGHXY/V8-bps1HGAI/AAAAAAADvkE/h-0GLztmINc/0020_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0020" width="480" /></a></li>
<li>設定完畢後按下右方的 X 即可回到 Dashboard 畫面,然後按下 CTRL+S 將 Dashboard 予以儲存。</li>
<li>之後就可以透過 Dashboard 下拉式選單快速連結至我們剛剛新增的 System Information Dashboard 了。<br /><a href="https://lh3.googleusercontent.com/-yJNkBDtXLO4/V8-brBBEa5I/AAAAAAADvkI/DmyBBQ8D_g4/s1600-h/0021%25255B4%25255D.png"><img alt="0021" border="0" height="310" src="https://lh3.googleusercontent.com/-AyGHqOe4XqA/V8-bslOOKPI/AAAAAAADvkM/3Y093rnuyDw/0021_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="0021" width="480" /></a></li>
</ol><p/>
透過幾個簡單的設定,我們就建立了一個系統負載的數據圖表。<p />
<h3>
下一步</h3>
Grafana 除了圖形類 (Graph) 的報表之外,另有提供表格式 (Table) 、單一數值 (Singlestat) 與其他種類的報表。<br />
此外,我們的範例是針對特定的單一主機來進行配置。但是我們通常不會只有管理一台主機,此時就可以透過 Dashboard 的 Templating 機制設定一個變數用來代表主機名稱,然後將 Metrics 的條件指定為此一變數,而非原先固定的主機名稱。如此一來,Dashboard 就會提供一個所有主機名稱的下拉式選單,方便我們觀看個別主機的相關數據。<br /><p />
盡管如此,我們會發現自己要從無到有刻出一個合用且美觀的報表其實也不是那麼簡單的事情。幸好 Grafana 有提供儀表板匯出/匯入的功能,而且有善心人士已經將一些常見的效能數據儀表板匯出並提供下載 (<a href="https://grafana.net/dashboards">清單</a>在此)。不過在選用這些儀表板時,需特別注意的是它使用的資料來源是哪一種 (InfluxDB、Graphtie 或是其他的資料來源),以免發生牛頭不對馬嘴的狀況。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-4002337363091651132016-09-04T22:43:00.001+08:002016-09-04T22:54:54.581+08:00[工具介紹] 以 Apache myfixip 模組支援 Proxy Protocol我在<a href="http://cyrilwang.blogspot.tw/2016/09/ip.html" target="_blank">前一篇文章</a>中提到,HAProxy 推出 Proxy Protocol 用以解決在代理伺服器架構下無法取得用戶端 IP 位址的困境。在這篇文章中,我將以 HAProxy 搭配 Apache + myfixip 模組,實際展示如何透過 Proxy Protocol 解決用戶端 IP 位址的問題。<br />
本次展示的架構如下 :<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjp6t87D-fHaLNlUG2B2WuK5UWH3jD2VIGtBYCYeQPTfGrB2mJIAdbVCWpOyHjkkylfao2sHlQrBysDXgLLnLrhsa_qpXCnNo3nXXDU938-y80bf51EDb9f3YdgjNcYD7azYu2Sc4LWoGN/s1600/Architecture.png"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjp6t87D-fHaLNlUG2B2WuK5UWH3jD2VIGtBYCYeQPTfGrB2mJIAdbVCWpOyHjkkylfao2sHlQrBysDXgLLnLrhsa_qpXCnNo3nXXDU938-y80bf51EDb9f3YdgjNcYD7azYu2Sc4LWoGN/s1600/Architecture.png" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Architecture" /></a><br />
其中代理伺服器使用 CentOS 7 的 HAProxy 1.5.14 套件,而 Web 服務器使用 CentOS 7 的 Apache 套件。<br />
我們先在 Web 服務器放置內容如下的 PHP 腳本,而在 PHP 中,$_SERVER["HTTP_X_FROWARDED_FOR"] 這個變數就代表 HTTP 檔頭 X-Forwarded-For。<br />
<pre class="brush: php"><?php
echo nl2br("X-Forwarded-For: " . $_SERVER["HTTP_X_FORWARDED_FOR"] . PHP_EOL);
echo nl2br("Remote Address: " . $_SERVER["REMOTE_ADDR"] . PHP_EOL);</pre><p />
<h3>
用戶端直接連結 Web 服務器</h3>
<a href="https://lh3.googleusercontent.com/-F1tbe606Urk/V8adyp0V-JI/AAAAAAADvUE/IeGiABriYKA/s1600-h/Direct%25255B4%25255D.png"><img alt="Direct" border="0" height="118" src="https://lh3.googleusercontent.com/-6fIf-E7M48E/V8ad0Pq1PoI/AAAAAAADvUI/08qIqcXhE-s/Direct_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Direct" width="603" /></a><br />
當用戶端直接連往 Web 服務器 (192.168.10.12) 上的 PHP 腳本後,可以看到如下的輸出:<br />
<pre class="brush: plain">HTTP-X-Forwarded-For:
Remote Address: 192.168.10.10</pre>
在這種單純的情況下,直接使用 REMOTE_ADDR 變數即可取得用戶端的 IP 位址。<br /><p />
<h3>
用戶端透過 HAProxy 的 HTTP 模式連往 Web 服務器</h3>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh59iSvWzFYM_uzn2Uk7517ckxgTj9nZJ2m2zxwDDmkkoIUuw-nXcldnkp_BsC3_sm3DfjWQlmR37QSi1IoW_wGEn8BavN02TdT0ryotG9BZX6qnfnFJW6_7_SSEGamvjUnRkZRgLMxT-io/s1600-h/HTTP%252520Mode%25255B9%25255D.png"><img alt="HTTP Mode" border="0" height="118" src="https://lh3.googleusercontent.com/-hn7_GjyiHl0/V8ad3eGhD3I/AAAAAAADvUQ/y7nnyUmrX1U/HTTP%252520Mode_thumb%25255B5%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="HTTP Mode" width="603" /></a><br />
我們在 HAProxy 使用下列設定:<br />
<pre class="brush: plain">listen http-proxy
bind 0.0.0.0:80
mode http
option httpchk
option forwardfor
balance source
server web-1 192.168.10.12:80 weight 1 check</pre>
當用戶端透過代理伺服器 (192.168.10.11) 連往 Web 服務器 (192.168.10.12) 上的 PHP 腳本後,可以看到如下的輸出:<br />
<pre class="brush: plain">X-Forwarded-For: 192.168.10.10
Remote Address: 192.168.10.11</pre>
在這種情況下,儘管 REMOTE_ADDR 變數顯示為代理伺服器的 IP 位址,但是使用 HTTP_X_FROWARDED_FOR 變數依舊可取得用戶端的 IP 位址。<br /><p />
<h3>
用戶端透過 HAProxy 的 HTTP 模式連往 Web 服務器</h3>
<a href="https://lh3.googleusercontent.com/-FYK6lG5JFNQ/V8ad49obOgI/AAAAAAADvUU/XOrrtkiQ0pg/s1600-h/TCP%252520Mode%25255B4%25255D.png"><img alt="TCP Mode" border="0" height="118" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHnSJROCq-G05S3y_T1PvgwFiH_dO0EuWkmQDGdwGAxLQ7zM3dWj1fxJ_NP7wug0ArpLY9Eb9OgjnXwvlV1cQMOMIbeYymh5P8sXQvFLemQ4zHjBPvySt-Jz7pKxJBAJxGfPphURCGqYrO/?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="TCP Mode" width="603" /></a><br />
我們將 HAProxy 的設定修改成如下:<br />
<pre class="brush: plain">listen http-proxy
bind 0.0.0.0:80
mode tcp
balance source
server web-1 192.168.10.12:80 weight 1 check</pre>
當用戶端透過代理伺服器 (192.168.10.11) 連往 Web 服務器 (192.168.10.12) 上的 PHP 腳本後,可以看到如下的輸出:<br />
<pre class="brush: plain">X-Forwarded-For:
Remote Address: 192.168.10.11</pre>
在這種情況下,不存在 HTTP_X_FROWARDED_FOR 變數,而 REMOTE_ADDR 顯示的也是代理伺服器 IP 位址。也就是程式無法正確獲得用戶端 IP 位址。<br /><p />
<h3>
用戶端透過支援 Proxy Protocol 的設定連往 Web 服務器</h3>
<a href="https://lh3.googleusercontent.com/-78oE7RiNhhM/V8ad8cgO4qI/AAAAAAADvUc/rsf-oEg2m6A/s1600-h/Proxy%252520Protocol%25255B4%25255D.png"><img alt="Proxy Protocol" border="0" height="118" src="https://lh3.googleusercontent.com/-6Roa0104kjQ/V8ad-TrnFjI/AAAAAAADvUg/spLgaSIU9iE/Proxy%252520Protocol_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Proxy Protocol" width="603" /></a><br />
因為 HAProxy 本身就內建支援 Proxy Protocol,所以不需安裝額外的套件,只要把設定修改成如下即可:<br />
<pre class="brush: plain">listen http-proxy
bind 0.0.0.0:80
mode tcp
balance source
server web-1 192.168.10.12:80 weight 1 check send-proxy</pre>
至於 Apache 的部分,因為 Apache 目前尚未內建 Proxy Protocol 的支援,所以我們需要安裝另外的模組。在此,我以 myfixip 模組為例,相關步驟如下:<br />
<pre class="brush: shell">yum install git gcc httpd-devel
cd /tmp
git clone https://github.com/ggrandes/apache24-modules.git
cd apache24-modules
apxs –i –c mod_myfixip.c</pre>
新增檔案 /etc/httpd/conf.modules.d/00-myfixip.conf,內容如下<br />
<pre class="brush: plain">LoadModule myfixip_module modules/mod_myfixip.so
<IfModule mod_myfixip.c>
RewriteIPResetHeader off
RewriteIPAllow 192.168.10.0/24 127.0.0.1
</IfModule>
systemctl restart httpd</pre>
需特別注意的是因為 Proxy Protocol 會改變代理伺服器與 Web 服務器之間的溝通方式,所以需要兩邊同時啟用,否則將無法正常運作,甚至可能導致無法存取服務。<br />
當用戶端再次透過代理伺服器 (192.168.10.11) 連往 Web 服務器 (192.168.10.12) 上的 PHP 腳本後,可以看到如下的輸出:<br />
<pre class="brush: plain">X-Forwarded-For:
Remote Address: 192.168.10.10</pre>
在這種情況下,即使經過代理伺服器的作用,但是 REMOTE_ADDR 變數依舊可以正確地顯示出用戶端的 IP 位址。<br /><p />
透過 myfixip 模組,可以讓 Apache 支援 Proxy Protocol,有效地取得用戶端 IP 位址。<br />
除了 HAProxy 之外,如果你使用了 AWS ELB 的 TCP 或 SSL 模式,透過 myfixip 擴充 Apache 使其支援 Proxy Protocol 也同樣會有很大的助益。比較麻煩的是,目前 AWS 的管理介面並不支援 Proxy Protocol 的設定,而必須使用命令列模式控制 Proxy Protocol 的開啟或關閉。有需要的讀者可參考<a href="http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html">官方文件</a>。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-23664595639741348682016-09-04T11:53:00.000+08:002016-09-04T22:56:40.020+08:00[教戰手則] 狡詐的用戶端真實 IP 位址<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44L_sq1RvtkRxTH5eDw5s8FSL7Jg3mmdeo_p_6vjzHdISX0xxIbuLpTvjH4DvgTENtNduAGXnc1kQFg8rhSIzANiPo_6v6c7-fLQybXy_iA9G_zKO1VT9VIezd9S2QWScXocmN6zT-I45/s1600-h/vuze_how_to_configure_envelope2.png"><img align="left" alt="vuze_how_to_configure_envelope" border="0" height="161" src="https://lh3.googleusercontent.com/-HX16DCRCvOk/V8aekGWoLdI/AAAAAAADvUs/yRBuFTCxvGo/vuze_how_to_configure_envelope_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vuze_how_to_configure_envelope" width="244" /></a>在 TCP/IP 網路的世界裡,盡管 IP 位址本身有很多的問題,但是用戶端的 IP 位址對許多安全機制來說依舊是一個很基本且重要的資訊。舉例來說,利用用戶端的 IP 位址當做存取控制的依據,就是常見的第一道安全門檻。除此之外,各式各樣的系統日誌,也幾乎都包含用戶端的 IP 位址來當作用戶端的身分紀錄。尤其對像是 HTTP 這類網路服務而言,用戶端的 IP 位址往往更是最主要的身分代表。<br />
誠如 DEVCORE 在 “<a href="http://devco.re/blog/2014/06/19/client-ip-detection/">如何正確的取得使用者 IP?</a>” 這篇文章中所提到,因為所有用戶端的資訊都是不可靠的,再加上眾多代理伺服器從中攪局,所以如何”正確的”取得用戶端 IP 位址這個看似再簡單不過的問題卻變得相當複雜,甚至無法在所有的情況下都能順利完成目的。<br />
我在此先直接引用自該文章的結論<br />
”那我們該怎麼處理呢?我的建議是記錄所有相關的 header 欄位存入資料庫,包含「REMOTE_ADDR」「X-Forwarded-For」等等,真正有犯罪事件發生時,就可以調出所有完整的 IP 資訊進行人工判斷,找出真正的 IP。當然從 header 存入的數值也可能會遭到攻擊者竄改插入特殊字元嘗試 SQL Injection,因此存入值必須先經過過濾,或者使用 Prepared Statement 進行存放。<br />
可以參考的 HTTP Header(依照可能存放真實 IP 的順序) <br />
<ul>
<li>HTTP_CLIENT_IP </li>
<li>HTTP_X_FORWARDED_FOR </li>
<li>HTTP_X_FORWARDED </li>
<li>HTTP_X_CLUSTER_CLIENT_IP </li>
<li>HTTP_FORWARDED_FOR </li>
<li>HTTP_FORWARDED </li>
<li>REMOTE_ADDR (真實 IP 或是 Proxy IP) </li>
<li>HTTP_VIA (參考經過的 Proxy)”</li>
</ul>
而今天我要分享的是另一種情境,那就是當你的代理伺服器因為太有個性,除了 REMOTE_ADDR 之外其他檔頭 (Header) 都不願意送出呢 (嚴格來說,REMOTE_ADDR 其實根本也不是 HTTP 檔頭) ?在實務上,當你使用 HAProxy 的 TCP Mode 時,它就是這麼有個性。<br />
基本上,HAProxy 有兩種運作模式,一種稱之為 HTTP 模式。在 HTTP 模式下,可以對用戶端送來的檔頭做判斷與處理,當然也包含檔頭的新增與內容修改。而在 TCP 模式下,這些功能都無法獲得。或許有讀者會質疑運作在 TCP 模式下的 HAProxy 是否還算是一個代理伺服器?這種定義的問題,我並不想在此討論,而就實務的情況來看,這種情況就是真實存在的。<br />
既然 TCP 模式比之 HTTP 模式就像被閹割般的無能,那為什麼我們還會需要使用 TCP 模式呢?常見的情況有二,一個是因為 SSL/TLS 加密的因素。如果你的網站支援 SSL/TLS 加密,那麼使用 HAProxy 後你有兩種選擇,一種是把 SSL/TLS 加解密交給 HAProxy,這種情況又稱之為 SSL Termination (請參考下圖)。SSL Termination 常用於 SSL 加速,另外也可能是為了 IDS/IDP/DLP 這類需要分析封包內容的安全機制而必須先將 SSL/TLS 連線予以解密。<br />
<a href="https://lh3.googleusercontent.com/-vwIRKnqCYBE/V8aemPmwOPI/AAAAAAADvUw/GCTkMJVuAVs/s1600-h/SSL-Termination12.png"><img alt="SSL Termination" border="0" height="103" src="https://lh3.googleusercontent.com/-Bo4DuZCkBDQ/V8aenz9ig_I/AAAAAAADvU0/ieID2UjpIGg/SSL-Termination_thumb10.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="SSL Termination" width="603" /></a><br />
但是因為 HAProxy 本身也是軟體形式,所以對於 SSL 加速沒有甚麼幫助,甚至有可能反而造成效能的瓶頸,所以第二種選擇就是把 SSL/TLS 加解密維持在原有的地方,例如 Web Server 本身。在這種情境下,因為所有經過 HAProxy 的封包內容都已經經過加密,所以 HAProxy 僅能透過 TCP 模式與後端 Web Server 溝通,而無法使用 HTTP 模式。<br />
另外一個因素則是如果你需要代理的服務不是 HTTP,而是其他的網路服務 (像是 MySQL),當然就不能使用 HTTP 模式,而必需使用 TCP 模式。<br />
而不幸的是,不管是在 HTTP 模式或 TCP 模式之下,都是由代理伺服器代替用戶端傳送封包,所以 REMOTE_ADDR 皆會顯示為代理伺服器的 IP 位址。還好在 HTTP 模式下,HAProxy 會加上 X-Forwarded-For 這個檔頭,所以我們還是有機會取得用戶端的真實 IP 位址。但是在 TCP 模式下,HARroxy 無法新增任何檔頭,也讓我們失去獲得用戶端真實 IP 位址的機會。<br />
那麼我不用 HAProxy 不就沒事了?當然不是。即使是其他的 HTTP 代理伺服器,只要考慮到 SSL/TLS 加解密,就都有類似的問題。舉例來說,現在很熱門的 AWS ELB 在某些模式時也會有跟 HAProxy TCP 模式一樣的情形。<br />
有鑑於此,HAProxy 特別訂出了所謂的 Proxy Protocol。只要是支援 Proxy Protocol 的代理伺服器與網路服務相互搭配,透過適當的設定就可以取得用戶端的 IP 位址。當然,這個用戶端 IP 位址,不一定是真實的用戶端 IP 位址,不過通常至少是連往代理伺服器的 IP 位址,而不是全部變成代理伺服器的 IP 位址。除了 HAProxy 本身的支援外,許多代理服務器或服務也都內建或透過外接模組的方式,提供此一功能的支援。詳細清單可參考<a href="http://blog.haproxy.com/haproxy/proxy-protocol/">這裡</a>。<br />
在<a href="http://cyrilwang.blogspot.tw/2016/09/apache-myfixip-proxy-protocol.html">下一篇文章</a>中,我將使用 HAProxy + Apache 的 myfixip 模組當作範例,實際展示 Proxy Protocol 的運作。<br />
相關連結:<br />
<ul>
<li><a href="http://devco.re/blog/2014/06/19/client-ip-detection/">如何正確的取得使用者 IP? – DEVCORE 部落格</a> </li>
<li><a href="https://en.wikipedia.org/wiki/List_of_HTTP_header_fields">List of HTTP header fields</a> </li>
<li><a href="http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt">HAProxy Technologies – The PROXY protocols</a> </li>
<li><a href="http://blog.haproxy.com/haproxy/proxy-protocol/">Proxy Protocol | HAProxy Tchnologies – Aloha Load Balancer</a></li>
</ul>
Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-87599663745047290182015-04-22T16:04:00.002+08:002015-04-22T16:04:42.356+08:00[資安觀念] 有備就無患?<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhR5tDTJJX-S4vHY_f9JRMkgP0nHORBUGVvA28XtwW1NrcazGgrc-u9lPT9pxahpZCirs9vZ_4MBql8WZHjS2XP4pwVdPE0FAUO-8gws24LIizZXOF2fPgJr4wfoaYDICYQevSRdQsuclF/s1600/Threx_open.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhR5tDTJJX-S4vHY_f9JRMkgP0nHORBUGVvA28XtwW1NrcazGgrc-u9lPT9pxahpZCirs9vZ_4MBql8WZHjS2XP4pwVdPE0FAUO-8gws24LIizZXOF2fPgJr4wfoaYDICYQevSRdQsuclF/s1600/Threx_open.jpg" height="205" width="320" /></a></div>
在筆者接手過的系統中,備份機制是一個常見但是卻也常常做的不足的事情。在討論何謂足夠的備份機制之前,我們先來看看一個更基本的問題,那就是備份對現代化資訊系統的必要性。
<br />
隨著 IT/IS 技術的不斷進步,高可用性 (HA) 的系統已經是基本的配置。除此之外,災難復原 (DR) 更是考慮到了實體的安全,當主要系統的所在地無法正常運作時,可以在最短的時間內於第二個地點恢復服務。甚至,有了號稱可以提供 100% uptime 的雲端系統,備份豈不多餘?<br />
答案絕對是否定的。
正所謂天有不測風雲,設計再精良的系統,都無法保證絕對不會受到損害,而備份就是資訊可用性的最後一道重要防線:<br />
<br />
<ol>
<li>相較於 HA / DR 的技術,備份技術擁有選擇性多、成熟度高、費用便宜等好處。其中選擇性多可以避免發生被單一廠商吃死的狀況。</li>
<li>即使是號稱 100% uptime 的雲端系統,也無法確保真的不會出問題。雲端系統的架構可能比(大部分的)私有架構更為成熟,但是絕對不會一躍變成神一般的等級。</li>
<li>有些問題非 HA / DR 技術可解決,其中之一正是豬一般的隊友。如果你曾經看過 delete from members (SQL command) 或 rm -rf / (SHELL command) 的 Live Show,你就絕不會懷疑備份的重要性。此時,備份 (加上 transaction log) 就可以避免你直接升天。</li>
<li>備份除了可以保全資料,在不得已 (沒預算) 的情況下還可以用來解決需要長期保留資料的問題 (如日誌)。儘管如此,如果在預算許可的情況下,後者還是應該選擇專門用於封存 (<a href="http://searchdatabackup.techtarget.com/tip/Backup-vs-archive" target="_blank">Archiving</a>) 的技術。</li>
</ol>
<div>
既然備份依舊是 IT/IS 不可避免的項目,那麼回到一開始的話題,何謂不足的備份機制?常見的情況包含:</div>
<div>
<ol>
<li>備份的目標不完整。舉例來說,公司有三台資料庫主機,卻只有備份到其中兩台。或是明明主機內有五個資料庫,卻只備份到其中三個。這個問題發生的原因通常是沒有落實相關作業的 SOP 或變更管理。</li>
<li>備份的項目不完整。跟前述有點類似,但是主要是指有些該備份的東西卻完全沒有備份。舉例來說,像是使用者上傳的檔案、系統的設定檔等,可能都忘了加入備份機制。這類問題發生的原因通常在於沒有做好系統分析或數位資產分類。</li>
<li>備份沒有進行相關的檢查工作。舉例來說,確認壓縮檔可以正常解壓,又或者資料庫的備份檔可以確實地予以還原。這部份可以透過自動化的程序簡化檢查工作。</li>
<li>備份資料防護不足。既然備份的資料多為公司重要的數位資產,那麼做好保護以避免不相關人士的存取 (甚至竄改) 就顯得相當重要。簡單來說,備份資料的安全防護至少應等同於線上資料的安全防護,甚至是擁有更高等級的防護機制。</li>
<li>備份資料的存放點不足。我看過最誇張的例子就是將僅有的備份放在同一台主機的同一個分割區內。備份就是為了避免當突發狀況發生時遭受資料遺失的風險,把備份資料放在同一個分割區不就宣告只要硬碟一壞就整個 GG 了嗎?<br />硬碟會不會壞?你買硬碟時廠商都清清楚楚地標示了保固期跟 MTBF,所以硬碟壞掉根本就是可預期會發生的災難。你會說我用 RAID 啊,一顆硬碟壞掉沒問題的啦,那 RAID 卡就不會故障並把資料搞亂嗎?相信我,我還真遇過。</li>
</ol>
</div>
<div>
針對上述第五點,比較嚴謹的作法可參考所謂的 3-2-1 備份法則 (<a href="http://dpbestflow.org/node/262#321" target="_blank">3-2-1 backup rule</a>):</div>
<div>
<ol>
<li>每一筆資料至少擁有三個分身 (Have at least three copies of your data)</li>
<li>至少使用兩種以上的儲存媒介 (Store the copies on two different media)</li>
<li>保留其中一個分身於異地 (Keep one backup copy offsite)</li>
</ol>
<div>
把僅有的備份資料放在同一個分割區,明顯違反了 3-2-1 備份法則的所有規則。據此,我們可以考慮將主要的備份資料放在同一個機房內的網路硬碟,而次要的備份資料則放在異地。如果主要資料的所在地為辦公室,可以考慮利用雲端硬碟儲存次要的備份資料。但是如果主要的備份資料所在地為 IDC,那麼辦公室或雲端硬碟就可以擇一以用來存放次要的備份資料。透過幾個簡單的規則,下次就算發生<a href="http://www.theatlantic.com/technology/archive/2012/02/why-everybody-needs-off-site-backup/253028/" target="_blank">機房失火</a>這種極度恐怖的災難,你也可以全身而退了。</div>
</div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-9411777454278273442014-02-14T12:08:00.000+08:002014-02-14T12:08:00.191+08:00[從電影看資安] 凡瀏覽過必留下痕跡 - 超急情聖在電影超急情聖 (<a href="http://www.imdb.com/title/tt2229499/" target="_blank">Don Jon</a>) 中,男主角 Joseph Gordon-Levitt 飾演的唐冏平日沒啥興趣,就是跟三兩好友到夜店對女生品頭論足,並各自帶著”戰利品”回去享用一番。雖然看似令許多男生羨慕不已,不過唐冏這位老兄更大的興趣竟然是上色情網站享受 DIY 的快感。 <br />
就在一次夜店行動中,唐冏遇到了由 Scarlett Johansson 所飾演芭芭拉。唐冏視芭芭拉為天菜,當然不可能放過。雖然兩人交談甚歡,但是仍舊功虧一簣,逼的唐冏只好利用人肉搜索的方式找到芭芭拉的 Facebook 帳號。 <br />
兩人交往後,唐冏不改上色情網站的嗜好,甚至當場被芭芭拉抓包。為了手上的這隻鳥,唐冏只好宣示從此放棄網路上的這片大好森林。只不過江山易改,本性難移。雖然唐冏與芭芭拉進展順利,但是唐冏卻依舊偷偷持續上色情網站滿足生理所需,直到有一天… <br />
<br />
<center>
<span style="color: blue;">DIY 帶給唐冏天堂般的樂趣</span> <br /><a href="http://lh3.ggpht.com/-jeeX4VPHMEQ/UvoqN-H5gaI/AAAAAAADq9w/cAY5B2-6LKo/s1600-h/vlcsnap-2014-02-11-21h00m45s38%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h00m45s38" border="0" src="http://lh5.ggpht.com/-pAgKrDybuFU/UvoqPi8QoBI/AAAAAAADq94/1Xc0-Ikr5Ig/vlcsnap-2014-02-11-21h00m45s38_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h00m45s38" width="482" /></a><br />
<span style="color: blue;">到夜店對女生品頭論足也是一定要的啦</span> <br /><a href="http://lh5.ggpht.com/-_ri_pM_DrLQ/UvoqRGEG32I/AAAAAAADq98/xAn-dr5UGLU/s1600-h/vlcsnap-2014-02-11-21h01m14s81%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h01m14s81" border="0" src="http://lh3.ggpht.com/-bt0jCve44KM/UvoqSN-wm1I/AAAAAAADq-I/HM5oH8tPJqQ/vlcsnap-2014-02-11-21h01m14s81_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h01m14s81" width="482" /></a><br />
<span style="color: blue;">慘了,遇到"舊情人"</span><a href="http://lh3.ggpht.com/-qq9iFoDUFXU/UvoqTnpCk0I/AAAAAAADq-Q/Ojg-H_dQwX8/s1600-h/vlcsnap-2014-02-11-21h01m35s28%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h01m35s28" border="0" src="http://lh5.ggpht.com/-2SqgJ7QOnqI/UvoqU8fvXjI/AAAAAAADq-Y/XUaiH2htmnY/vlcsnap-2014-02-11-21h01m35s28_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h01m35s28" width="482" /></a><br />
<span style="color: blue;">甩了舊情人,馬上就發現天菜</span> <br /><a href="http://lh5.ggpht.com/-Bz7pzRspTfA/UvoqWVb5yDI/AAAAAAADq-g/YaIbUN2QmgM/s1600-h/vlcsnap-2014-02-11-21h03m59s194%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h03m59s194" border="0" src="http://lh6.ggpht.com/-sgeEnqWwTPM/UvoqXvcZgJI/AAAAAAADq-o/nQZrcxRi11g/vlcsnap-2014-02-11-21h03m59s194_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h03m59s194" width="482" /></a><br />
<span style="color: blue;">被天菜打槍,只好退而求其次</span> <br /><a href="http://lh6.ggpht.com/-1NQh7czc_qE/UvoqYzFo1sI/AAAAAAADq-w/Ci1Ox1u5znU/s1600-h/vlcsnap-2014-02-11-21h05m00s45%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h05m00s45" border="0" src="http://lh3.ggpht.com/-1ENJy1F6uRo/UvoqaPSkPDI/AAAAAAADq-4/rtQL1otOYR8/vlcsnap-2014-02-11-21h05m00s45_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h05m00s45" width="482" /></a><br />
<span style="color: blue;">得不到的最令人懷念</span> <br /><a href="http://lh4.ggpht.com/-w9NpLjuhlKQ/UvoqbsbnNBI/AAAAAAADq_A/skauTRxoXuY/s1600-h/vlcsnap-2014-02-11-21h06m05s177%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h06m05s177" border="0" src="http://lh5.ggpht.com/-LJNd38Jxf_U/UvoqdJfumwI/AAAAAAADq_I/YVGRZBXtAD0/vlcsnap-2014-02-11-21h06m05s177_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h06m05s177" width="482" /></a><br />
<span style="color: blue;">人肉搜索</span> <br /><a href="http://lh3.ggpht.com/-IIb3HCEh6Yo/UvoqfFzE-EI/AAAAAAADq_Q/XAgS1gHQyk8/s1600-h/vlcsnap-2014-02-11-21h06m33s187%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h06m33s187" border="0" src="http://lh3.ggpht.com/-nrKSYpxAQcs/UvoqgFF0PGI/AAAAAAADq_Y/EZ_GnWqFvqs/vlcsnap-2014-02-11-21h06m33s187_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h06m33s187" width="482" /></a><br />
<span style="color: blue;">可以一起看電影</span> <br /><a href="http://lh3.ggpht.com/-rOcW-Uvd6Uk/Uvoqh1CBDLI/AAAAAAADq_g/9AzTfx79KOM/s1600-h/vlcsnap-2014-02-11-21h06m49s71%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h06m49s71" border="0" src="http://lh6.ggpht.com/-_iXfjgGkOhc/UvoqjbFykqI/AAAAAAADq_o/YAvMjo79Fp8/vlcsnap-2014-02-11-21h06m49s71_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h06m49s71" width="482" /></a><br />
<span style="color: blue;">可以在電影院熱吻</span> <br /><a href="http://lh5.ggpht.com/-oM11Efqro-4/UvoqlB7-UlI/AAAAAAADq_w/oxsr_K3FFJY/s1600-h/vlcsnap-2014-02-11-21h07m06s20%25255B5%25255D.png"><img alt="vlcsnap-2014-02-11-21h07m06s20" border="0" src="http://lh4.ggpht.com/-9lLeBb4Iy7Y/UvoqnHTZtBI/AAAAAAADq_4/SGYtzPBZhA8/vlcsnap-2014-02-11-21h07m06s20_thumb%25255B3%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h07m06s20" width="482" /></a><br />
<span style="color: blue;">但是就是不能上床</span> <br /><a href="http://lh4.ggpht.com/-qyNeZOTsIdA/UvoqouDbNMI/AAAAAAADrAA/bXQpcvgkLyY/s1600-h/vlcsnap-2014-02-11-21h08m14s142%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h08m14s142" border="0" src="http://lh4.ggpht.com/-aIAvs5PdE5E/Uvoqq1VirCI/AAAAAAADrAI/_DA5czr8qJ8/vlcsnap-2014-02-11-21h08m14s142_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h08m14s142" width="482" /></a><br />
<span style="color: blue;">就算上床也只能用"正常的姿勢"</span> <br /><a href="http://lh6.ggpht.com/-DIPOF_0g5oo/UvoqsgrBMDI/AAAAAAADrAQ/jt_PntGCA4c/s1600-h/vlcsnap-2014-02-11-21h10m57s18%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h10m57s18" border="0" src="http://lh3.ggpht.com/-zUoRvyNGChw/Uvoqt6UF0EI/AAAAAAADrAY/3Md3-AGY1RM/vlcsnap-2014-02-11-21h10m57s18_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h10m57s18" width="482" /></a><br />
<span style="color: blue;">只好看 A 片解解悶,沒想到卻被當場抓包</span> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIVfFwPZefG2foiRRyiJIuEZdbZczKteLt9Kgb_Lk6DBdm9BgUbxrg6Jn5EIYwnRmeIGWeUUR0yJgujY_Gru72wVvAkm2V4wMQib6qVnfPKh7ySLmYtjTI7IEEhhThAglrMvRkFIkoAOvd/s1600-h/vlcsnap-2014-02-11-21h11m11s171%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h11m11s171" border="0" src="http://lh5.ggpht.com/-pSL3OVihteg/UvoqwiyAFVI/AAAAAAADrAo/qAJid6cBf1A/vlcsnap-2014-02-11-21h11m11s171_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h11m11s171" width="482" /></a><br />
<span style="color: blue;">唐冏扯謊後兩人感情進展神速</span> <br /><a href="http://lh4.ggpht.com/-jpxQviEy5n8/Uvrz7REUG5I/AAAAAAADrCs/duBH9q0H730/s1600-h/vlcsnap-2014-02-12-12h07m07s100%25255B4%25255D.png"><img alt="vlcsnap-2014-02-12-12h07m07s100" border="0" src="http://lh3.ggpht.com/-_rfPA7bEFM4/Uvrz9sB2ktI/AAAAAAADrC0/s4BZvJw4Vug/vlcsnap-2014-02-12-12h07m07s100_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-12-12h07m07s100" width="482" /></a><br />
<span style="color: blue;">46個?</span> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw9F9ozlpjEgM9xEBwk3PO7ZwFtCLAMBnHRgJ7-Y75KGXGRaWIjPD3NuAYjtOvR1MkhP23UQbS9b6TOzkZUQ9WJKTIfOkcEIIkz9C3ZRWYm-3766D4zY7Tgesg0lwqB_d12FuKpqJ4ZaJk/s1600-h/vlcsnap-2014-02-11-21h12m26s104%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h12m26s104" border="0" src="http://lh4.ggpht.com/-xIPWZiOyk84/Uvoqzp2rxoI/AAAAAAADrA4/VHh78fkq09g/vlcsnap-2014-02-11-21h12m26s104_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h12m26s104" width="482" /></a><br />
<span style="color: blue;">唐冏該不會真不知道有瀏覽記錄這種東西吧?</span> <br /><a href="http://lh5.ggpht.com/-YD4_5mGOlZk/Uvoq1hAMyxI/AAAAAAADrBA/WI45nhMl31c/s1600-h/vlcsnap-2014-02-11-21h12m42s27%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h12m42s27" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKbxhn37qWwR7Oae805HKeklbG-typR_HHHvRrw91_mHUWNMr5f0EIid5NlJhwOdGXNKXxrg1viQ6PmOCyiI89FCbBB3r2gMUoiYVSk_GUBvODCgjl7PcoXg1oSVPB4CC9dq3DSvyJ4ZT1/?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h12m42s27" width="482" /></a><br />
<span style="color: blue;">年輕真好?</span> <br /><a href="http://lh4.ggpht.com/-_c3GBT81yj8/Uvoq4Wq4teI/AAAAAAADrBQ/TFoNB6XCrd0/s1600-h/vlcsnap-2014-02-11-21h12m50s132%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h12m50s132" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBM28zHBk_kj5Tz2it64-7Ht8SMLY4uEy5j1dFIrlATBXWehacQ50wwJjw-qBsN42s-qO9qxUDQw4_s_Djvemlo3Sm2lsTHQl7iehvwKwjJlwcYO_7pbd1UfmgaNsNyVZ11NKJJoMjB420/?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h12m50s132" width="482" /></a><br />
<span style="color: blue;">這下真的冏了</span>
<img alt="vlcsnap-2014-02-11-21h13m57s21" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd0dzvgZb-RGB2mW-Ogj2OpdksuWBhFpzgb_79_5G4XY1jwWfCnZJNdDWMP6jUjwgykOTNi11SL0BYPRgFySKl7BMRyziQhj1JhkOQT7RyloceeBFX0bn0La_8Eg9qM9kcUV0Ow-hrY5tC/?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h13m57s21" width="482" /><br />
<span style="color: blue;">不過就是看 A 片嘛</span><br /><a href="http://lh4.ggpht.com/-h9NnQjHVvag/UvorCHoBupI/AAAAAAADrCA/iUy6LiIarNA/s1600-h/vlcsnap-2014-02-11-21h15m48s124%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h15m48s124" border="0" src="http://lh4.ggpht.com/-i7or_ldWNXI/UvorDYVoy9I/AAAAAAADrCI/-_-3qt_p92k/vlcsnap-2014-02-11-21h15m48s124_thumb%25255B2%25255D.png?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h15m48s124" width="482" /></a> <br /><span style="color: blue;">心情鬱悶到只能上色情網站尋求慰藉</span><a href="http://lh5.ggpht.com/-4ZHI-ETzRKg/UvorFCjqM4I/AAAAAAADrCQ/Vl5lDKm1H5Y/s1600-h/vlcsnap-2014-02-11-21h16m16s137%25255B4%25255D.png"><img alt="vlcsnap-2014-02-11-21h16m16s137" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCW6QtcEHfm1D48PSCMef5F4jkG5MtNS0Gg1x_375ZAPlSz7-u2L1sM8FRcKhLxz1uaqvvTWFHNIUpXXJrej3vMkbzs5NlgSpLI5k4SIm2L-HD2BHCos_MLPr7nnkO4EGgvZhUzUznWxKs/?imgmax=800" height="200" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-11-21h16m16s137" width="482" /></a> </center>
芭芭拉因為瀏覽器的瀏覽記錄而發現唐冏一直欺騙她,不但持續上色情網站,甚至可說是不眠不休,因此憤而離開唐冏。 <br />
利用瀏覽器上網,對使用電腦的人來說,可是說是再自然不過的事。而瀏覽器為了提供使用者更方便的使用經驗,也加入了許多聰明的機制。像是<span style="color: red;">瀏覽記錄、網頁快取、Cookie、輸入欄位 (包含密碼) 等各式記錄,都可以大幅提昇使用經驗。不過這些資料,卻也可能包含了個人的私密資料 (如上色情網站的記錄)</span>。這些資料一旦被揭露後,輕則尷尬收場,嚴重時身分被盜用也是有可能的。如果使用的是自己的私人電腦,對此倒也不用太過緊張。不過<span style="color: red;">如果使用的是其他人的電腦、甚至是公共電腦,這可就是個大問題了</span>。 <br />
對此,各個瀏覽器都有提供所謂的清除記錄功能,可以將上述資料分別加以清除。不過在使用時因為要手動執行,所以並不是很方便。比較方便的作法,<span style="color: red;">可以使用如 Chrome 瀏覽器的”<a href="https://support.google.com/chrome/answer/95464?hl=zh-Hant" target="_blank">無痕式視窗</a>”</span>。透過無痕式視窗,我們就可以放心的使用其他人的電腦或公共電腦,而不用擔心留下任何記錄。不過儘管如此,<span style="color: red;">還是應該避免在這些電腦使用很重要的網路服務 (如網路銀行)</span>。因為無痕式視窗雖然可以避免留下記錄,但是卻無法避免後門程式竊取你所輸入的資料,所以還是有可能會有帳號被盜的可能性,可是千萬輕忽不得。 Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-91026409094818873412014-02-11T04:37:00.000+08:002014-02-11T16:53:41.487+08:00[從電影看資安] 小小的 USB 隨身碟,大大的資安問題 - 決勝機密在電影決勝機密 (<a href="http://www.imdb.com/title/tt1413495/" target="_blank">Paranoia</a>) 中,男主角亞當卡西迪 (由 Liam Hemsworth 飾演) 任職於兩大電信公司之一的懷特電信。亞當出身藍領家庭,為了過更好的生活在公司中力求表現。雖然帶領的團隊有不錯的產品,但是在一次的簡報會議中得罪了大老闆,只好整組人打包<strike>到夜店尋歡</strike>回家吃自己。不過夜店尋歡就算了,亞當竟然還把帳算到前公司的頭上。大老闆尼可拉斯懷特對此相當不爽,威脅他必須到敵對公司艾康電信去當商業間諜,竊取最新產品的資訊。亞當被逼的別無選擇,只能默然接受。面試過程相當順利,還遇到了在夜店發生一夜情的女主角艾瑪詹寧斯 (由 Amber Heard 飾演),原來她正是艾康電信的大將啊。<br />
為了順利取得機密,亞當不但要拍新老闆賈克高達的馬屁,還得繼續陪女主角上床。就在一次翻雲覆雨後,亞當趁艾瑪洗澡時,順利從艾瑪的電腦中找到新產品的資料,並複製到 USB 隨身碟當中。亞當交差後,尼可拉斯懷特認為取得的資料還不夠,亞當只好規劃再一次的動作 - 侵入艾康研發中心竊取新產品的原型機。亞當成功利用竊取到的女主角指紋進入研發中心的管制區域,不過卻發現原來整件事是新老闆賈克高達的詭計,為的就是引誘尼可拉斯懷特犯罪,以便惡意收購懷特電信。深受無妄之災的亞當,利用原本被打槍的技術,順利取得對話記錄並指引 FBI 前往三人秘密會談的地點,讓兩個老闆一起到牢裡圍爐吃鱉。<br />
<div align="center">
<br />
<span style="color: blue;">男主角亞當是一個手機應用高手</span><br />
<a href="http://lh5.ggpht.com/-5j6nxi8Ders/UvnBCIWvfLI/AAAAAAADq4k/p6m9PV5mFwU/s1600-h/vlcsnap-2014-02-04-22h43m33s10%25255B5%25255D.png"><img alt="vlcsnap-2014-02-04-22h43m33s10" border="0" src="http://lh6.ggpht.com/-mwksIvUzE6s/UvnBDhDS8II/AAAAAAADq4s/iVlM0lRS280/vlcsnap-2014-02-04-22h43m33s10_thumb%25255B3%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h43m33s10" width="482" /></a> </div>
<div align="center">
<span style="color: blue;">健保好,沒有健保只好哭到飽</span><br />
<a href="http://lh6.ggpht.com/-KBOuAZVxsaw/UvmiceJvvhI/AAAAAAADq2o/3-CEklnQtpU/s1600-h/vlcsnap-2014-02-04-22h43m54s233%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h43m54s233" border="0" src="http://lh4.ggpht.com/-gr-nNgNiuLQ/UvmidrgI2lI/AAAAAAADq2w/H-SatVDzGac/vlcsnap-2014-02-04-22h43m54s233_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h43m54s233" width="482" /></a></div>
<div align="center">
<span style="color: blue;">要升級就看這一次了</span><br />
<a href="http://lh4.ggpht.com/-xsuhys6ceL4/Uvmie-yH4eI/AAAAAAADq24/W0uS1wCCiD4/s1600-h/vlcsnap-2014-02-04-22h44m08s133%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h44m08s133" border="0" src="http://lh4.ggpht.com/-nDsJkoZvJNA/UvmigIFyxdI/AAAAAAADq3A/FF-thW3IKRU/vlcsnap-2014-02-04-22h44m08s133_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h44m08s133" width="482" /></a></div>
<div align="center">
<span style="color: blue;">直接被大老闆打槍,冏</span><br />
<a href="http://lh4.ggpht.com/-3J0izvEbzRs/UvmihWMt_0I/AAAAAAADq3I/_fJCjKQ4CTM/s1600-h/vlcsnap-2014-02-04-22h44m23s30%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h44m23s30" border="0" src="http://lh6.ggpht.com/-dqkwq6aGQqU/UvmiiwItvxI/AAAAAAADq3M/2pkwd6ypk-E/vlcsnap-2014-02-04-22h44m23s30_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h44m23s30" width="482" /></a></div>
<div align="center">
<span style="color: blue;">為什麼老外離職都只要一個紙箱就可以清完家當?</span><br />
<img alt="vlcsnap-2014-02-04-22h44m48s12" border="0" src="http://lh5.ggpht.com/-zZjp6anWie0/UvmilyRENbI/AAAAAAADq3g/tb2beD27BjY/vlcsnap-2014-02-04-22h44m48s12_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h44m48s12" width="482" /></div>
<div align="center">
<span style="color: blue;">自動定位美女模式</span><br />
<a href="http://lh5.ggpht.com/-da-cD7DTiWs/UvminSHa29I/AAAAAAADq3o/H08s_lFhVek/s1600-h/vlcsnap-2014-02-04-22h45m14s37%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h45m14s37" border="0" src="http://lh3.ggpht.com/-9z9F-wkO9W4/Uvmipz6SwZI/AAAAAAADq3w/_8Q3Qus-H2s/vlcsnap-2014-02-04-22h45m14s37_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h45m14s37" width="482" /></a></div>
<div align="center">
<span style="color: blue;">不是應該聊聊昨晚的表現嗎?</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL1mlvb-XYXk-kehLfrcgo8lSKYl6h16sIF0LFm1ZuX1s5UdRnYRR83zPO0IUHyB-NWmMPWEO81J5COzo7Z0pAEFGWfh4Z1n9JwjZE_nvCi-Sni-skSD3dIVqD4HYsPpLTUx7GqfYx16tl/s1600-h/vlcsnap-2014-02-04-22h45m26s159%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h45m26s159" border="0" src="http://lh3.ggpht.com/-l83xoch4emk/Uvmisam4fxI/AAAAAAADq4A/QmRWGdrCZpI/vlcsnap-2014-02-04-22h45m26s159_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h45m26s159" width="482" /></a></div>
<div align="center">
<span style="color: blue;">表現可想而知</span><br />
<a href="http://lh5.ggpht.com/-8Sxe0LGI5hg/UvmituntPJI/AAAAAAADq4I/tujE68757-U/s1600-h/vlcsnap-2014-02-04-22h45m39s36%25255B1%25255D.png"><img alt="vlcsnap-2014-02-04-22h45m39s36" border="0" src="http://lh4.ggpht.com/-7XygV9Wfgdk/Uvmiu7g3FaI/AAAAAAADq4Q/qkvkK-6hq8g/vlcsnap-2014-02-04-22h45m39s36_thumb%25255B1%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h45m39s36" width="482" /></a></div>
<div align="center">
<span style="color: blue;">上個夜店竟然要 16000 美金!</span><br />
<a href="http://lh5.ggpht.com/-9HzLjIZZsQU/UvnBE2HUazI/AAAAAAADq40/VYnjKpylU0o/s1600-h/vlcsnap-2014-02-04-22h46m07s50%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h46m07s50" border="0" src="http://lh3.ggpht.com/-rCzblioEarI/UvnBGLGpIeI/AAAAAAADq48/k-DuatWWyao/vlcsnap-2014-02-04-22h46m07s50_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h46m07s50" width="482" /></a></div>
<div align="center">
<span style="color: blue;">當老闆就是懂得把握機會</span><br />
<a href="http://lh3.ggpht.com/-PDBOvEr66Fc/UvnBHZjEK3I/AAAAAAADq5E/mmyi2XjnfP0/s1600-h/vlcsnap-2014-02-04-22h47m50s61%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h47m50s61" border="0" src="http://lh3.ggpht.com/-bH96D04Ana0/UvnBIs_n7CI/AAAAAAADq5M/02uJxyVj8Hw/vlcsnap-2014-02-04-22h47m50s61_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h47m50s61" width="482" /></a></div>
<div align="center">
<span style="color: blue;">快把這個笨小子推出去</span><br />
<a href="http://lh4.ggpht.com/-bdm45RJYflM/UvnBKfWpwRI/AAAAAAADq5U/7_JEBgkds48/s1600-h/vlcsnap-2014-02-04-22h47m58s134%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h47m58s134" border="0" src="http://lh4.ggpht.com/-Z1s0kyRjSq4/UvnBLhGYVYI/AAAAAAADq5c/2lBPsG4b3bg/vlcsnap-2014-02-04-22h47m58s134_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h47m58s134" width="482" /></a></div>
<div align="center">
<span style="color: blue;">面試裝上身</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGcMetK7E_poQB5HF8m8x_UZgeLNo2VEAV2HkngTJi3QsZ5wZx8S8WcEmX_WUeJaSV57ESEaJ-9WKZbSNPWK-1uRCzbQalH9VegaFGNStMGOcVN4-LjcNCcapLtX1NmZQf57lDnRd37t-d/s1600-h/vlcsnap-2014-02-04-22h48m50s152%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h48m50s152" border="0" src="http://lh4.ggpht.com/-ozmfQMfLaiM/UvnBPPFe-eI/AAAAAAADq5s/oTCN77Vwy2Q/vlcsnap-2014-02-04-22h48m50s152_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h48m50s152" width="482" /></a></div>
<div align="center">
<span style="color: blue;">世界真是小小小</span><br />
<a href="http://lh5.ggpht.com/-zkIicRSbRt0/UvnBQpdBtoI/AAAAAAADq50/iwH8IGPKQCU/s1600-h/vlcsnap-2014-02-04-22h49m06s49%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h49m06s49" border="0" src="http://lh6.ggpht.com/-GaLTT5OVXsE/UvnBRyE9wVI/AAAAAAADq58/RQ4uynDNkk0/vlcsnap-2014-02-04-22h49m06s49_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h49m06s49" width="482" /></a></div>
<div align="center">
<span style="color: blue;">還好我已經先在夜店打好關係了</span><br />
<a href="http://lh6.ggpht.com/-VPTVqom6VNo/UvnBTDeohBI/AAAAAAADq6E/XAgF1pSIya4/s1600-h/vlcsnap-2014-02-04-22h49m20s200%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h49m20s200" border="0" src="http://lh6.ggpht.com/-CKGadaknCEU/UvnBUvImuHI/AAAAAAADq6M/JDEp1itg1J0/vlcsnap-2014-02-04-22h49m20s200_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h49m20s200" width="482" /></a></div>
<div align="center">
<span style="color: blue;">這種話還需要用問句嗎?</span><br />
<a href="http://lh4.ggpht.com/-ufhJfu0_zYM/UvnBWG6yAZI/AAAAAAADq6U/-6qQTnxqkuY/s1600-h/vlcsnap-2014-02-04-22h51m33s191%25255B5%25255D.png"><img alt="vlcsnap-2014-02-04-22h51m33s191" border="0" src="http://lh3.ggpht.com/-Vrif9TpoD-w/UvnBXdlA9SI/AAAAAAADq6c/pv2IVls0-JA/vlcsnap-2014-02-04-22h51m33s191_thumb%25255B3%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h51m33s191" width="482" /></a></div>
<div align="center">
<span style="color: blue;">…</span><br />
<a href="http://lh3.ggpht.com/-j4YB8B_pqtI/UvnBYo9PiVI/AAAAAAADq6k/wYq7Bfw7hqk/s1600-h/vlcsnap-2014-02-04-22h52m33s74%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h52m33s74" border="0" src="http://lh4.ggpht.com/-VlbPncVBds8/UvnBaum8tOI/AAAAAAADq6s/mQMdJnbNdus/vlcsnap-2014-02-04-22h52m33s74_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h52m33s74" width="482" /></a></div>
<div align="center">
<span style="color: blue;">我絕不是在偷看女主角洗澡</span><br />
<a href="http://lh3.ggpht.com/-jk_bhr_q2KM/UvnBcOIBW8I/AAAAAAADq60/CWO851sgUzs/s1600-h/vlcsnap-2014-02-04-22h52m46s206%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h52m46s206" border="0" src="http://lh5.ggpht.com/-z_71uCemYUM/UvnBdf3aXtI/AAAAAAADq68/Jvx1wqEenvc/vlcsnap-2014-02-04-22h52m46s206_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h52m46s206" width="482" /></a></div>
<div align="center">
<span style="color: blue;">目錄已經被鎖定</span><br />
<a href="http://lh6.ggpht.com/-19D7SP89oWU/UvnBerV6atI/AAAAAAADq7E/s7K9TP1Pw0g/s1600-h/vlcsnap-2014-02-04-22h53m08s113%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h53m08s113" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiN-HeRi3ENNY-UfU4oAqnM4lmRgUBJrJP5NGA9RM-qyPpSWTJPqPZpz_VeniFbH7FvFMDMc937rzvQoGGSEp_3e_lk2KedZOc_BPUqqpgVWzczTI-TPleiaaTTRt9iEZzUG1VeFsrpIhNA/?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h53m08s113" width="482" /></a></div>
<div align="center">
<span style="color: blue;">不怕,因為…</span><br />
<a href="http://lh3.ggpht.com/-N28jGrUdNfI/UvnBhOihjMI/AAAAAAADq7U/dKLRLiaTwqI/s1600-h/vlcsnap-2014-02-04-22h53m17s5%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h53m17s5" border="0" src="http://lh4.ggpht.com/-4WqLloTLJuc/UvnBisxQ0tI/AAAAAAADq7c/NVFbPW1D9Io/vlcsnap-2014-02-04-22h53m17s5_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h53m17s5" width="482" /></a></div>
<div align="center">
<span style="color: blue;">密碼就藏在包包裡!</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIF7bm1PsY2qx_nwdRzA7HbNaWpWZJx79_3DIO6ox7xBMcEmIF5Li_dOEWhhqiZvvtTivbIwQbeojO3-iL9ZuflLj3ouGfdbi57_LchoapjUtKFYYWxhrGCYbD8byZDtgTI25QCY-HVTWy/s1600-h/vlcsnap-2014-02-04-22h53m39s226%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h53m39s226" border="0" src="http://lh6.ggpht.com/-_gB7ydOMDBM/UvnBlPyUMBI/AAAAAAADq7s/u3fdN_uyVJc/vlcsnap-2014-02-04-22h53m39s226_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h53m39s226" width="482" /></a></div>
<div align="center">
<span style="color: blue;">WiFi 密碼也都幫你傳便便</span><br />
<a href="http://lh3.ggpht.com/-gBvoi59oEm8/UvnBmiMrTAI/AAAAAAADq70/0Fre2Ogqy1Y/s1600-h/vlcsnap-2014-02-04-22h54m00s146%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h54m00s146" border="0" src="http://lh3.ggpht.com/-ZxP01xWMpXQ/UvnBn11edBI/AAAAAAADq78/VieqPId1EMs/vlcsnap-2014-02-04-22h54m00s146_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h54m00s146" width="482" /></a></div>
<div align="center">
<span style="color: blue;">既然有 USB 隨身碟,連 WiFi 是連心酸的嗎?</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyrh7iNwkwdYVBLfsqPcBSPdPZbQTKiWCkAG4MkdxctTEmnsjsGJTooAk7kwUtzsQhpgzH0nhzvV0lRXEBdtzhfHeTGc_5K7SzMvZ4TXl82Yg3Rt3ZFOXHvTgQ9lAooae66Z4mMUrJbVa8/s1600-h/vlcsnap-2014-02-04-22h54m35s0%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h54m35s0" border="0" src="http://lh3.ggpht.com/-odxqELFIBOA/UvnBqQLApUI/AAAAAAADq8M/ImPgR0SmO_k/vlcsnap-2014-02-04-22h54m35s0_thumb%25255B2%25255D.png?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h54m35s0" width="482" /></a></div>
<div align="center">
<span style="color: blue;">為什麼我老是找不到重要的檔案在哪裡?</span><br />
<a href="http://lh6.ggpht.com/-tExWUQlzHPg/UvnBr85JtCI/AAAAAAADq8U/vBFRSJo3sSw/s1600-h/vlcsnap-2014-02-04-22h54m45s106%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h54m45s106" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjglqih4bSaqFndr0pibhyphenhyphenBYC4TE8sVWCdpRIiRoKnx9Sd3u-cKwzyn-EJJleseh1HYZCcN-TJ_kQcv3Mmuwgqb0K6l6-C8CgrPrtY8TZ8U7S025YF63u9MQ96N6MFnTkyxl3DlnaooMIXj/?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h54m45s106" width="482" /></a></div>
<div align="center">
<span style="color: blue;">雖然有些事情慢點好,但是不包含 USB 隨身碟的速度</span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh30h1pwNZRPqseN6w_5vBEietPOFd6cS4zJk2DmRxneMdsFfMfBckmkF1_mMRKuJVeADbTOYawGJPbNin7YJmec35-ua95DN44gFhpoSJ7NFmJ0R8FwYJ8B874CdHrybycJ-u8J9oP6DL8/s1600-h/vlcsnap-2014-02-04-22h55m32s72%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h55m32s72" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-GxFPye-WyrSk56GDuM8xd6wt_rwUsst6u-OXMcsCZ_VjUtfdMwIMjJA7W7EVd6wbcZ9ritBvNkYMOJ9-fMbv2AJSPvdcZst-EOtQDVcWqOIh_Rb61BstVDOXGqXFbWnb70_VSvmnOQRB/?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h55m32s72" width="482" /></a></div>
<div align="center">
<span style="color: blue;">還好動作夠快,順利取得資料</span><br />
<a href="http://lh3.ggpht.com/-csobZeN2lho/UvnBw-j6mtI/AAAAAAADq8w/5FOItKN2B38/s1600-h/vlcsnap-2014-02-04-22h55m45s203%25255B4%25255D.png"><img alt="vlcsnap-2014-02-04-22h55m45s203" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjVP8dV9mIDwAhRLjbD5S9ojLBq3_dJvo8wnseEKV1sQiJwTMXxR2p3XJMKAcKy-hoI7CdmNdIOWxMVVBbAV7bikCZTrx3uTdUADAiNe6YzkFiplFZbXiRZH5ec_IkmuPtQMqPyl8DJZ3H/?imgmax=800" height="272" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2014-02-04-22h55m45s203" width="482" /></a></div>
<div align="left">
USB 隨身碟是一個偉大的發明,帶給我們方便的生活。不過 <span style="color: red;">USB 隨身碟帶來的資安風險,卻也是讓人頭痛不已</span>。USB 隨身碟的問題有兩個面向,一個是往內,另外一個則是往外的。所謂的往內,就是一些<span style="color: red;">惡意的後門程式透過 USB 隨身碟進入電腦,甚至因而擴散到其他的電腦設備</span>。而往外則是<span style="color: red;">不應該外流的資料透過 USB 隨身碟洩漏出去</span>。兩者相較,前者算是比較單純的問題,而後者則複雜許多。原因在於外流的資料包含兩種情況,一種是無意的,另外一種則是有心。一旦這兩種情況混在一起,就會產生方便性與安全性考量的衝突。電影中,<span style="color: red;">男主角利用 USB 隨身碟帶走了女主角電腦中的機密資料就屬於有心的資料外流意外。雖然女主角有針對目錄進行鎖定,但是把密碼跟電腦一起放在包包裡,就跟把 ATM 提款機密碼寫在提款卡上面的行為一樣智障</span>。</div>
<div align="left">
針對 USB 隨身碟的資安問題,一般常見的簡單手法包含限制 USB 使用、限制可連線的 USB 設備等。不過這些手法通常只有開跟關的選擇,應用上的限制較多,<span style="color: red;">比較完整的方案則屬於資料外洩防護 (DLP) 與加密 (DRM) 兩種類型</span>。簡單來說,DLP 著重在資料流出前的保護,而 DRM 則在流出後的保護。流出後的保護?沒錯,因為前面說到資料的流出可能是無心的 (例如 USB 隨身碟遺失),甚至是必要的 (如透過 USB 隨身碟把檔案交給第三方),而 DRM 可以確保這類狀況不會危害到資料的安全。在技術上,DLP 與 DRM 並不是二選一的問題。不過在實務應用與經濟考量上,DLP 與 DRM 通常不會一起導入,甚至一同運作時會互相影響。至於要選哪個,就看企業自己的評估與考量了。</div>
Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-63669701698178573212014-02-04T20:03:00.000+08:002014-02-04T20:15:12.167+08:00[從電影看資安] 權限管理做的好,核彈乖乖不亂跑 - 白宮末日<p>去年美國白宮可說是流年不利,一連被炸毀了兩次,一次是在電影「<a href="http://www.imdb.com/title/tt2302755/" target="_blank">全面攻佔:倒數計時</a>」中,另外一次則是在今天我要跟各位分享的這部電影 - 「<a href="http://www.imdb.com/title/tt2334879/" target="_blank">白宮末日</a>」中。</p> <p>講到美國政府,恐怖份子的目標總是不離核彈,而這兩部片也都無法免俗。在全面攻佔這部片中,三個美國最有權力的政治人物必須同時提供自己的密碼才能夠啟動核彈。雖然細節上有所不同,不過概念上與我之前的文章「<a href="http://cyrilwang.blogspot.tw/2009/01/two-man-control.html" target="_blank">缺一不可 – Two-Man Control</a>」一樣,只是角色從兩個人變成了三個人。</p> <p>至於在白宮末日中,核彈的啟動則同時需要美國總統的血型 (?)/心跳與密碼,在資安上屬於多重因素驗證 (Multi-factor Authentication) 機制。以發射核彈這樣高度敏感的作業而言,採用 Two-Man Control 會比多重因素驗證來的保險許多,原因在於可以避免因為美國總統個人的失心瘋而造成世界毀滅。不過這次分享內容的重點不在此,我們從權限的管理(回收)來看這個事件:</p> <p align="center"><font color="#0000ff">男主角從 G.I. Joe 逃脫後變成了議長的隨扈 <br /></font><a href="http://lh6.ggpht.com/-HaQQyspo4BU/UvDJNPP1-fI/AAAAAAADoxY/s9XoGWLGNTA/s1600-h/vlcsnap-2013-12-31-16h00m21s50%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h00m21s50" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h00m21s50" src="http://lh3.ggpht.com/-AEhm84cYla4/UvDJP3f7cnI/AAAAAAADoxg/IfljkGvaM5Y/vlcsnap-2013-12-31-16h00m21s50_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">有夠無聊的工作</font><a href="http://lh6.ggpht.com/-BVjJ0L8PpJg/UvDJRY1QH6I/AAAAAAADoxo/DUrbhQHneTk/s1600-h/vlcsnap-2013-12-31-16h00m35s32%25255B3%25255D.png"> <br /><img title="vlcsnap-2013-12-31-16h00m35s32" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h00m35s32" src="http://lh4.ggpht.com/-pwnWHKMGCxc/UvDJSxakY7I/AAAAAAADoxw/VFPT2cgOgkc/vlcsnap-2013-12-31-16h00m35s32_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">還是當總統的隨扈比較屌,趕緊找關係</font> <br /><a href="http://lh5.ggpht.com/-RQNp-mpP2uY/UvDJUQfn9pI/AAAAAAADox4/1RoCRooNhQU/s1600-h/vlcsnap-2013-12-31-16h02m12s237%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h02m12s237" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h02m12s237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKEdxBOnM35izvAZcjWsZAhnJipbmMTvacpurtAotKVgom7fzvvKQ2EcrOPBMHiZe6MuEM3ydWzzFoyrami-HplSslDm_AoNwukUXs5IeamJTdamwbBYVD7HU8IwhEuRNDA6v28K37BK95/?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">即使出賣身體也不在乎</font> <br /><a href="http://lh6.ggpht.com/-6nx-DnNRU1I/UvDJXtIjmbI/AAAAAAADoyI/0sVKaurrIkI/s1600-h/vlcsnap-2013-12-31-16h02m29s153%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h02m29s153" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h02m29s153" src="http://lh4.ggpht.com/--UIkTMIreqE/UvDJZ04819I/AAAAAAADoyQ/L4-VjUtimA4/vlcsnap-2013-12-31-16h02m29s153_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">人帥真好! <br /></font><a href="http://lh5.ggpht.com/-xFEuYz7CsMI/UvDJbW2zanI/AAAAAAADoyY/1oGiqh4PsTA/s1600-h/vlcsnap-2013-12-31-16h02m47s62%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h02m47s62" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h02m47s62" src="http://lh4.ggpht.com/-MefkC1M9JhY/UvDJcts9CdI/AAAAAAADoyg/lkXMINJaTx8/vlcsnap-2013-12-31-16h02m47s62_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a><font color="#0000ff"></font></p> <p align="center"><font color="#0000ff">既然都出賣身體了,多要幾張白宮通行證也只是剛好</font><a href="http://lh6.ggpht.com/-obMp1dRHuA0/UvDJeBDl4AI/AAAAAAADoyo/jeYP3cXTN_Y/s1600-h/vlcsnap-2013-12-31-16h03m06s21%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h03m06s21" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h03m06s21" src="http://lh5.ggpht.com/-O_3IOoRRHRA/UvDJgJMY8RI/AAAAAAADoyw/7Kp-5kC01wE/vlcsnap-2013-12-31-16h03m06s21_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">當然沒時間去看女兒的才藝表演,因為去<strike>陪吃飯</strike>保護議長了</font><a href="http://lh3.ggpht.com/-NDAGKTJMu0k/UvDJh8K_rTI/AAAAAAADoy4/BV1Hz3NTnaM/s1600-h/vlcsnap-2013-12-31-16h08m10s212%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h08m10s212" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h08m10s212" src="http://lh4.ggpht.com/-v0MJPgM07dA/UvDJjYX6JeI/AAAAAAADozA/wS-8q-JZdaw/vlcsnap-2013-12-31-16h08m10s212_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">拯救世界的英雄一開始一定是個糟老爸</font><a href="http://lh3.ggpht.com/-AcPFth5A7YI/UvDJk0KfzNI/AAAAAAADozI/KS9U9gcnDy8/s1600-h/vlcsnap-2013-12-31-16h10m09s99%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h10m09s99" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h10m09s99" src="http://lh4.ggpht.com/-qHyWRzWZzNM/UvDJmKDLtLI/AAAAAAADozQ/kgk1zRFU-Co/vlcsnap-2013-12-31-16h10m09s99_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">這是美國總統隨扈的指揮官,兒子戰死在國外的一次行動中</font><a href="http://lh6.ggpht.com/-9HsxVU3Ews0/UvDJpC6FtZI/AAAAAAADozY/jLX0tw016-g/s1600-h/vlcsnap-2013-12-31-16h12m39s38%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h12m39s38" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h12m39s38" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq-3WjR_C565fcw7BeLLXlq17T8MBqDc9moMSTowFGBIZRHBbdIHbbnOC2k5HDK2TCTo5ZNvig5pA2spt2GExzglQDsDbavJYSMuCjikdIYCIDZkD5ZKquLoTzP7I2Ef9ZavLQpe_JcTWD/?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">男主角的女兒是個政治迷,連 PEOC 這麼專業的名詞都知道</font><a href="http://lh3.ggpht.com/-VvD2ravIf7o/UvDJsBl2VCI/AAAAAAADozo/YU_jhENQpVI/s1600-h/vlcsnap-2013-12-31-16h20m31s197%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h20m31s197" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h20m31s197" src="http://lh6.ggpht.com/-j0u9LFvHdcA/UvDJtlcLAnI/AAAAAAADozw/SEh07ndnpbo/vlcsnap-2013-12-31-16h20m31s197_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">解說員當然要臭屁一下,據說連核彈都炸不穿是吧?</font><a href="http://lh5.ggpht.com/-POmFd1fulmI/UvDJvdQrlFI/AAAAAAADoz4/1XPykwPfbi4/s1600-h/vlcsnap-2013-12-31-16h21m52s10%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h21m52s10" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h21m52s10" src="http://lh3.ggpht.com/-FTwoeixJ8a0/UvDJw76ncXI/AAAAAAADo0A/9osdzM1tREc/vlcsnap-2013-12-31-16h21m52s10_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">轟!</font> <br /><a href="http://lh3.ggpht.com/-KN8IrDAimn0/UvDJygFoMsI/AAAAAAADo0I/Y4GE0psffNQ/s1600-h/vlcsnap-2013-12-31-16h13m13s101%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h13m13s101" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h13m13s101" src="http://lh3.ggpht.com/-2DlqUyHm9A4/UvDJ0JcavTI/AAAAAAADo0Q/xG4eSrxEb58/vlcsnap-2013-12-31-16h13m13s101_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">白宮”又”被炸了 <br /></font><a href="http://lh4.ggpht.com/-b_FIqaL0h74/UvDJ1vq9pRI/AAAAAAADo0Y/biqQuGQ4Mxk/s1600-h/vlcsnap-2013-12-31-16h13m29s92%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h13m29s92" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h13m29s92" src="http://lh4.ggpht.com/-4HKfZb6JKo0/UvDJ3BzHWgI/AAAAAAADo0g/CZHEW5SzN_A/vlcsnap-2013-12-31-16h13m29s92_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">恐怖份子</font> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivF8jt0DQPze9yHypri04qXWuGOBaS11zYmBJWmrdOkYpDonlJh-oBkX-ouoGlsHW5ial-ujOIIW-qY4RsNNJIna_VVTJfMMU6mKsCEgUhF0qPfo1tUIZQePRaNrYmZSJuueprR4KB1CVa/s1600-h/vlcsnap-2013-12-31-16h17m02s198%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h17m02s198" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h17m02s198" src="http://lh5.ggpht.com/-sbWgFJUl7b0/UvDJ6H-Ec4I/AAAAAAADo0w/OHytPeTos9A/vlcsnap-2013-12-31-16h17m02s198_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">比恐怖份子還恐怖的內奸,PEOC 再猛也沒用 <br /></font><a href="http://lh5.ggpht.com/-EVhXg_d2C9w/UvDJ7irWnJI/AAAAAAADo04/ck2Z_21PV8A/s1600-h/vlcsnap-2013-12-31-16h19m06s132%25255B4%25255D.png"><img title="vlcsnap-2013-12-31-16h19m06s132" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h19m06s132" src="http://lh5.ggpht.com/-zEshpB2Vn-s/UvDJ86AxGRI/AAAAAAADo1A/GAD6jNx-728/vlcsnap-2013-12-31-16h19m06s132_thumb%25255B2%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">男主角”不小心”就救了美國總統</font><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHG1utQQD2nljG617M6MvLiOIaJigdx8lFmhTZrqzAFoUedMR6ZcS3BAGlTPP8-m14DL6ZXivpt11fQ7xTARiQKNMDQvLDjaCJJB3bbt6vmBGQWtJDG40aTAlaxTPmlM-WLwxPXxh38TQ1/s1600-h/vlcsnap-2013-12-31-16h28m33s175%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h28m33s175" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h28m33s175" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitFSpXrpI_pgVpyWAC30ngYGnC79EQxiJZVZHRexf4cqGQI7FMWEIIOYt59tPUHWQdst51vKQCwiMpUxh_a9YJ-d313sqcS0xZyi1plUEr2_VUcLcGrX86wqnpvH7ZPfJ8p6xihsCLaeG4/?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">破解核彈發射密碼只要30分鐘!</font><a href="http://lh4.ggpht.com/-0mOyPmrGI-I/UvDKBjp5Q1I/AAAAAAADo1Y/n71HXd69xaQ/s1600-h/vlcsnap-2013-12-31-16h31m20s30%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h31m20s30" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h31m20s30" src="http://lh3.ggpht.com/-bv4DvitoyEk/UvDKDBxqtEI/AAAAAAADo1g/U_CB-ga1iQc/vlcsnap-2013-12-31-16h31m20s30_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">副總統搭著空軍一號到天上避難去了</font><a href="http://lh5.ggpht.com/-ltD7MMcZ2AU/UvDKEtmuSpI/AAAAAAADo1o/viIBIpq3TbE/s1600-h/vlcsnap-2013-12-31-16h34m53s126%25255B3%25255D.png"><u><font color="#c28d5c"></font></u><img title="vlcsnap-2013-12-31-16h34m53s126" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h34m53s126" src="http://lh5.ggpht.com/-eAF5kINsJ3k/UvDKF_lR4JI/AAAAAAADo1w/fk1N_E6H1kQ/vlcsnap-2013-12-31-16h34m53s126_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">不錯,還記得要更換核彈發射密碼</font><a href="http://lh4.ggpht.com/-LHf9nAhJgYc/UvDKHW_GSwI/AAAAAAADo14/RGLaQHNHPZM/s1600-h/vlcsnap-2013-12-31-16h35m14s47%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h35m14s47" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h35m14s47" src="http://lh3.ggpht.com/-vnri3jrR4-M/UvDKJ0LbMwI/AAAAAAADo2A/3PgIwz3OuCQ/vlcsnap-2013-12-31-16h35m14s47_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">一行人對於如何處理美國總統失聯一事爭論不已</font><a href="http://lh3.ggpht.com/-XZyQn5bWM8Y/UvDKLUCZC6I/AAAAAAADo2I/QSEhpC7qTUk/s1600-h/vlcsnap-2013-12-31-16h45m56s130%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h45m56s130" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h45m56s130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsLvncXx-QZzIGp-2lEmXhyphenhyphenxhXzyQkjh2mhT4-ghVF2kElFAd747wYEZ61uPuxgNSpx4aOssax6be-FVBsH8vPjhxrHwfhopMITfOF-ZcdDIM471BbFiZUCiquYrKWyWh2J8pziR7I6lJQ/?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">好機會</font> <br /><a href="http://lh6.ggpht.com/-Xc31eu2yIHQ/UvDKOMbxUsI/AAAAAAADo2Y/RLKpjFlXFfQ/s1600-h/vlcsnap-2013-12-31-16h46m35s2%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-16h46m35s2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-16h46m35s2" src="http://lh4.ggpht.com/-muEQvCQoEQ0/UvDKP7fs4TI/AAAAAAADo2g/h7OMyf-SguY/vlcsnap-2013-12-31-16h46m35s2_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">副總統在空軍一號上宣示成為總統 <br /></font><a href="http://lh6.ggpht.com/-MZkmnd5dRjM/UvDKRscP0yI/AAAAAAADo2o/-Bns_z2GAyM/s1600-h/vlcsnap-2013-12-31-17h05m39s164%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h05m39s164" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h05m39s164" src="http://lh5.ggpht.com/-ORtZaMpM5XQ/UvDKS8-5NBI/AAAAAAADo2w/NN0t9cdg_oc/vlcsnap-2013-12-31-17h05m39s164_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">熱騰騰的核彈發射密碼 <br /></font><a href="http://lh6.ggpht.com/-_C9ez6os8qE/UvDKURacRvI/AAAAAAADo24/SonHFaPcUFQ/s1600-h/vlcsnap-2013-12-31-17h06m31s125%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h06m31s125" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h06m31s125" src="http://lh5.ggpht.com/-EiKAdTN_FmQ/UvDKVmDCNsI/AAAAAAADo3A/atj4PhHRqxM/vlcsnap-2013-12-31-17h06m31s125_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">是有沒有這麼倒楣?</font> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3BVbhpQtbyGTVtvLZt_FsoYCCH4mw3MwfRKf5k7HUneT6HQY4aObov8iDZ-LFBOMMYkGAwkM6Ru1Wgc7dfTF08MsbqeotRAVwzWfw0gNj86D6a3mxWRtY50ycbBjMUcLclFVduZ2oWCPK/s1600-h/vlcsnap-2013-12-31-17h10m17s116%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h10m17s116" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h10m17s116" src="http://lh6.ggpht.com/-NIIH9HQk9MI/UvDKYi-LU9I/AAAAAAADo3Q/UiXSWzecmGU/vlcsnap-2013-12-31-17h10m17s116_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">這下真的升天了</font> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCr_kuL6Zbw3bis0Sct6_9a4ioYtMKPXfvQVdoRWA1gHjrIPYgdpeSwBkczWDTseRZSZW7HZYgKcBv3VEcZy2o99qLYNZKAqbUS7Je_gqgZXK_bFLPRScY10Mgcpr6vZzWk-ke4DEgEcHA/s1600-h/vlcsnap-2013-12-31-17h10m31s5%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h10m31s5" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h10m31s5" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGMosBQ8b-ASp0hKxexF92WVdUP4lcTFgRlweTnpFz9uyYRvpUcksLCIcavgHoJrsYJgzW6cEq12HVKwffltThCQI_Ot25_rf9zcQhXK9-C-YcnzpxQQWFiXsRHEC5j__qKPeGpqK7W6QC/?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">冏~史上最短命的美國總統</font><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9yDJc6XIEhfdLdxtbRsHKlGJzvfBEEaxvcCMI9fUjkDT7ye2nmE78Qf25nOjTu7C2VPFM2YEooCLrsX8nQUEhf1z4C1WSxd0nv5xJBcCaEb9RStxbNCAsZALFORK8wjs62c_OWE4yi4l7/s1600-h/vlcsnap-2013-12-31-17h11m17s218%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h11m17s218" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h11m17s218" src="http://lh6.ggpht.com/-coEFOrLKuBE/UvDKelnPPeI/AAAAAAADo3w/6u_bas0mTFc/vlcsnap-2013-12-31-17h11m17s218_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">老三也會出頭天,議長成為新的總統 <br /></font><a href="http://lh4.ggpht.com/-i3xL9etICcw/UvDKgGMn5PI/AAAAAAADo34/frQlZUpu-eo/s1600-h/vlcsnap-2013-12-31-17h11m26s55%25255B4%25255D.png"><img title="vlcsnap-2013-12-31-17h11m26s55" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h11m26s55" src="http://lh3.ggpht.com/-7O73lZWiYkI/UvDKhlwgAcI/AAAAAAADo4A/iSmHQLqZtK4/vlcsnap-2013-12-31-17h11m26s55_thumb%25255B2%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">核彈發射器</font> <br /><a href="http://lh4.ggpht.com/-oVeIzoXer-M/UvDKjWLeaII/AAAAAAADo4I/ItTTtUb6N48/s1600-h/vlcsnap-2013-12-31-17h14m20s16%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h14m20s16" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h14m20s16" src="http://lh3.ggpht.com/-40LcOTo6oHA/UvDKkwjH7bI/AAAAAAADo4Q/qEAfB5BMdKw/vlcsnap-2013-12-31-17h14m20s16_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">真是先進的技術,血型也可以拿來當做身分辨識 (?)</font><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5BYZr0_ft7GFqWCKt7vi3zupudr4iBq78TTs_GQXEYJrXHRx3Pe5yX5c0rXbC2dEF6sUaxCj2RA5mJeRlDdKxK2jjvm8reIJ4xvQ0xw_ypsWw92dL4Wttsh-68AvXlC47uZrL7802U17G/s1600-h/vlcsnap-2013-12-31-17h14m33s105%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h14m33s105" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h14m33s105" src="http://lh5.ggpht.com/-5fTLAvfAMfs/UvDKn1IR9kI/AAAAAAADo4g/o2i2Dr5WbgU/vlcsnap-2013-12-31-17h14m33s105_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">原本的美國總統終於露面啦,不過他已經被取代兩次,密碼沒用也是必然</font><a href="http://lh6.ggpht.com/-S0nnyfPYt0A/UvDKpYy4RrI/AAAAAAADo4o/M7lj6bXPpH4/s1600-h/vlcsnap-2013-12-31-17h47m45s77%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h47m45s77" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h47m45s77" src="http://lh3.ggpht.com/-o2XVZag_h-g/UvDKq4q7pNI/AAAAAAADo4w/hgK1mtFEjsA/vlcsnap-2013-12-31-17h47m45s77_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">大叔可是很堅持的</font> <br /><a href="http://lh4.ggpht.com/-Azuqc9YuZbI/UvDKsQNOyLI/AAAAAAADo44/i713-rtiV0M/s1600-h/vlcsnap-2013-12-31-17h51m14s148%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h51m14s148" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h51m14s148" src="http://lh4.ggpht.com/-V0V-QcLUpdY/UvDKtxpwTkI/AAAAAAADo5A/5ojVPeFrTXE/vlcsnap-2013-12-31-17h51m14s148_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">這到底是偵測血型還是掌紋啊?不過多了好幾根手指頭,是外星人的掌紋吧</font><a href="http://lh3.ggpht.com/-4e0ZKhOsUX0/UvDKvohgweI/AAAAAAADo5I/4Q03subxlvo/s1600-h/vlcsnap-2013-12-31-17h51m22s215%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h51m22s215" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h51m22s215" src="http://lh6.ggpht.com/-1Ytj9ab3g6g/UvDKw8qG6fI/AAAAAAADo5Q/mUWpTSe3P9U/vlcsnap-2013-12-31-17h51m22s215_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">這樣也行!</font> <br /><a href="http://lh6.ggpht.com/-xoy3LgUvJ4s/UvDKyc-cH1I/AAAAAAADo5Y/rTcRbHTiacU/s1600-h/vlcsnap-2013-12-31-17h52m00s65%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h52m00s65" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h52m00s65" src="http://lh5.ggpht.com/-OroZiDoolCM/UvDKzzXdX0I/AAAAAAADo5g/mjYD2QG9bdA/vlcsnap-2013-12-31-17h52m00s65_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">沒想到大叔連核彈發射密碼都有</font><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI8k7x6vUb3q7W85J9gczeQxJh3IcuJUwE3TmJcBppp2nD8MMEd1weMR4iNK6AaXKFxhAyHHAVy4KhpuwLoXzl-WaZe6EN5jy8mmsm8xGV-4qNBkj51r1CPr8-x3kg7IbW717-gLGcx762/s1600-h/vlcsnap-2013-12-31-17h54m00s239%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h54m00s239" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h54m00s239" src="http://lh6.ggpht.com/-bZqKNMhO_Pg/UvDK2sJHRvI/AAAAAAADo5w/2549Z6E5rv4/vlcsnap-2013-12-31-17h54m00s239_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">有需要這麼驚訝嗎?</font> <br /><a href="http://lh3.ggpht.com/-b_DXWD8sDeE/UvDK4FgeH0I/AAAAAAADo54/JvOA2ypZOwo/s1600-h/vlcsnap-2013-12-31-17h54m16s134%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h54m16s134" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h54m16s134" src="http://lh4.ggpht.com/-4B_ux8SETRo/UvDK5jZVXAI/AAAAAAADo6A/XYwVMFT3SBw/vlcsnap-2013-12-31-17h54m16s134_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">想也知道就是你這個老三搞的鬼啊</font> <br /><a href="http://lh4.ggpht.com/-G9NMtymbmog/UvDK7qidOSI/AAAAAAADo6I/NNQpKaKkuZE/s1600-h/vlcsnap-2013-12-31-17h56m14s57%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h56m14s57" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h56m14s57" src="http://lh6.ggpht.com/-rS6bm9GUfIA/UvDK9GqtmRI/AAAAAAADo6Q/UFJtw_qWYgw/vlcsnap-2013-12-31-17h56m14s57_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">Money Talks <br /></font><a href="http://lh4.ggpht.com/-tUNxNmM4uks/UvDK-rhFx_I/AAAAAAADo6Y/vgyADVIJgpY/s1600-h/vlcsnap-2013-12-31-17h56m33s13%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h56m33s13" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h56m33s13" src="http://lh5.ggpht.com/-wTbAeSVSZzo/UvDK_73xaGI/AAAAAAADo6g/xlU-SZ2P-JY/vlcsnap-2013-12-31-17h56m33s13_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p align="center"><font color="#0000ff">終究還是邪不勝正啊</font> <br /><a href="http://lh6.ggpht.com/-fJRYrSLsLdE/UvDLBSvgN5I/AAAAAAADo6o/QI1kXu9QdwY/s1600-h/vlcsnap-2013-12-31-17h58m03s197%25255B3%25255D.png"><img title="vlcsnap-2013-12-31-17h58m03s197" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="vlcsnap-2013-12-31-17h58m03s197" src="http://lh5.ggpht.com/-KVOu71ViZTE/UvDLC16V5TI/AAAAAAADo6w/NEjDpCHyEpI/vlcsnap-2013-12-31-17h58m03s197_thumb%25255B1%25255D.png?imgmax=800" width="484" height="274" /></a></p> <p>在電影中,<font color="#ff0000">原本的美國總統在被取代後,雖然重新設定過核彈發射密碼,但是卻沒有把開啟核彈發射器的血型跟心跳資訊一併予以更新</font>。幸好原本的美國總統是屬於正義的那一方,如果是敵人,可就真的 GG 了。</p> <p>雖然一般公司不會擁有核彈,但是卻有各式各樣的資訊系統。在這些系統中,總存在著許多的權限,其中尤以特權最為重要,擁有特權可以做出一般權限無法完成的事情。舉例來說,系統的管理者帳號就是一種特權,可以做的事…幾乎是所有事情了吧!所以很多公司的老闆平時對系統管理者可說是又愛又恨。只不過兩者之間通常相安無事,直到系統管理者離職的前一刻…如果又是非自願離職,老闆可能得提心吊膽好一陣子了。</p> <p><font color="#ff0000">如何落實權限的發放與回收,尤其是針對所謂的特權帳號,對老闆們而言可說是一項重要的安全考量。</font><font color="#ff0000">常見的資安措施如限制共享帳號、最小權限原則、定期更換密碼、多重因素驗證、稽核與完善的作業流程,都可以協助權限管理的進行。只不過權限管理沒有萬靈丹,所以必須多方加以考量,以免像電影情節般地百密一疏,功虧一簣了。</font></p> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-20675208496010077612014-01-10T14:01:00.000+08:002016-08-10T22:54:40.458+08:00[工具介紹] Apache 模組 mod_security - 以阻擋造訪路徑攻擊為例在<a href="http://cyrilwang.blogspot.tw/2014/01/blog-post.html" target="_blank">前一篇文章</a>中,我提到<span style="color: red;">網站應用程式的安全問題,光靠定期更新並不能有效加以解決</span>。透過 Secure SDLC 與 Secure Coding 的施作,才能有效提昇系統的整體安全性。而在<a href="http://cyrilwang.blogspot.tw/2014/01/path-traversal-attack.html" target="_blank">前兩篇文章</a>中,我提到了這幾天遠通電信網站被發現的一個安全漏洞 - 造訪路徑攻擊,也提到了一些防護手法。<br />
但是回到現實面,我們知道很多時候該做的事情就是沒辦法進行,所以文章中提到的防護手法不一定能夠順利實施。原因有很多,不過歸到底通常都出在人身上。正所謂樹多有枯枝,人多有白痴。那怕只是一個程式設計師的一時鬼遮眼,都有可能讓系統產生莫大的安全漏洞。針對這種狀況,通常建議的作法就是採用 <a href="http://cyrilwang.blogspot.tw/2010/08/virtual-patching.html" target="_blank">Virtual Patching</a>,白話一點來說就是導入 WAF (Web Application Firewall)。不過再次回到現實面的現實面,<span style="color: red;">導入 WAF 的金錢成本相當高</span>,通常沒有準備七位數是沒有廠商會理你的。<br />
好消息是沒錢也有沒錢的作法,其中 Apache 的 mod_security 模組正是一個免費的好用工具。在這次的文章中,我將示範如何利用 mod_security 來阻擋造訪路徑攻擊,環境為 CentOS 6。在進行前必須提醒讀者,因為<span style="color: red;">示範過程將會改變網站的存取行為,因此請不要直接在正式的環境模擬</span>。<br />
為了完成這次的範例,我先在網站上放置了一個 PHP 程式 – get_file_content.php,其內容為
<br />
<pre class="brush: php"><?php
$content = file_get_contents($_GET['path']);
echo nl2br($content);
?></pre>
這個程式的功能很簡單,就是讓使用者透過 path 變數指定某個檔案名稱,然後程式就會將檔案內容完整顯示出來。所以當我們呼叫 get_file_content.php?path=../../../../../../etc/passwd 時,應該會看到這個熟悉的畫面 <br />
<a href="http://lh6.ggpht.com/-TlrFo7CGdZc/Us7kYlB1XGI/AAAAAAADovI/Msmw2OW3zb0/s1600-h/image%25255B4%25255D.png"><img alt="image" border="0" src="http://lh6.ggpht.com/-Cg8nUDG4sCI/Us7kaATz-1I/AAAAAAADovQ/ynk1QjQ-bSk/image_thumb%25255B2%25255D.png?imgmax=800" height="396" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="642" /></a> <br />
接下來,就讓我們一步步完成今天的範例吧。<br />
<ul>
<li>安裝 EPEL Repository <br />EPEL 提供了 mod_security 的 RPM 套件,可以大幅簡化安裝與日後更新的動作,所以我選擇透過 EPEL 來安裝 mod_security。請先在 <a href="https://fedoraproject.org/wiki/EPEL">https://fedoraproject.org/wiki/EPEL</a> 下載並安裝適合的版本。</li>
<li>安裝 mod_security <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">yum -y install mod_security</code></pre>
</li>
<li>新增造訪路徑攻擊字串的規則 <br />mod_security 的規則設定檔放在目錄 /etc/httpd/modsecurity.d/activated_rules 內,檔案名稱必須以 .conf 結尾。請在這個目錄產生一個稱為 testing.conf 的檔案,並在檔案內加入下列內容 <pre class="CICodeFormatter"><code class="CICodeFormatter">SecRule REQUEST_URI "../" "phase:1,t:urlDecode,log,deny,status:503,id:1000"</code></pre>
</li>
<li>重新讀取 apache 設定檔 <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">service httpd reload</code></pre>
</li>
<li>重新載入網址 <br />此時畫面應該會出現錯誤訊息 (Code=503) <br /><a href="http://lh5.ggpht.com/-1OtY10DhgaA/Us7kbu5UdoI/AAAAAAADovY/bPGFALaK1BM/s1600-h/image%25255B19%25255D.png"><img alt="image" border="0" src="http://lh5.ggpht.com/-twtJsnygEl8/Us7kdUulWTI/AAAAAAADovg/2oGSP12C6go/image_thumb%25255B11%25255D.png?imgmax=800" height="396" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="642" /></a></li>
<li>查看阻擋記錄 <br />我們可以在日誌檔 /var/log/httpd/modsec_audit.log 看到類似下列的訊息
<pre class="brush: plain">--48927b7c-A--
[10/Jan/2014:01:24:19 +0800] Us7bQ8CoAHcAAEwAH-AAAAAB 192.168.10.11 51517 192.168.10.10 80
--48927b7c-B--
GET /get_file_content.php?path=../../../../../../etc/passwd HTTP/1.1
Host: 192.168.10.10
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 OPR/18.0.1284.68
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4
--48927b7c-F--
HTTP/1.1 503 Service Temporarily Unavailable
Content-Length: 402
Connection: close
Content-Type: text/html; charset=iso-8859-1
--48927b7c-E--
--48927b7c-H--
Message: Access denied with code 503 (phase 1). Pattern match "../" at REQUEST_URI. [file "/etc/httpd/modsecurity.d/activated_rules/testing.conf"] [line "1"] [id "1000"]
Action: Intercepted (phase 1)
Stopwatch: 1389288259978368 472 (- - -)
Stopwatch2: 1389288259978368 472; combined=48, p1=43, p2=0, p3=0, p4=0, p5=5, sr=0, sw=0, l=0, gc=0
Response-Body-Transformed: Dechunked
Producer: ModSecurity for Apache/2.7.3 (http://www.modsecurity.org/).
Server: Apache/2.2.15 (CentOS)
Engine-Mode: "ENABLED"
--48927b7c-Z--</pre>
</li>
<li>下載 OWASP 規則 <br />透過一個簡單的規則,我們就可以避免造訪路徑攻擊。儘管如此,這個規則其實功能有限,因為它只檢查了 Request 字串,萬一是透過 POST (也就是 Content Body) 傳遞攻擊字串,那可就一點也派不上用場了。 <br />撰寫規則這種事,最好還是讓給專業的來。目前 mod_security 提供兩組規則,其中一組<a href="http://www.modsecurity.org/projects/commercial/rules/" target="_blank">要錢</a>,另外一組由 <a href="https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project" target="_blank">OWASP 所維護的規則</a>則免費使用。在此我們選用 OWASP 的免費規則,指令如下
<pre class="brush: shell">cd /etc/httpd/modsecurity.d
rm –f activated_rules/testing.conf
wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master -O owasp-modsecurity-crs.master.tgz
tar xvfz owasp-modsecurity-crs.master.tgz</pre>
</li>
<li>安裝所需規則 <br />我們下載的檔案內包含許多規則,一般而言,我們不會啟用全部的規則。在此範例中,我們僅會啟用示範所需的規則。指令如下
<pre class="brush: shell">cd activated_rules/
cp ../SpiderLabs-owasp-modsecurity-crs-f4d33c4/modsecurity_crs_10_setup.conf.example modsecurity_crs_10_setup.conf
ln –s ../SpiderLabs-owasp-modsecurity-crs-f4d33c4/base_rules/modsecurity_crs_42_tight_security.conf modsecurity_crs_42_tight_security.conf</pre>
</li>
<li>重新讀取 apache 設定檔 <br />指令是<pre class="brush: shell">service httpd reload</pre>
</li>
<li>重新載入網址 <br />此時畫面應該會出現錯誤訊息 (Code=403) <br /><a href="http://lh6.ggpht.com/-BXcaMqfOQyk/Us7kfILXpqI/AAAAAAADovo/qNzDc0nHoNU/s1600-h/image%25255B14%25255D.png"><img alt="image" border="0" src="http://lh6.ggpht.com/-nBjDvGzF0Xw/Us7kgr95niI/AAAAAAADovw/1HM05OP8bzw/image_thumb%25255B8%25255D.png?imgmax=800" height="396" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="642" /></a> <br />雖然錯誤訊息有所不同,但是一樣達到阻擋造訪路徑攻擊的目的。</li>
<li>新增其他規則 <br />等等,萬一駭客輸入的攻擊字串不包含 ../,而是直接輸入 /etc/passwd 呢?令人驚訝的是,呼叫 get_file_content.php?path=/etc/passwd 依舊會直接顯示出檔案內容。因為 /etc/passwd 實在太過重要,所以 OWASP 提供了其他的規則以避免這類攻擊字串,指令如下
<pre class="brush: shell">ln –s ../SpiderLabs-owasp-modsecurity-crs-f4d33c4/base_rules/modsecurity_40_generic_attacks.data modsecurity_40_generic_attacks.data
ln –s ../SpiderLabs-owasp-modsecurity-crs-f4d33c4/base_rules/modsecurity_crs_40_generic_attacks.conf modsecurity_crs_40_generic_attacks.conf</pre>
</li>
<li>再次重新讀取 apache 設定檔 <br />指令是<pre class="brush: shell">service httpd reload</pre>
</li>
<li>再次測試 <br />此時呼叫 get_file_content.php?path=/etc/passwd 應該也會看到錯誤訊息了 <br /><a href="http://lh3.ggpht.com/-6xPPNMK72tE/Us7khgGmDPI/AAAAAAADov4/1iCCTSB3azs/s1600-h/image%25255B24%25255D.png"><img alt="image" border="0" src="http://lh5.ggpht.com/-x9Yjsw5vQ7I/Us7kjBOGbUI/AAAAAAADowA/z_Z_nmWAjQw/image_thumb%25255B14%25255D.png?imgmax=800" height="396" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="642" /></a></li>
</ul>
<span style="color: red;">透過 mod_security 與 OWASP 提供的規則,我們就可以輕鬆避免遭受造訪路徑的攻擊</span>。好啦,輕鬆兩字是騙人的,<span style="color: red;">儘管 mod_security 解決了金錢成本的問題,但是導入 WAF 時所可能遭遇的其他問題,還是需要好好處理才能真正發揮 mod_security 的效用</span>。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-68432590883797371552014-01-09T21:28:00.000+08:002014-01-09T21:44:42.715+08:00[資安觀念] 您補對了嗎?<a href="http://lh3.ggpht.com/-LbsjcXzRNH4/Us556kG60pI/AAAAAAADouw/iLdmjdTjusE/s1600-h/20090702_Kodak_trashed01%25255B5%25255D.jpg"><img align="left" alt="OLYMPUS DIGITAL CAMERA " border="0" src="http://lh3.ggpht.com/-H-OVp_sObJE/Us559u_SFbI/AAAAAAADou4/wttTIFDk5Xk/20090702_Kodak_trashed01_thumb%25255B2%25255D.jpg?imgmax=800" height="122" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="OLYMPUS DIGITAL CAMERA " width="162" /></a>這幾天 eTag 的新聞依舊不斷,今天看到一篇來自於自由時報的新聞報導 - <a href="http://www.libertytimes.com.tw/2014/new/jan/9/today-fo5.htm?Slots=All" target="_blank">國道計程變國際笑話/遠通資安凸槌 政府罰不到</a>,報導最後提到<br />
“根據<span style="color: red;">資深網管人員康康</span>表示,駭客可能在遠傳網址後面加上特殊字元,剛好可以進入敏感目錄,不能顯示後端資料庫資料是否外洩。但這顯示管理人員太不小心了,因為<span style="color: red;">只要有定期更新修補程式,就可以避免這個問題</span>。”<br />
姑且不論這位康康到底是何方神聖,但是看到結論是只要定期更新修改程式就可以避免這個問題,就知道這位康康果然很資深,講的大概是10年前的觀念。<br />
駭客的攻擊手法千百種,不過<span style="color: red;">大致的趨勢是從早期的攻擊網路、攻擊作業系統、到後來針對應用程式的弱點下手</span>。而應用程式包含所謂的套裝程式 (如 PDF Reader) 以及自行開發的程式,都是可能受到攻擊的目標。而公開的網站應用程式,更是熱門的目標。在這些應用程式之中,<span style="color: red;">自行開發的網站應用程式,自是熱門中的熱門</span>。原因無他,一是這類網站通常含有大量的有價資訊,另外一方面則是這類網站的安全防護能力通常也較差,往往用自動化工具就可以找到不少可憐的羔羊。再加上公開的特性,對駭客來說就像男人看到穿著清涼又身材曼妙的美女在沙灘上走來走去一般令人無法抗拒。<br />
很可惜的是,<span style="color: red;">對自行開發的網站應用程式而言,很多安全問題並不是靠更新系統就可以解決的</span>。必須要從應用程式面下手,認真做好各項的防護工作後才能有效提昇安全性。更好的作法,當然就是<span style="color: red;">導入類似 Secure SDLC 的制度</span>。道理很簡單,因為一開始駭客就不是利用作業系統的漏洞取得這些機密資訊,而是利用了<a href="http://cyrilwang.blogspot.tw/2014/01/path-traversal-attack.html" target="_blank">程式沒有做好限制的邏輯缺陷</a>。我相信大家都知道<span style="color: red;">窗戶破了就該把窗戶補好,而不是把原本的圍牆升級為高壓電網</span>。就像我常說的,頭痛醫頭不算什麼,頭痛醫腳才是真庸醫。<br />
所以,儘管<a href="http://cyrilwang.blogspot.tw/2009/09/blog-post_16.html" target="_blank">定期更新真的很重要,但是再也別把它當成萬靈丹</a>或唯一該做的事情了。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-45825973914695136762014-01-07T22:15:00.001+08:002014-01-07T22:15:41.587+08:00[交戰守則] 避免造訪路徑攻擊 (Path Traversal Attack),免得成為下一個遠通電收<p><a href="http://lh3.ggpht.com/-SrvWKOcmLoQ/UswL9lzInoI/AAAAAAADouU/v1nM-FaX3MM/s1600-h/unnamed%25255B4%25255D.png"><img title="unnamed" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 10px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="unnamed" src="http://lh5.ggpht.com/-KZ8UKgmMKSQ/UswMAGgYL3I/AAAAAAADouc/JJjrKfVnbbM/unnamed_thumb%25255B2%25255D.png?imgmax=800" width="162" align="left" height="162" /></a>這幾天對開車族而言,一個很重要的新聞就是國道全面採用計程收費。而說到計程收費,就不得不提到  eTag 這個東西。一直以來,eTag 就充滿了各式各樣的爭議,不過爭議再多,終究還是一個既定的政策。只是開車族可能發現,eTag 本來提供了查詢的功能,但是從去年底全面上線以來,卻一直處於無法查詢的狀態。至於原因?從一開始說的系統轉移,到後來包含頻寬不足、受到駭客攻擊等說法,讓人摸不清真相。如果是一般的企業,敢承認自己被駭客攻擊,大概民眾都不太會去懷疑,畢竟這對公司的信譽可是會產生很嚴重的負面影響。但是對遠通電收這樣一家公司而言,反而有不少人懷疑這只是他們的推托之詞。</p> <p>事情的真相,大概只有三個人知道。不過就在昨天,有人在 pastebin.com 貼了一個分享,網址是 http://www.fetc.net.tw/portal/front/staticPage?articleId=402880fd1eafaeee011eafefd1d60005&path=../../../../../../../../../../../../../../etc/passwd,內容是”疑似”遠通電收網站主機的 passwd 檔!雖然這個檔案實際上不包含密碼,但是這個安全漏洞的影響可大可小。如果稍有不慎 (其實已經很不慎了),別說是主機的密碼,就連資料庫的密碼也是整串帶走。在針對網站的攻擊手法中,這類攻擊稱之為造訪路徑攻擊,英文是 path traversal attack。又因為攻擊字串中往往帶有 ../ 字串,所以又稱為 dot-dot-slash attack。</p> <p>嚴格來說,這並不是一種很新的攻擊手法,甚至已經可以算得上是老掉牙的東西。而要避免這種攻擊手法也不是很困難,在 OWASP 的網站上,針對造訪路徑攻擊有提到下列幾種防護手法:</p> <ul> <li><font color="#0000ff">Prefer working without user input when using file system calls</font> <br />不要把使用者的輸入帶入有關 file system 的函式呼叫參數中。</li> </ul> <ul> <li><font color="#0000ff">Use indexes rather than actual portions of file names when templating or using language files</font> <br />使用代號來表示檔案,而不要使用實際的檔案名稱/路徑。</li> </ul> <ul> <li><font color="#0000ff">Ensure the user cannot supply all parts of the path – surround it with your path code</font> <br />避免使用者可以輸入完整的檔案名稱與路徑。實務上,此點要做的好其實並不容易,務必要搭配下一個建議手法。</li> </ul> <ul> <li><font color="#0000ff">Validate the user’s input by only accepting known good – do not sanitize the data</font> <br />驗證使用者的輸入。不要使用清除非法字元的方式,而是只接受合法的輸入。</li> </ul> <ul> <li><font color="#0000ff">Use chrooted jails and code access policies to restrict where the files can be obtained or saved to</font> <br />使用 chroot 的機制以避免網站程式讀取到系統的其他檔案。除此之外,如果網站框架允許設定程式的權限,也可以用來避免此一問題。</li> </ul> <p><font color="#ff0000">以造訪路徑攻擊而言,其實也可用源碼檢測工具加以偵測,效果通常不錯。而黑箱工具,往往也可以達到一定的成效。</font>可想而知,遠通電收應該是連這類工具都沒用就大膽上線。遠通電收不是第一個出包的網站,我相信也不會是最後一個。重點是,這種事情千萬不要發生在你跟我的身上。</p> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-2243391104960883302014-01-07T20:30:00.000+08:002014-01-07T20:39:48.443+08:00[迷你好兔] 利用 CMAN+Pacemaker 建立不中斷的網路<a href="http://lh5.ggpht.com/-QTUOef7__TQ/UsvX3gZHqDI/AAAAAAADotc/eV8Me3z4e80/s1600-h/3410-24-hours-services%25255B4%25255D.jpg"><img align="left" alt="3410-24-hours-services" border="0" src="http://lh4.ggpht.com/-kI__rQZm7YQ/UsvX5DoMxWI/AAAAAAADotk/eGlUV5jrYk0/3410-24-hours-services_thumb%25255B2%25255D.jpg?imgmax=800" height="162" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="3410-24-hours-services" width="162" /></a>閘道器是一種很常見的網路裝置,包含路由器與代理伺服器都可算是閘道器的一種。以下圖而言,標示為 Gateway 的設備提供了包含內部 IP 上網用 NAT 機制 (SNAT)、HTTP Reverse Proxy 與 Virtual Server (DNAT) 等功能,可說是一台多功能的閘道器。這些功能對於一個網管人員來說,並不是什麼新奇的概念與技術。但是這個架構有一個致命的缺點,那就是<span style="color: red;">閘道器 Gateway 掌管了所有資料的交換,所以一旦 Gateway 出了問題,那可就真是一場大災難了</span>。而這正是所謂的單點失效 (Single Point of Failure, 簡稱SPF) 問題。<br />
<a href="http://lh3.ggpht.com/-yKFkBHd-xgk/UsvX6tqZfBI/AAAAAAADots/zWncku5HRGA/s1600-h/cluster%252520-%252520before%25255B9%25255D.png"><img alt="cluster - before" border="0" src="http://lh4.ggpht.com/-DiAaZOvryPQ/UsvX74kxc0I/AAAAAAADot0/PWBs1Ef8BBQ/cluster%252520-%252520before_thumb%25255B5%25255D.png?imgmax=800" height="482" style="background-image: none; border: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="cluster - before" width="520" /></a><br />
為了解決這個問題,許多中高階的網路設備都提供了高可用性的備援機制 (High Availablity, 簡稱 HA),其中比較簡單的一種架構稱之為 Active/Passive 模式。在此模式中,至少會佈署兩台提供相同功能的設備,其中一台為主 (Active),另外一台為輔 (Passive)。<span style="color: red;">當主要的設備失效時,輔助的設備會自動接手繼續提供服務,以確保服務不會因為設備失效而中斷</span>。而當主要的設備恢復運作後,可以選擇繼續由輔助的設備提供服務,或是自動切換回主要的設備。可惜的是,這樣的功能通常只見於中高階的設備,而這些設備本來就所費不貲,所以<span style="color: red;">採用此架構往往不但成本相對高昂,而且平常備用的設備並沒有提供服務,再再降低了設備的使用效率</span>。<br />
在今天在範例中,我將利用 CentOS 6 內建的 CMAN+Pacemaker 建立一個高可用性的閘道器,用低廉的成本解決單點失效的網路問題。與原本的架構相較,<span style="color: red;">需要增加為兩台主機以提供 Active/Passive 模式,而且每個主機僅需配置一個內部用的 IP 位址</span>。本範例假設兩台主機原本就已經分別設定好 Routing/DNAT/SNAT/Reverse Proxy 等網路功能,以下就讓我們一步步完成今天的範例吧。<br />
<a href="http://lh6.ggpht.com/-ZSabFYOc8ok/UsvX9vmU2sI/AAAAAAADot8/6k5WlZsfKqo/s1600-h/cluster%252520-%252520after%25255B16%25255D.png"><img alt="cluster - after" border="0" src="http://lh6.ggpht.com/-vghpWevvYrM/UsvX_LR-_XI/AAAAAAADouE/41pl0AVRafE/cluster%252520-%252520after_thumb%25255B10%25255D.png?imgmax=800" height="482" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="cluster - after" width="574" /></a><br />
<ol>
<li>設定主機的網路 (Gateway01 與 Gateway02) <br />兩台主機的 IP 位址分別為 192.168.10.21 (Gateway01) 與 192.168.10.22 (Gateway02)。此兩台主機各配置兩張網卡,在範例中內部網路皆連結至網路介面 eth1。在此架構中,我們<span style="color: red;">不需要設定外部網卡 (也就是 eth0) 的 IP 位址,所以請設定成手動指定但不輸入 IP 位址等資訊</span>。</li>
<li>設定 /etc/hosts 檔 (Gateway01 與 Gateway02) <br />在兩台主機的 /etc/hosts 分別加上下列兩行設定 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">192.168.10.21 gateway01
192.168.10.22 gateway02</code></pre></li>
<li>安裝所需套件 (Gateway01 與 Gateway02) <br />在兩台主機分別安裝所需套件,指令為 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">yum install ccs cman pacemaker pcs resource-agents</code></pre></li>
<li>設定 CMAN 參數 (Gateway01 與 Gateway02) <br />分別在兩台主機執行下列指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">echo "CMAN_QUORUM_TIMEOUT=0" >> /etc/sysconfig/cman</code></pre></li>
<li>設定防火牆 iptables (Gateway01 與 Gateway02) <br />我們需要用到 UDP Port 5404, 5405 與 TCP Port 11111,請在兩台主機分別進行設定,以便兩台主機能夠順利進行溝通。</li>
<li>設定預設路由 (Gateway01 與 Gateway02) <br />因為在此架構中,<span style="color: red;">備援主機本身不具備對外的 IP 位址,因此與其他內部設備一樣必須透過配置於主要主機的 IP 位址 192.168.0.254 進行網際網路的連結</span>。為了避免當備援主機身分轉換成為主要主機後兩個路由產生衝突,所以我們降低此路由的優先順序,使其轉換成主要主機後,可以順利使用對外 IP 位址作為預設路由。我們在兩台主機分別執行下列指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">route add default gw 192.168.0.254 metric 99</code></pre></li>
<li>設定開機自動新增預設路由 (Gateway01 與 Gateway02) <br />分別在兩台主機的 /etc/rc.local 加上下列設定 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">route add default gw 192.168.0.254 metric 99</code></pre></li>
<li>設定 Cluster (Gateway01) <br />在 gateway01 執行下列指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">ccs -f /etc/cluster/cluster.conf --createcluster pacemaker1
ccs -f /etc/cluster/cluster.conf --addnode gateway01
ccs -f /etc/cluster/cluster.conf --addnode gateway02
ccs -f /etc/cluster/cluster.conf --addfencedev pcmk agent=fence_pcmk
ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect gateway01
ccs -f /etc/cluster/cluster.conf --addmethod pcmk-redirect gateway02
ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk gateway01 pcmk-redirect port=gateway01
ccs -f /etc/cluster/cluster.conf --addfenceinst pcmk gateway02 pcmk-redirect port=gateway02</code></pre></li>
<li>同步 Cluster 設定 (Gateway01) <br />將 gateway01 下的 /etc/cluster/cluster.conf 同步至 gateway02,指令為<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">rsync /etc/cluster/cluster.conf gateway02:/etc/cluster/</code></pre></li>
<li>啟動 cman 服務 (Gateway01 與 Gateway02) <br />在兩台主機分別執行下列指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">service cman start</code></pre></li>
<li>啟動 pacemaker 服務 (Gateway01 與 Gateway02) <br />在兩台主機分別執行下列指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">service pacemaker start</code></pre></li>
<li>設定 cman 與 pacemaker 開機自動執行 (Gateway01 與 Gateway02) <br />在兩台主機分別執行下列指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">chkconfig cman on
chkconfig pacemaker on</code></pre></li>
<li>關閉 fencing 與 STONITH (Gateway01) <br />執行下列指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore</code></pre></li>
<li>確認 Cluster 狀態 (Gateway01) <br />執行指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs status</code></pre>應可以看到類似下列資訊<br /><pre class="CICodeFormatter"><code class="CICodeFormatter">Cluster name: pacemaker1
Last updated: Tue Jan 7 17:27:30 2014
Last change: Tue Jan 7 12:55:21 2014 via crm_attribute on gateway01
Stack: cman
Current DC: gateway01 - partition with quorum
Version: 1.1.10-14.el6_5.1-368c726
<span style="color: red;">2 Nodes configured</span>
0 Resources configured
<span style="color: red;">Online: [ gateway01 gateway02 ]</span></code></pre></li>
<li>設定網路資源 (Gateway01) <br />執行下列指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.0.254 cidr_netmask=24 nic=eth1 op monitor interval=3s
pcs resource create ClusterPublicIP ocf:heartbeat:IPaddr2 ip=168.95.10.10 cidr_netmask=28 nic=eth0 op monitor interval=3s
pcs resource create ExternalDefaultRoute ocf:heartbeat:Route destination="0.0.0.0/0" gateway="168.95.10.1"</code></pre>其中網路相關參數 (192.168.0.254/24, 168.95.10.10/28 與 168.95.0.1) 請依據實際的環境加以調整。</li>
<li>設定 Email 通知 (Gateway01) <br />如果我們希望知道何時發生資源轉移 (如從 gateway01 轉移到 gateway02),可以執行下列指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs resource create EmailNotification ocf:heartbeat:MailTo email=cyril.hcwang@gmail.com op monitor timeout=10 interval=3s</code></pre></li>
<li>設定資源群組 (Gateway01) <br />利用資源群組的設定,我們可以確保所有的資源同時進行轉移,而不會出現內部 IP 位址 192.168.0.254 配置於 Gateway01 但外部 IP 168.95.10.10 位址卻配置於 Gateway02 的錯誤狀況。指令如下<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs resource group add Gateway ClusterIP CusterPublicIP ExternalDefaultRoute EmailNotification</code></pre></li>
<li>設定資源啟用順序 (Gateway01) <br />指令如下<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs constraint order ClusterIP then ClusterPublicIP
pcs constraint order ClusterPublicIP then ExternalDefaultRoute
pcs constraint order ExternalDefaultRoute then EmailNotification</code></pre>設定完畢後我們可以透過下列指令確認啟用順序<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs constraint order show --full</code></pre></li>
<li>設定主要設備 (Gateway01) <br />在此範例中,我希望主要由 Gateway01 提供服務,因此需設定其擁有較高的優先權。指令如下<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs constraint location Gateway prefers gateway01=10
pcs constraint location Gateway prefers gateway02=5</code></pre>設定完畢後我們可以透過指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs constraint location show --full</code></pre>確認是否有其他的優先權設定會影響到此一判斷,並在必要時透過指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs constraint location Gateway remove <em>[resource-id]</em></code></pre>加以移除。</li>
<li>確認設定 <br />除了透過上述指令進行單一項目的顯示與確認,我們還可以透過指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs config</code></pre>顯示全部的設定,執行後應可以看到類似下列訊息 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">Cluster Name: pacemaker1
Corosync Nodes:
Pacemaker Nodes:
gateway01 gateway02
Resources:
<span style="color: red;"> Group: Gateway
Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=192.168.0.254 cidr_netmask=24 nic=eth1
Operations: monitor interval=3s (ClusterIP-monitor-interval-3s)
Resource: ClusterPublicIP (class=ocf provider=heartbeat type=IPaddr2)
Attributes: ip=168.95.10.10 cidr_netmask=28 nic=eth0
Operations: monitor interval=3s (ClusterPublicIP-monitor-interval-3s)
Resource: ExternalDefaultRoute (class=ocf provider=heartbeat type=Route)
Attributes: destination=0.0.0.0/0 gateway=168.95.10.1
Operations: monitor interval=60s (ExternalDefaultRoute-monitor-interval-60s)
Resource: EmailNotification (class=ocf provider=heartbeat type=MailTo)
Attributes: email=cyril.hcwang@gmail.com
Operations: monitor interval=3s timeout=10 (EmailNotification-monitor-interval-3s)</span>
Stonith Devices:
Fencing Levels:
Location Constraints:
Resource: Gateway
<span style="color: red;">Enabled on: gateway01 (score:10) (id:location-Gateway-gateway01-10)
Enabled on: gateway02 (score:5) (id:location-Gateway-gateway02-5)</span>
Ordering Constraints:
<span style="color: red;">start ClusterIP then start ClusterPublicIP (Mandatory) (id:order-ClusterIP-ClusterPublicIP-mandatory)
start ClusterPublicIP then start ExternalDefaultRoute (Mandatory) (id:order-ClusterPublicIP-ExternalDefaultRoute-mandatory)
start ExternalDefaultRoute then start EmailNotification (Mandatory) (id:order-ExternalDefaultRoute-EmailNotification-mandatory)</span>
Colocation Constraints:
Cluster Properties:
cluster-infrastructure: cman
dc-version: 1.1.10-14.el6_5.1-368c726
<span style="color: red;">no-quorum-policy: ignore
stonith-enabled: false</span></code></pre></li>
<li>確認 Cluster 執行狀態 <br />再次執行指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs status</code></pre>應可看到類似下列資訊<pre class="CICodeFormatter"><code class="CICodeFormatter">Cluster name: pacemaker1
Last updated: Tue Jan 7 17:52:42 2014
Last change: Tue Jan 7 12:55:21 2014 via crm_attribute on gateway01
Stack: cman
Current DC: gateway01 - partition with quorum
Version: 1.1.10-14.el6_5.1-368c726
2 Nodes configured
<span style="color: red;">4 Resources configured</span>
Online: [ gateway01 gateway02 ]
Full list of resources:
<span style="color: red;"> Resource Group: Gateway
ClusterIP (ocf::heartbeat:IPaddr2): Started gateway01
ClusterPublicIP (ocf::heartbeat:IPaddr2): Started gateway01
ExternalDefaultRoute (ocf::heartbeat:Route): Started gateway01
EmailNotification (ocf::heartbeat:MailTo): Started gateway01</span></code></pre></li>
<li>測試資源的轉移 (Gateway01) <br />因為目前資源配置於 Gateway01,因此測試時我們需要將資源轉移至 Gateway02。方法有二,一個是直接將 Gateway01 進行關機的動作,另外一個更為方便的方式則是將 Gateway01 設為備用,指令如下<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs cluster standby gateway01</code></pre>我們再次執行指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs status</code></pre>可以看到類似下列資訊 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">Cluster name: pacemaker1
Last updated: Tue Jan 7 18:10:31 2014
Last change: Tue Jan 7 18:10:22 2014 via crm_attribute on gateway01
Stack: cman
Current DC: gateway01 - partition with quorum
Version: 1.1.10-14.el6_5.1-368c726
2 Nodes configured
4 Resources configured
<br /><span style="color: red;">Node gateway01: standby
Online: [ gateway02 ]</span>
Full list of resources:
<span style="color: red;">Resource Group: Gateway
ClusterIP (ocf::heartbeat:IPaddr2): Started gateway02
ClusterPublicIP (ocf::heartbeat:IPaddr2): Started gateway02
ExternalDefaultRoute (ocf::heartbeat:Route): Started gateway02
EmailNotification (ocf::heartbeat:MailTo): Started gateway02</span></code></pre></li>
<li>測試 Gateway01 重新上線 (Gateway01) <br />透過指令<br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs cluster unstandby gateway01</code></pre>可以重新讓 Gateway01 上線,因為我們已經設定 Gateway01 擁有較高的優先權,所以再次執行指令 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">pcs status</code></pre>應可以看到類似步驟 21 的訊息,表示資源配置再次回到 Gateway01。</li>
<li>確認通知信 <br />因為我們剛剛做了兩次資源轉移的動作,所以你應該會收到相關的通知信。</li>
</ol>
透過 CMAN+Pacemaker,我們就可以輕鬆建立一個不中斷的網路連線服務。其實 CMAN+Pacemaker 所支援的服務不僅於此,有興趣的人可以透過指令 <br />pcs resource list <br />列出所有支援的項目,進一步找出適合你的支援項目。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-81556251184057245542013-12-28T20:59:00.000+08:002013-12-28T20:59:00.081+08:00[迷你好兔] 利用 SSH Tunnel 保護你的 MySQL 連線 (三)<p><a href="http://lh3.ggpht.com/-2xYdhbYWuBg/Urxb70Ev8fI/AAAAAAADopc/AZydMmxCcrQ/s1600-h/BundSightseeingTunnel2%25255B2%25255D.jpg"><img title="BundSightseeingTunnel2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 10px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="BundSightseeingTunnel2" src="http://lh5.ggpht.com/-H_vOu2nVWXg/Urxb9U37roI/AAAAAAADopk/4URYCUqVreE/BundSightseeingTunnel2_thumb.jpg?imgmax=800" width="244" align="left" height="164" /></a>在前面兩篇文章裡,我提到如何利用 SSH Tunnel 的技術來保護遠端的 MySQL 連線。在第二種作法中,使用者利用自己的電腦達成 SSH Tunnel 的功能。因為大多數的使用者為 Windows 環境,所以在這篇文章中,我將示範如何在 Windows 的環境下設置 SSH Tunnel 以提供遠端 MySQL 連線。範例中使用的工具為 Putty,其他類似的 SSH Client 工具多也提供同樣的功能。</p> <p><a href="http://lh4.ggpht.com/-_aeduHd2weU/Urxb-QA2FXI/AAAAAAADops/ZOOA_R9EgUA/s1600-h/ssh-proxy-25.png"><img title="ssh proxy 2" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="ssh proxy 2" src="http://lh5.ggpht.com/-HJ6nUvUYck8/Urxb_1p9RSI/AAAAAAADop0/RmPtPxbRdVg/ssh-proxy-2_thumb3.png?imgmax=800" width="642" height="273" /></a></p> <ol> <li>開啟 Putty </li> <li>新增 Putty 設定 <br /><a href="http://lh5.ggpht.com/-6EOoVtKXUgI/UrxcA89xIYI/AAAAAAADop8/UbfWRpc9W1U/s1600-h/image8.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-c8whoLzHmu8/UrxcCPnEVjI/AAAAAAADoqE/ejfrnHqGKYM/image_thumb4.png?imgmax=800" width="499" height="480" /></a> </li> <li>完成設定 <br />按下按鈕「Save」即可完成設定。 <br /><a href="http://lh4.ggpht.com/-AeO7ftGtRDo/UrxcDDgXVDI/AAAAAAADoqM/V6TZ6x9IUoA/s1600-h/image38.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-bIp9f8Rd0TA/UrxcEjBJXQI/AAAAAAADoqU/6gkjC46k9iU/image_thumb20.png?imgmax=800" width="503" height="484" /></a> </li> <li>對 SSH 主機進行連結並登入系統 </li> <li>進入設定畫面 <br />在連線視窗按下右鍵,並選取 Change Settings… <br /><a href="http://lh6.ggpht.com/-fu93ILGEgM0/UrxcFt-H2yI/AAAAAAADoqc/FUOqMGhPYzQ/s1600-h/image43.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-8mDaUp1u7AU/UrxcGrt9AuI/AAAAAAADoqk/lscvKkkq85s/image_thumb23.png?imgmax=800" width="642" height="400" /></a> </li> <li>開啟 Tunnel 選項畫面 <br />位置是 Connection –> SSH –>Tunnels。 <br /><a href="http://lh3.ggpht.com/-Z-0LsfuxJGw/UrxcIBFyCBI/AAAAAAADoqs/wDOhS2_No4E/s1600-h/image53.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-C5A5XHzgZ2A/UrxcJDXSXmI/AAAAAAADoq0/MC1fOByzSvU/image_thumb29.png?imgmax=800" width="501" height="482" /></a> </li> <li>輸入 Tunnel 設定 <br /><font color="#ff0000">Source Port 與 Destination 分別輸入 3307 與 192.168.0.20:3306</font>。同樣的,我們選用 3307 當做 SSH Tunnel 的連結埠,以與 MySQL 預設埠號 3306 做一區別。  <br /><a href="http://lh3.ggpht.com/-q0D7BXvruGs/UrxcKI56OPI/AAAAAAADoq8/P7S0_31lU_s/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoYYF3ma6xAPKktuFRMG_F4igtkScLVjE9Bm-DkUXSKrwka4fJpxWVmgWpxdYdJo_gyQppnBKupzXgkDQMQeITkn7NRqrU3_nkmCqLs885jDCT_mE68SNmr9U1_ku1WHZ8VvN_IjvIsK1y/?imgmax=800" width="501" height="482" /></a> </li> <li>按下按鈕 「Add」 完成新增動作 <br />應可看到下列畫面 <br /> <a href="http://lh5.ggpht.com/-kRjGdk7bfng/UrxcMg2-cJI/AAAAAAADorM/uoN0Bya3ohg/s1600-h/image58.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-vClsq_3p5sY/UrxcNjh1p4I/AAAAAAADorU/iRTc4HNzHxM/image_thumb32.png?imgmax=800" width="501" height="482" /></a> </li> <li>完成設定 <br />按下按鈕「Apply」即可完成設定。 <br /><a href="http://lh4.ggpht.com/-D5urY9xtuvA/UrxcO4OsdEI/AAAAAAADorc/GqZApG59KmI/s1600-h/image63.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-ax36astPAdk/UrxcQLwFuNI/AAAAAAADork/ZhXHACtauWM/image_thumb35.png?imgmax=800" width="501" height="482" /></a> </li> </ol> <p>進行至此,我們就可以利用 MySQL Client 端工具來進行遠端的 MySQL 連線了。後面的例子我將以 MySQL Query Browser 為例。</p> <ol> <li>開啟 MySQL Query Browser </li> <li>設定 MySQL 連線資訊 <br />Server Host 與 Port 分別填入 127.0.0.1 與 3307。此外,請填入 MySQL 的帳號/密碼。 <br /><a href="http://lh5.ggpht.com/-k2vlkq2BSIk/UrxcRPU4aFI/AAAAAAADors/XJQoKE54Zy4/s1600-h/image35.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-qy3R6pCoQws/UrxcSuaR_WI/AAAAAAADor0/MvOZUk2Ahac/image_thumb19.png?imgmax=800" width="569" height="484" /></a> </li> <li>進行連線 <br />按下按鈕「OK」就可以連線到遠端的 MySQL 資料庫。雖然畫面上顯示是本機的 IP (127.0.0.1),但是實際上卻是連到遠端站台的資料庫主機,也就是 192.168.0.20。 <br /><a href="http://lh3.ggpht.com/-v9QhJa_fFjM/UrxcTpoAfeI/AAAAAAADor8/aVmC9KF5f28/s1600-h/image68.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-138G0PtIoE4/UrxcU4SgfiI/AAAAAAADosE/mY-DrLlSzsQ/image_thumb38.png?imgmax=800" width="642" height="460" /></a> </li> <li>確認 MySQL 的權限 <br />因為 MySQL 的權限會根據帳號以及登入 IP 的不同而改變,所以需要特別注意原本的權限設定。以上述的例子而言,<font color="#ff0000">登入的 IP 會是 192.168.0.10,也就是 SSH 主機的內部網段 IP</font>。如果有所不確定,可透過 MySQL 指令 show full processlist 來確認連結的帳號與 IP。也就是說,<font color="#ff0000">在這個作法下內部網路的資料傳輸是沒有經過加密的</font>。</li> </ol> <p>利用 Putty 的 SSH Tunnel 功能,我們就可以在 Windows 下利用各式各樣的管理工具來操作 MySQL 資料庫,而且不用再擔心資料外洩的問題。</p> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-85075629075968615442013-12-27T20:13:00.000+08:002013-12-27T20:13:00.155+08:00[迷你好兔] 利用 SSH Tunnel 保護你的 MySQL 連線 (二)<a href="http://lh6.ggpht.com/-aIoIsXQGO2w/UrvKOTBZrUI/AAAAAAADoow/e6MPgtL3YRY/s1600-h/Secret-Train-Tunnel-of-Love-In-Ukraine-7.jpg"><img align="left" alt="Secret-Train-Tunnel-of-Love-In-Ukraine-7" border="0" height="164" src="http://lh5.ggpht.com/-TS8lBBlmDY0/UrvKQANNkKI/AAAAAAADoo4/Ruzo0tC_Jm0/Secret-Train-Tunnel-of-Love-In-Ukraine-7_thumb.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Secret-Train-Tunnel-of-Love-In-Ukraine-7" width="244" /></a>在前一篇的文章中,我分享了如何利用 SSH Tunnel 連結遠端的 MySQL 服務。作法雖然可行,但是有一些小問題。首先就是<span style="color: red;">你必須擁有遠端 SSH Tunnel 主機的管理權限,以便取消防火牆的限制</span>。如果 SSH Tunnel 主機之前還有其他的防火牆或安全設備加以保護,同樣也必須予以開放。此外,這樣的作法會<span style="color: red;">導致遠端站台多開啟一個原本不必要的網路服務埠號</span>。即使透過類似<a href="http://cyrilwang.blogspot.tw/2012/11/iptables-ssh.html" target="_blank">敲門機制</a>加以保護,終究還是增加了一定程度的風險。<br />
對此,我們可以稍微調整原本的作法,<span style="color: red;">改由使用者的電腦執行 SSH Tunnel 的工作</span>。SSH Client 工具通常就具備建立 SSH Tunnel 的能力,因此不管使用者使用的是 Windows 或 Linux 環境,都可以運用此一作法。<br />
<a href="http://lh3.ggpht.com/-nSAmbDyTyFI/UrvKR3xwD7I/AAAAAAADopA/vJuU76rgQTc/s1600-h/ssh%252520proxy%2525202%25255B4%25255D.png"><img alt="ssh proxy 2" border="0" height="273" src="http://lh6.ggpht.com/-djaCk5G6zdg/UrvKTSnZIoI/AAAAAAADopI/qvCrs0jY9sU/ssh%252520proxy%2525202_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="ssh proxy 2" width="642" /></a><br />
在這次的範例中,我們假設使用者的電腦是 Linux 環境,所需步驟如下:<br />
<ol>
<li>在使用者的電腦開啟 SSH Tunnel 服務 <br />指令如下 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">ssh -N -L 3307:192.168.0.20:3306 root@210.59.0.10</code></pre>
</li>
我們同樣使用 3307 作為 SSH Tunnel 的連結埠,以便與 MySQL 預設服務埠號 3306 做一個區隔。
<br />
<li>連結 SSH Tunnel <br />在使用者的電腦利用 MySQL Client 工具連結 TCP Port 3307。如果是 MySQL CLI 工具,指令為 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">mysql –p –h 127.0.0.1 –P 3307</code></pre>
輸入密碼後我們就可以進入 MySQL。因為指令 mysql 預設為透過 socket 連結資料庫,所以必須加上 –h 127.0.0.1 這組參數。</li>
<li>確認 MySQL 權限 <br />因為 MySQL 的權限會根據帳號以及登入 IP 的不同而改變,所以需要特別注意原本的權限設定。以上述的例子而言,<span style="color: red;">登入的 IP 會是 192.168.0.10,也就是 SSH 主機的內部網段 IP</span>。如果有所不確定,可透過 MySQL 指令 show full processlist 來確認連結的帳號與 IP。也就是說,<span style="color: red;">在這個作法下內部網路的資料傳輸是沒有經過加密的</span>。</li>
</ol>
<span style="color: red;">此一作法不似前一個作法,對原本站台不需做任何設定的調整,所以適用範圍更廣</span>。儘管有資料在內部網路為明文傳輸的缺點,但是通常原本的架構在內部網路即為明文傳輸,所以實際上也算不上是缺點了。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-87518216695570429232013-12-26T22:02:00.000+08:002013-12-26T22:02:00.265+08:00[迷你好兔] 利用 SSH Tunnel 保護你的 MySQL 連線 (一)<a href="http://lh3.ggpht.com/-1kEcOuctToo/UrsoP1WwcZI/AAAAAAADooU/X5qRUoJ_YLs/s1600-h/toddler-crawls-through-tunnel%25255B3%25255D.jpg"><img align="left" alt="toddler-crawls-through-tunnel" border="0" height="182" src="http://lh6.ggpht.com/-UqzhD0zWKI0/UrsoR-K7KYI/AAAAAAADooc/XRbeU7vjoSs/toddler-crawls-through-tunnel_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="toddler-crawls-through-tunnel" width="242" /></a>在網路的世界裡,Tunnel (通道) 是一個很有用卻也同時很可怕的技術。<span style="color: red;">透過 Tunnel 的技術,內部員工可以任意連上公司所禁止連結的 IP 或服務。如果再加上加密的技術,公司幾乎可說是很難有所作用</span>。<span style="color: red;">Tunnel 技術不只可能遭受內部員工的濫用,更往往是駭客喜愛的手法</span>。今天我們利用 Tunnel 來做一件比較正面的事情,那就是用 SSH Tunnel 來連結/管理遠端的 MySQL 服務。<br />
在常見的網站架構中,我們會把網路分成多個網段 (可能是實體區域網路或虛擬區域網路)。對於一些重要且不需直接提供對外服務的主機,我們會選擇佈署在內部的隔離網段,以限制其他網段 (包含網際網路) 的設備直接加以存取。而這類需要保護的主機中,資料庫主機算是最常見的一種。透過這樣的架構,我們可以直接從網路架構上限制同一個內部隔離網段內的設備才能連結至資料庫的服務,以確保資料庫主機與服務的安全性。<br />
這樣的架構雖然相對安全,但是卻衍生一個問題,那就是如果我們需要從外部管理資料庫服務,似乎就變得有點棘手。針對這個問題,我們可以透過目的地 NAT 的技術來達到從網際網路直接連結資料庫服務的目的,只是這個解法有一個很嚴重的安全問題:那就是<span style="color: red;">一般的資料庫連線都是未加密</span>。一方面是因為考慮到效能,另一方面則是因為內部資料傳輸也相對較為安全,所以通常不需要使用加密的傳輸方式。所以<span style="color: red;">如果直接透過目的地 NAT 的技術來連結資料庫,不但資料可能全被看光,帳號密碼往往也同樣不保</span>。而<span style="color: red;">利用 SSH Tunnel 的方式,不但可以解決連結內部資料庫主機的問題,也可以確保在網際網路上傳輸帳號密碼等資訊時是經過加密的</span>。<br />
在下圖的例子裡,我們透過一台 CentOS 6 當做 SSH Tunnel 主機,以提供管理者透過網際網路連結內部 MySQL 服務。<a href="http://lh5.ggpht.com/-tKeql07ZUQM/UrrlvdthU5I/AAAAAAADon8/TJfRBTZjtxY/s1600-h/ssh%252520proxy%2525201%25255B16%25255D.png"><img alt="ssh proxy 1" border="0" height="249" src="http://lh6.ggpht.com/-a45KtrzG8ak/UrrlxGoTwGI/AAAAAAADooE/5R8O0X9kaZY/ssh%252520proxy%2525201_thumb%25255B10%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="ssh proxy 1" width="563" /></a><br />
步驟如下:<br />
<ol>
<li>開啟 SSH Tunnel 選項 <br />要利用 SSH 服務當做 Tunnel,首先必須在 SSH Tunnel 主機的設定檔 (CentOS 6 為 /etc/ssh/sshd_config) <span style="color: red;">設定 AllowTcpForwarding 為 yes</span>。因為 CentOS 6 的預設值即為 yes,所以除非之前曾經修改過此一設定,否則不需要進行此動作。</li>
<li>開啟防火牆的埠號 <br />MySQL 服務使用 TCP 3306,為了區分方便,我們選定 TCP 3307 當做 SSH Tunnel 的連結埠。所以我們必須在 SSH Tunnel 主機的防火牆 (iptables) 開放 TCP 3307。</li>
<li>執行 SSH Tunnel <br />在 SSH Tunnel 主機開啟 Tunnel 服務,指令是 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">ssh -N -L 210.59.0.10:3307:192.168.0.20:3306 root@192.168.0.20</code></pre>
如果我們已經設定好 ssh 的金鑰登入,此時就不需要輸入密碼。否則,就會出現輸入密碼的提示。如果需要輸入密碼,請輸入資料庫主機 (也就是 192.168.0.20) 內帳號 root 的密碼。</li>
<li>連結 SSH Tunnel <br />在使用者的電腦利用 MySQL Client 工具連結 SSH Tunnel 主機的外部 IP 與 TCP Port 3307。如果是 MySQL CLI 工具,指令為 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">mysql –p –h 210.59.0.10 –P 3307</code></pre>
輸入密碼後我們就可以進入 MySQL。</li>
<li>確認 MySQL 權限 <br />因為 MySQL 的權限會根據帳號以及登入 IP 的不同而改變,所以需要特別注意原本的權限設定。以上述的例子而言,登入的 IP 會因為指令最後面的 root@192.168.0.20 而成為 192.168.0.20。如果有所不確定,<span style="color: red;">可透過 MySQL 指令 show full processlist 來確認連結的帳號與 IP</span>。也因為這樣的關係,所以不只資料在網際網路傳輸時是經過 SSH Tunnel 的加密保護,連 SSH Tunnel 主機與資料庫主機之間的資料傳遞也是經過加密保護。</li>
</ol>
利用一個簡單的 ssh 指令,我們就可以透過網際網路安全地連結至遠端的 MySQL 服務。不過也因為過於方便,最好<span style="color: red;">不要讓這個 SSH Tunnel 一直運行著,等到有需要再執行會是比較安全的作法</span>。如果搭配像是 <a href="http://cyrilwang.blogspot.tw/2012/11/iptables-ssh.html" target="_blank">iptables 的敲門機制</a>,那也是不錯的選擇。 <br />
其實透過 SSH Tunnel 的技術,不只可以用來保護遠端的 MySQL 連線,其他像是 ftp 或是 pop3 等服務,也常見被包裝在 SSH Tunnel 之中。<span style="color: red;">透過 SSH Tunnel 的包裝,可以讓這些原本使用明文傳輸的協定達到加密的效果,以避免資料在傳輸過程中遭到窺視</span>,大大提昇了傳輸時的安全性。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-7794535045597373762013-12-25T19:20:00.000+08:002013-12-25T19:32:42.845+08:00[工具介紹] Apache 模組 mod_log_forensic<a href="http://lh3.ggpht.com/-l_0GMPvok84/UrqzNLrQpII/AAAAAAADonk/BvsxBm7tKOg/s1600-h/Forensic-Science-S_2132330b%25255B3%25255D.jpg"><img align="left" alt="Forensic-Science-S_2132330b" border="0" height="152" src="http://lh6.ggpht.com/-Pe4lJKQ4Mt8/UrqzPLDb8DI/AAAAAAADons/NqTCWwCweeM/Forensic-Science-S_2132330b_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="Forensic-Science-S_2132330b" width="242" /></a>雖然這幾年 GA (Google Analytics) 等網站流量分析機制逐漸取代了傳統上利用網站日誌來分析網站流量的作法,但是分析網站日誌依舊是系統/網站管理員不可忽視的一個重要工作。以一般的網站服務器而言,主要會提供兩種日誌,一種是存取日誌 (Access Log),另外一種是錯誤日誌 (Error Log)。除了分析網站流量,<span style="color: red;">系統/網站管理員還可以透過分析網站日誌來了解是否發生過攻擊網站的行為 (像是SQL 注入攻擊) </span>。儘管這些日誌有很大的用處,但是因為這些日誌一直以來都是網站流量分析工具所依賴的資料來源,所以其能儲存的格式與資料也就不太容易改變,也就是說不能應付其他較為特殊的應用。<br />
Apache HTTP 服務器除了上述兩種日誌,另外還提供了一種稱之為 Forensic 的日誌,只是在預設的情況下這個功能是被關閉的。跟原本的日誌相比, Forensic 日誌有下列特點:<br />
<ul>
<li>每一個請求 (Request) 會有兩筆記錄,一筆是在開始處理請求前,另外一筆則是請求處理結束後。此一特點可以用來分析是否有不正常中斷的請求,這類不正常的請求可能是因為程式或設定的錯誤,也有可能是因為遭受到有心份子的攻擊。如果沒有開啟 Forensic 日誌,這類行為<span style="color: red;">往往僅會在錯誤日誌留下類似 Segement Fault 的訊息,對於釐清問題並沒有太大的幫助</span>。</li>
<li>Forensic 日誌的格式是固定的,不像存取日誌或錯誤日記可以自定需要記錄的格式與欄位。</li>
<li>Forensic 記錄的內容比原本的存取日誌還要詳細,包含標頭的內容也會一併予以記錄,其中甚至<span style="color: red;">包含 Cookie 等可能包含機密資料的標頭</span>。因此對於 Forensic 日誌檔必須予以嚴加保護,以避免有心份子取得不適當的資料。</li>
</ul>
接下來,我們先看一下在 CentOS 6 的環境下,如何開啟 Forensic 日誌的功能:<br />
<ol>
<li>修改 Apache 設定檔,預設為 /etc/httpd/conf/httpd.conf <br />載入 mod_log_forensic 模組,也就是將 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">#LoadModule log_forensic_module modules/mod_log_forensic.so</code></pre>
這行改成 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">LoadModule log_forensic_module modules/mod_log_forensic.so </code></pre>
並設定 Forensic 日誌檔所在位置 <br />加上下列設定 <br /><pre class="CICodeFormatter"><code class="CICodeFormatter">ForensicLog logs/forensic_log</code></pre>
其中 logs/forensic_log 表示儲存的檔案路徑。</li>
<li>重新載入 Apache 的設定 <br />指令是 <br /><pre class="CIShellFormatter"><code class="CIShellFormatter">service httpd reload</code></pre>
</li>
</ol>
設定完成後,我們可以試著讀取網站上的網頁,如果一切正確的話應該可以在 logs/forensic_log 這個檔案內看到類似下列的資訊:<br />
<pre class="CICodeFormatter"><code class="CICodeFormatter"><span style="color: blue;">+24178:52ba84d3:0</span>|GET /wordpress/ HTTP/1.1|Host:192.168.0.119|Connection:keep-alive|Cache-Control:max-age=0|Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8|User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36|Accept-Encoding:gzip,deflate,sdch|Accept-Language:zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4|Cookie:wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_fc7f48cee0e7fa37753a2c3c863a3dce=superhero%257C1388125383%257Cdfb3d0e44bc16b8e120138195b9aa229; wp-settings-time-1=1387952591
<span style="color: blue;">+24179:52ba84d3:0</span>|GET /wordpress/wp-includes/css/admin-bar.min.css?ver=3.7.1 HTTP/1.1|Host:192.168.0.119|Connection:keep-alive|Cache-Control:max-age=0|Accept:text/css,*/*;q=0.1|If-None-Match:"30e3-3220-4e95d2605fe80"|If-Modified-Since:Tue, 22 Oct 2013 23%3a56%3a26 GMT|User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36|Referer:http%3a//192.168.0.119/wordpress/|Accept-Encoding:gzip,deflate,sdch|Accept-Language:zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4|Cookie:wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_fc7f48cee0e7fa37753a2c3c863a3dce=superhero%257C1388125383%257Cdfb3d0e44bc16b8e120138195b9aa229; wp-settings-time-1=1387952591
<span style="color: blue;">-24179:52ba84d3:0</span>
<span style="color: blue;">-24178:52ba84d3:0</span></code></pre>
我們可以發現<span style="color: red;">每一行記錄的開頭都是一串數字,這是用來識別每一個請求的代號</span>。而每一個代號應該會有兩筆記錄,前面分別加上符號 + 或 <span style="color: red;">–。+ 號表示請求開始處理前的紀錄,而 - 號表示請求處理結束後的紀錄</span>。<span style="color: red;">如果我們發現特定的請求代號只有 + 號的紀錄,而沒有 - 號的記錄,表示此一請求為不正常的中斷</span>。此時,我們就可以透過日誌內的完整資訊來分析此一請求的各項資訊。<br />
雖然找出不正常中斷請求的原理很簡單,但是如果要靠人工來找出 Forensic 日誌檔中有問題的紀錄,實在是一個不可能的任務。好在 Apache HTTP 服務器提供了一個簡單的<span style="color: red;">腳本 check_forensic,可以用來幫助我們找出 Forensic 日誌檔中有問題的紀錄</span>。不過在 CentOS 6 Apache HTTP 服務器的 RPM 安裝檔當中,並沒有包含此一腳本,所以我們需要自行下載 tarball 並取得當中的腳本 check_forensic 腳本。如果 Forensic 日誌檔沒有任何錯誤,執行腳本 check_forensic 並不會顯現任何資訊。反之,如果有任何不正常中斷的請求,check_forensic 將會列出有問題的紀錄,類似下列結果:<br />
<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@web httpd]# ./check_forensic forensic_log
+24177:52ba84d3:0|GET /wordpress/wp-content/themes/twentythirteen/fonts/genericons.css?ver=2.09 HTTP/1.1|Host:192.168.0.119|Connection:keep-alive|Cache-Control:max-age=0|Accept:text/css,*/*;q=0.1|If-None-Match:"3087-57d7-4e001b3bdeb80"|If-Modified-Since:Tue, 25 Jun 2013 22%3a03%3a42 GMT|User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36|Referer:http%3a//192.168.0.119/wordpress/|Accept-Encoding:gzip,deflate,sdch|Accept-Language:zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4|Cookie:wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_fc7f48cee0e7fa37753a2c3c863a3dce=superhero%257C1388125383%257Cdfb3d0e44bc16b8e120138195b9aa229; wp-settings-time-1=1387952591
[root@web httpd]#</code></pre>
<span style="color: red;">Apache 的 Forensic 日誌檔提供系統/網站管理員有別於標準存取與錯誤日誌的資訊,不管在面對有心或是無意的異常存取行為,都是一項有力的工具。</span>Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-56356002782606026932013-09-23T13:00:00.000+08:002013-09-23T13:25:22.445+08:00[工具介紹] 利用 knockd 實現複雜的敲門機制<a href="http://lh4.ggpht.com/-Q7uxUEH6WFI/Uj5v2URsSXI/AAAAAAADju0/KVlSOwrJKrk/s1600-h/funny-bear-knocking-door%25255B3%25255D.jpg"><img align="left" alt="funny-bear-knocking-door" border="0" height="242" src="http://lh6.ggpht.com/-jOrNy-oqDZs/Uj5v4xLcPqI/AAAAAAADju8/AHgN4jS_-2I/funny-bear-knocking-door_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="funny-bear-knocking-door" width="161" /></a>去年我介紹過如何<a href="http://cyrilwang.blogspot.tw/2012/11/iptables-ssh.html" target="_blank">利用 iptables 的 recent 模組來保護如 ssh 之類的網路服務</a>。今天我要介紹的這個服務 – knockd,也可以達成類似的目的。不過不同於 iptables 的作法,knockd 可以輕鬆支援用多個網路埠的組合當做敲門的鑰匙,而且這些網路埠並不會對敲門動作的封包有所回應,可以達到更高的隱密性。此外,如果要保護的服務一多,將保護機制獨立在 iptables 的規則設定之外,也可以簡化 iptables 的複雜度,以避免設定錯誤的情況發生。<br />
在今天的範例中,我們需要兩台 Linux 主機,其中一台當做利用 knockd 機制保護 ssh 服務的主機 (名稱為 knockd.cyril.idv,IP 位址為 192.168.199.103),另外一台用戶端電腦則是用來測試是否可以正常連上受保護的 ssh 服務 (名稱為 client.cyril.idv,IP位址為 192.168.199.102)。採用的 Linux 版本為 32 位元的 CentOS 6.4。為了測試方便,我們在兩台電腦的 /etc/hosts 各加上下列設定:<br />
<pre class="CICodeFormatter"><code class="CICoeFormatter">192.168.199.102 client.cyril.idv client
192.168.199.103 knockd.cyril.idv knockd</code></pre>
接下來,我們就一步步完成今天的範例。<br />
<br />
<b><span style="color: blue;">第一階段 安裝與設定 knockd 服務</span></b><br />
此階段的操作皆在 ssh 服務主機 (knockd.cyril.idv) 上進行。<br />
<ol>
<li><span style="color: blue;">加入對應的 repo</span> <br />新增檔案 /etc/yum.repos.d/nux-misc.repo 並加入下列內容<pre class="CICodeFormatter"><code class="CICoeFormatter">[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/i386/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro</code></pre>
</li>
<li><span style="color: blue;">安裝 knock 服務 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# yum --enablerepo=nux-misc install knock-server –y</code></pre>
</li>
<li><span style="color: blue;">將目前執行中的防火牆規則導入至檔案</span> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# iptables-save > /tmp/iptables.sav</code></pre>
</li>
<li><span style="color: blue;">修改防火牆規則檔案</span> <br />直接修改上述檔案,將內容改為<pre class="CICodeFormatter"><code class="CICoeFormatter"># Generated by iptables-save v1.4.7 on Mon Aug 17 21:32:51 2012
*filter
<span style="color: red;">:INPUT DROP [0:0]</span>
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [149:22436]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Dec 17 21:32:51 2012</code></pre>
除了將 INPUT 的預設動作由 ACCEPT 改為 DROP 之外,也移除掉原本 ssh 服務 (TCP Port 22) 的開放規則。</li>
<li><span style="color: blue;">匯入新的防火牆規則</span> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# iptables-restore < /tmp/iptables.sav</code></pre>
</li>
<li><span style="color: blue;">移除防火牆規則檔案</span> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# rm –f /tmp/iptables.sav</code></pre>
</li>
<li><span style="color: blue;">確認目前的防火牆規則 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# iptables-save</code></pre>
應可以看到類似下列的訊息:<pre class="CICodeFormatter"><code class="CICoeFormatter"># Generated by iptables-save v1.4.7 on Mon Aug 17 21:42:57 2012
*filter
:INPUT DROP [17:1672]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [149:22436]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Dec 17 21:42:57 2012</code></pre>
</li>
<li><span style="color: blue;">將目前的防火牆規則寫入系統設定 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# service iptables save</code></pre>
</li>
<li><span style="color: blue;">設定 knockd </span><br />knock 服務預設的設定檔是 /etc/knockd.conf,修改成如下:<pre class="CICodeFormatter"><code class="CICoeFormatter">[options]
UseSyslog
[opencloseSSH]
<span style="color: red;">sequence = 4567:tcp,5678:tcp,6789:tcp</span>
seq_timeout = 15
<span style="color: red;">tcpflags = syn</span>
start_command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport ssh -j ACCEPT
cmd_timeout = 10
stop_command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport ssh -j ACCEPT</code></pre>
</li>
<li><span style="color: blue;">設定 knock 服務自動啟動 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# chkconfig knockd on</code></pre>
</li>
<li><span style="color: blue;">啟動 knock 服務 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@knockd ~]# service knockd start</code></pre>
</li>
</ol>
<b><span style="color: blue;"><br /></span></b>
<b><span style="color: blue;">第二階段 安裝 knock 用戶端程式</span></b><br />
雖然 knock 使用的敲門技術可以透過許多工具來產生所需的敲門封包,但是使用 knock 內建的工具可以簡化指令的操作。不過如果要進行比較複雜的敲門動作 (也就是送出比較複雜的封包),那就還是必須借助更複雜的封包產生工具了。<br />
此階段的操作皆在 ssh 用戶端電腦 (client.cyril.idv) 上進行。<br />
<ol>
<li><span style="color: blue;">加入對應的 repo</span> <br />新增檔案 /etc/yum.repos.d/nux-misc.repo 並加入下列內容<pre class="CICodeFormatter"><code class="CICoeFormatter">[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/i386/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro</code></pre>
</li>
<li><span style="color: blue;">安裝 knock 用戶端工具</span> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]# yum install --enablerepo=nux-misc knock –y</code></pre>
</li>
</ol>
<span style="color: blue;"><b><br /></b></span>
<span style="color: blue;"><b>第三階段 測試 knock 機制</b></span><br />
<ol>
<li><span style="color: blue;">直接嘗試連結 ssh 服務</span> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]# ssh knockd</code></pre>
我們發現指令一直沒有回應,必須透過 Ctrl-C 才能跳脫。</li>
<li><span style="color: blue;">使用敲門機制 </span><br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]# knock knockd 4567:tcp 5678:tcp 6789:tcp && ssh knockd</code></pre>
此時我們應該可以透過 ssh 服務正常連結至主機 knockd (192.168.199.103),並看到類似下列訊息: <br />Last login: Mon Aug 17 21:40:42 2012 from client.cyril.idv <br />[root@knockd ~]#</li>
<li><span style="color: blue;">檢查 knock 服務的日誌 </span><br />knock 服務預設會將日誌寫入 /var/log/secure 這個檔案中,在 ssh 服務主機 (192.168.199.103) 我們可以看到類似下列的訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Aug 17 21:45:31 knockd knockd: waiting for child processes...
Aug 17 21:45:31 knockd knockd: shutting down
Aug 17 21:45:31 knockd knockd: starting up, listening on eth0
<span style="color: red;">Aug 17 21:45:42 knockd knockd: 192.168.199.102: opencloseSSH: Stage 1
Aug 17 21:45:42 knockd knockd: 192.168.199.102: opencloseSSH: Stage 2
Aug 17 21:45:42 knockd knockd: 192.168.199.102: opencloseSSH: Stage 3
Aug 17 21:45:42 knockd knockd: 192.168.199.102: opencloseSSH: OPEN SESAME
Aug 17 21:45:42 knockd knockd: opencloseSSH: running command: /sbin/iptables -A INPUT -s 192.168.199.102 -p tcp --dport ssh -j ACCEPT</span>
Aug 17 21:45:42 knockd sshd[2472]: Accepted publickey for root from 192.168.199.102 port 52920 ssh2
Aug 17 21:45:42 knockd sshd[2472]: pam_unix(sshd:session): session opened for user root by (uid=0)
Aug 17 21:45:52 knockd knockd: 192.168.199.102: opencloseSSH: command timeout
<span style="color: red;">Aug 17 21:45:52 knockd knockd: opencloseSSH: running command: /sbin/iptables -D INPUT -s 192.168.199.102 -p tcp --dport ssh -j ACCEPT</span></code></pre>
</li>
</ol>
透過 knock 所提供的敲門機制,我們可以建立起複雜的敲門機制。以上述的例子而言,我們必須依序連接 3 個 TCP 埠,才能順利連結 ssh 服務。除了 TCP 埠,我們也可以選擇 UDP 埠。而因為對 knock 機制而言,其實只是在接受到敲門訊息後呼叫特定的指令,所以除了 iptables 的指令外,也可以用來呼叫其他指令,以達成不同的管理目的。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-11515662216932268492013-09-17T00:55:00.001+08:002013-09-17T00:56:17.886+08:00[工具介紹] 利用 glusterfs 達成目錄即時自動同步與高可用性<a href="http://lh4.ggpht.com/-5crCq7sH7LQ/Ujb0pYtISjI/AAAAAAADjq8/MYR6tle8kFM/s1600-h/glusterfs-logo%25255B3%25255D.png"><img align="left" alt="glusterfs-logo" border="0" height="42" src="http://lh6.ggpht.com/-tJ5vQlUXm8E/Ujb0qsrhq4I/AAAAAAADjrE/2LfCQTRghpo/glusterfs-logo_thumb%25255B1%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="glusterfs-logo" width="179" /></a>去年我介紹過利用 <a href="http://cyrilwang.blogspot.tw/2012/11/lsyncd-linux.html" target="_blank">lsyncd</a> 這個套件來達成目錄的同步備援,今天則要利用 glusterfs 來達成類似的效果。雖說類似,但是 lsyncd 與 glusterfs 相比有下列差別:<br />
<ul>
<li>lsyncd 監測目錄的變動,並定期 (或達到一定的異動次數) 將異動同步到另外一個目錄。因為 lsyncd 採用 inotify 監測技術,所以如果目錄內的檔案或子目錄一多,就可能會產生無法監測的問題。</li>
<li>lsyncd 本身並沒有支援高可用性,必須利用其它機制 (如 heartbeat) 來達成高可用性。</li>
<li>被同步的目錄通常僅能當做備援,無法作為負載平衡之用。不但在資源使用上較為浪費,擴充性也比較差。</li>
</ul>
嚴格來說,拿 lsyncd 與 glusterfs 相比並不是一件公平且合理的事情,因為 glusterfs 本身是一個完整的分散式檔案系統,所以在功能上本就遠比 lsyncd 這類工具來的強大許多。用最簡單的說法,glusterfs 可以將許多不同的儲存空間整合在一起,變成一個分散式的虛擬儲存空間。glusterfs 所管理的虛擬儲存空間除了可以具備分散的特性 (distributed, 也就是將不同的檔案存放在不同的儲存空間) 之外,glusterfs 還提供了複製 (replicated, 也就是同一個檔案存放在兩個以上的儲存空間) 以及分條 (stripped, 也就是將一個檔案打散在多個不同的儲存空間) 的選項。這些選項可以單獨使用,也可以一起套用。今天我要跟大家分享的就是透過複製特性來達成目錄的自動同步與高可用性。<br />
範例需要三台 Linux 系統,其中兩台作為 glusterfs 的服務端,另外一台則作為 glusterfs 的用戶端,所使用的環境皆為 CentOS 6.4。相關架構如下:<br />
<a href="http://lh3.ggpht.com/-7oQVGRWaDhE/Ujb0r52R9QI/AAAAAAADjrc/P9Swgbohdzs/s1600-h/glusterfs%25255B6%25255D.png"><img alt="glusterfs" border="0" height="397" src="http://lh6.ggpht.com/-qwqa25ZMfV8/Ujb0tNiL_7I/AAAAAAADjrk/hmRJXGON4PI/glusterfs_thumb%25255B4%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="glusterfs" width="642" /></a> <br />
為了方便起見,我們讓這三台 Linux 之間可以透過主機名稱進行連結,所以我們在 /etc/hosts 設定如下:<br />
<pre class="CICodeFormatter"><code class="CICoeFormatter">192.168.199.100 server1.cyril.idv server1
192.168.199.101 server2.cyril.idv server2
192.168.199.102 client.cyril.idv client</code></pre>
接下來就讓我們一起一步步完成今天的範例吧。<br />
<br />
<b><span style="color: blue;">第一階段:glusterfs 服務端的基本安裝</span></b><br />
此階段的步驟必須在 server1 與 server2 上皆予以執行。<br />
<ol>
<li><span style="color: blue;">安裝 glusterfs 的 repo</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">wget http://download.gluster.org/pub/gluster/glusterfs/3.3/LATEST/EPEL.repo/glusterfs-epel.repo -O /etc/yum.repos.d/glusterfs-epel.repo</code></pre>
<span style="color: red;">註1:雖然目前 glusterfs 的最新版本為 3.4,但是 GA 版本仍為 3.3,所以在這個範例中我選擇使用 3.3 的 repo。 <br />如果系統已經安裝 EPEL 的 repo,裡面就包含了 glusterfs 3.2 的相關 RPM 套件。但仍建議停用 EPEL 內的 glusterfs 套件,而改採用上述的套件。</span></li>
<li><span style="color: blue;">安裝 glusterfs 的服務器套件 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">yum install glusterfs-server -y</code></pre>
</li>
<li><span style="color: blue;">設定 glusterfs 服務開機後自動啟動 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">chkconfig glusterd on</code></pre>
</li>
<li><span style="color: blue;">啟動 glusterfs 服務 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">service glusterd start</code></pre>
</li>
<li><span style="color: blue;">修改防火牆設定</span> <br />在 glusterfs 官方文件中提到應該開啟 TCP 111, 24007, 24008, 24009 以及之後的數個埠號,至於要開到幾個埠號,則跟 brick 數量有關。以這個例子而言,應該開啟 TCP 111, 24007, 24008, 24009, 24010, 24011 等埠號。 <br />修改完後記得確認防火牆規則是否已經生效。指令為 <pre class="CIShellFormatter"><code class="CIShellFormatter">iptables –L -n</code></pre>
執行後應可以看到類似下列資訊<pre class="CICodeFormatter"><code class="CICoeFormatter">Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
<span style="color: red;">ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:111
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:24007
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:24008
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:24009
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:24010
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:24011</span>
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt ource destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination</code></pre>
</li>
</ol>
<span style="color: blue;"><b><br /></b></span>
<span style="color: blue;"><b>第二階段:glusterfs 服務端的服務設定</b></span><br />
此階段的指令僅需在 server1 予以執行即可。<br />
<ol>
<li><span style="color: blue;">將 server2 加入可信任的儲存池 (Trusted Stroage Pool)</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster peer probe server2.cyril.idv</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Probe successful</code></pre>
</li>
<li><span style="color: blue;">確認信任關係 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster peer status</code></pre>
執行後應可看到類似下面的訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Number of Peers: 1
Hostname: server2.cyril.idv
Uuid: f44e01c6-e889-432a-8056-cf7174421324
State: Peer in Cluster (Connected)</code></pre>
</li>
<li><span style="color: blue;">建立 Volume </span><br />在 glusterfs 的架構中,每一個 volume 就代表了單獨的虛擬檔案系統。建立 volume 的指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster volume create datavol replica 2 transport tcp server1.cyril.idv:/data server2.cyril.idv:/data</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Creation of volume datavol has been successful. Please start the volume to access data.</code></pre>
<span style="color: red;">註2:glusterfs 會自動建立不存在的 /data 目錄。此外,在建立 volume 時,我們不需要特別指定虛擬檔案系統的屬性 (像是分散與否),glusterfs 會自動根據相關參數 (如 brick 數) 決定此一虛擬檔案系統的屬性。</span></li>
<li><span style="color: blue;">啟動 Volume </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster volume start datavol</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Starting volume datavol has been successful</code></pre>
</li>
<li><span style="color: blue;">確認服務之間的連線已經正常連結 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]netstat –tap | grep glusterfsd</code></pre>
執行後應可看到類似下列的訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">tcp 0 0 *:24009 *:* LISTEN 2343/glusterfsd
tcp 0 0 server1.cyril.idv:24009 server2.cyril.idv:exp2 ESTABLISHED 2343/glusterfsd
tcp 0 0 server1.cyril.idv:24009 server1.cyril.idv:1020 ESTABLISHED 2343/glusterfsd
tcp 0 0 server1.cyril.idv:24009 server2.cyril.idv:1020 ESTABLISHED 2343/glusterfsd
tcp 0 0 server1.cyril.idv:24009 server1.cyril.idv:1023 ESTABLISHED 2343/glusterfsd
tcp 0 0 localhost:1020 localhost:24007 ESTABLISHED 2343/glusterfsd</code></pre>
</li>
<li><span style="color: blue;">查詢 volume 的狀態 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster volume info datavol</code></pre>
執行後應可看到類似下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">
Volume Name: datavol
<span style="color: red;">Type: Replicate</span>
Volume ID: 185ef7c6-7c7f-461d-8690-eec24a1a4c38
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: server1.cyril.idv:/data
Brick2: server2.cyril.idv:/data</code></pre>
其中 Type 資訊表示這是一個複製的 (Replicate) 虛擬檔案系統。</li>
<li><span style="color: blue;">為了增加安全性,我們可以限制只有 client 電腦的 IP 才能連上此一虛擬檔案系統</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster volume set datavol auth.allow 192.168.199.102</code></pre>
執行後應可看到下列訊息 <pre class="CICodeFormatter"><code class="CICoeFormatter">Set volume successful</code></pre>
</li>
<li><span style="color: blue;">再次確認 volume 的狀態 </span><br />指令同樣為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]gluster volume info datavol</code></pre>
執行後應可看到類似下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">
Volume Name: datavol
Type: Replicate
Volume ID: 185ef7c6-7c7f-461d-8690-eec24a1a4c38
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: server1.cyril.idv:/data
Brick2: server2.cyril.idv:/data
Options Reconfigured:
<span style="color: red;">auth.allow: 192.168.199.102</span></code></pre>
</li>
</ol>
<span style="color: blue;"><b><br /></b></span>
<span style="color: blue;"><b>第三階段:glusterfs 用戶端的安裝</b></span><br />
<ol>
<li><span style="color: blue;">安裝 glusterfs 的 repo </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]wget http://download.gluster.org/pub/gluster/glusterfs/3.3/LATEST/EPEL.repo/glusterfs-epel.repo -O /etc/yum.repos.d/glusterfs-epel.repo</code></pre>
</li>
<li><span style="color: blue;">安裝 glusterfs 用戶端的套件</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]yum install glusterfs-client -y</code></pre>
</li>
<li><span style="color: blue;">建立掛載點</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mkdir /mnt/glusterfs/data –p</code></pre>
</li>
<li><span style="color: blue;">掛載虛擬檔案系統 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount.glusterfs server1.cyril.idv:/datavol /mnt/glusterfs/data</code></pre>
</li>
<li><span style="color: blue;">確認掛載的結果</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount –t fuse.glusterfs</code></pre>
執行後應可看到類似下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">server1.cyril.idv:/datavol on /mnt/glusterfs/data type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)</code></pre>
</li>
<li><span style="color: blue;">設定開機自動掛載 </span><br />修改 /etc/fstab,加上下列設定<pre class="CICodeFormatter"><code class="CICoeFormatter">server1.cyril.idv:/datavol /mnt/glusterfs/data glusterfs defaults 0 0</code></pre>
</li>
<li><span style="color: blue;">重新開機 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]sync; shutdown –r now</code></pre>
</li>
<li><span style="color: blue;">確認開機自動掛載是否成功</span><br />指令同樣為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount –t fuse.gluserfs</code></pre>
執行後應可看到類似下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">server1.cyril.idv:/datavol on /mnt/glusterfs/data type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)</code></pre>
</li>
<li><span style="color: blue;">測試檔案的操作</span> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]echo "Hello GlusterFS" >> /mnt/glusterfs/data/test0</code></pre>
</li>
<li><span style="color: blue;">確認檔案的同步複製 </span><br />我們可以同時在 server1 與 server2 的 /data 下看到 test0 這個檔案,而且內容皆為 "Hello GlusterFS"。 </li>
</ol>
至此,我們已經完成利用 glusterfs 建立目錄即時同步的架構。接下來我們將透過更多的例子,看看此一架構可以提供何種程度的高可用性。 <br />
<span style="color: red;">註3:如果我們直接在 server1 或 server2 上針對檔案系統 (也就是 /data) 進行異動的操作 (如新增檔案),將無法對達到同步的效果,甚至連用戶端也無法接受到這些異動。</span><br />
<span style="color: blue;"><b><br /></b></span>
<span style="color: blue;"><b>第四階段:高可用性測試</b></span><br />
<ol>
<li><span style="color: blue;">關閉 server1 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]sync;shutdown –h now</code></pre>
</li>
<li><span style="color: blue;">修改檔案內容 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]echo "Hello GlusterFS Replication" >> /mnt/glusterfs/data/test0</code></pre>
雖然 server1 已經關機,但是我們依舊可以對原本掛載的目錄進行讀寫,其讀寫的目的地會自動變成 server2。</li>
<li><span style="color: blue;">確認 server2 上檔案 test0 的內容 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server2 ~]# cat /data/test0</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Hello GlusterFS
Hello GlusterFS Replication</code></pre>
</li>
<li><span style="color: blue;">開啟 server1</span></li>
<li><span style="color: blue;">確認 server1 上檔案 test0 的內容 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]# cat /data/test0</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Hello GlusterFS
Hello GlusterFS Replication</code></pre>
<span style="color: red;">註4:glusterfs 具備自動修復 (heal) 的功能,如果目錄下的資料較多,自動修復所需的時間也會跟著增長。在自動修復期間雖然服務端的檔案可能會有不一致的現象發生,但是 glusterfs 會確保用戶端只會看到最新的檔案。</span></li>
<li><span style="color: blue;">再次關閉 server1 </span><br />指令同樣為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@server1 ~]sync;shutdown –h now</code></pre>
</li>
<li><span style="color: blue;">卸載用戶端上的目錄掛載 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]umount /mnt/glusterfs/data</code></pre>
</li>
<li><span style="color: blue;">再次掛載目錄 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount -a</code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">Mount failed. Please check the log file for more details. </code></pre>
<span style="color: red;">註5:掛載失敗的原因在於 server1 已經關機,所以用戶端自然無法進行連結。雖然 glusterfs 在掛載後的讀寫具備自動切換的能力,但是掛載時的動作卻無法自動切換。</span></li>
<li><span style="color: blue;">修改掛載的參數,使其支援備用掛載主機 </span><br />修改 /etc/fstab,將原本<pre class="CICodeFormatter"><code class="CICoeFormatter">server1.cyril.idv:/datavol /mnt/glusterfs/data glusterfs defaults 0 0</code></pre>
修改為<pre class="CICodeFormatter"><code class="CICoeFormatter">server1.cyril.idv:/datavol /mnt/glusterfs/data glusterfs defaults,<span style="color: red;">backupvolfile-server=server2.cyril.idv</span> 0 0</code></pre>
</li>
<li><span style="color: blue;">再次掛載目錄 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount –a</code></pre>
</li>
<li><span style="color: blue;">確認掛載結果 </span><br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">[root@client ~]mount –t fuse.glusterfs </code></pre>
執行後應可看到下列訊息<pre class="CICodeFormatter"><code class="CICoeFormatter">server2.cyril.idv:/datavol on /mnt/glusterfs/data type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)</code></pre>
<span style="color: red;">註6:在此我們可以看到掛載主機已經從 server1 改為 server2了。透過此一參數,可以避免 glusterfs 在掛載目錄時因為單一主機失效而掛載失敗。</span></li>
</ol>
透過 glusterfs,我們可以輕鬆建立一個可自動同步且具備高可用性的目錄。更棒的是,如果未來我們發現這個目錄有空間不足或效能低落的情況發生,只要加上更多的 brick,就可以直接在線上進行擴充的工作,不用再擔心因為資料轉移所造成的過多時間花費與停機時間了。 Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-49173062691096495882013-04-26T14:52:00.000+08:002013-04-26T14:52:00.727+08:00[個人意見] ALE 了沒 - The Ugly Truth about ALE<span style="color: red;"><a href="http://lh5.ggpht.com/-xVil7SGwjmI/UXY9N4iXWrI/AAAAAAADh6w/DT7KI_SFMM0/s1600-h/3040508093_a66a92cc59_o%25255B3%25255D.jpg"><img align="left" alt="3040508093_a66a92cc59_o" border="0" height="226" src="http://lh6.ggpht.com/-zouA-FHhs38/UXY9Owj8x5I/AAAAAAADh64/3LKu1qe84Lc/3040508093_a66a92cc59_o_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="3040508093_a66a92cc59_o" width="242" /></a>對資安從業人員來說,一個揮之不去的困擾就是如何評估一個計畫或產品的必要性</span>。必要性除了從功能面著手,更重要的是財務面的考量。把錢花在刀口上是所有員工的責任,更何況當我們要向 CEO 爭取支持時,<span style="color: red;">如果提不出相關的證明,就算 CEO 可以接受"威脅"形式的溝通,到 CFO 那關也往往只能等著被打槍</span>。所以諸如 ROI (Return on Investment)、TCO (Total Cost of Ownership) 等指標,就變成我們用來將相關需求與財務做整合的可用工具。<br />
除了 ROI 與 TCO,還有一種更常見的評量工具,我們稱之為 Annualized Loss Expectancy,簡稱 ALE。ALE 不但在實務上很常見,更是許多資安認證的必考題。首先,我們來看 ALE 的計算公式:<br />
<i><span style="color: red;">ALE = SLE * ARO</span> <br />Annualized Loss Expectancy = Signle Loss Expectancy * Annualized Rate of Occurrence</i><br />
<i>每年損失的期望值 = 單一事件損失期望值 * 每年發生的機率</i><br />
舉例來說,假設我們公司平均每五年發生一次中毒事件,每次造成的損失 (人力成本、業務損失) 為 100000 元,那麼病毒這個威脅來源的 ALE 就是<br />
100000 元 * 1/5 = 20000 元<br />
<span style="color: red;">ALE 的觀念與計算都相當簡單。此外,通常安全計畫或產品的導入並不會增加受益,所以 ROI 不容易套用。而 TCO 則因為沒有辦法與"成效"做關連,所以說服力也往往不足。這些因素的加總,使得 ALE 很受到資安從業人士的歡迎</span>。但是當我們認真思考後,就會發現 ALE 的計算往往只是落入無意義的數字遊戲,對事情的判斷並沒有任何幫助。<br />
ALE 本身就是一種根據統計而來的計算。面對統計數據,我們必須先釐清的是何謂有效的數據來源?<span style="color: red;">不管是 SLE 或 ARO,是要參考全世界的企業?還是國內的企業?是要參考所有產業的企業?還是只要參考與企業本身相同產業的企業?甚至只要考慮自己企業本身的歷史數據</span>?<br />
當我們選定一個數據來源時,就會發現下一個問題,那就是<span style="color: red;">樣本數不夠多,甚至是無法取得任何實際的樣本數據</span>。<span style="color: red;">通常特定種類資安事件的發生次數都不會很頻繁,一個企業可能一年發生個一兩次就很可怕了。高於此發生頻率的問題,我相信不需要採用 ALE 的方式,光用威脅就可以讓 CEO/CFO 屈服了</span>。樣本不夠多,統計數據的參考價值就很低,這就是統計的天性。就算我們拿全世界企業的數據來參考,就真的拿的到真實的數據嗎?有多少企業願意誠實公布這樣的數據?又有多少企業能夠在資安事件發生時都確實掌握了?ARO 如此、SLE 更是如此。別忘了 SLE 可是損失的期望值,必須知道損失的機率分布才能算的出。好吧,就算我們把 SLE 簡化成損失的平均值,問題也沒有變得比較好回答。<br />
所以,<span style="color: red;">SLE 與 ARO 變成了自由心證的數字</span>。而不幸的是,因為 ALE 的計算就是這麼簡單,只要把 SLE 乘上 ARO 就成了。所以一旦"不小心"將 SLE 高估了兩倍,ALE 也就變成兩倍,對於財務可行性的判斷結果可能也因此有了翻盤的影響。<br />
當然,我們也別看輕 ALE。畢竟 ALE 除了在某些場合確實能夠幫助我們分析財務面的可行性,甚至在更多時機能夠成為我們用來說服 CEO/CFO 的溝通工具。只是,在<span style="color: red;">這些數字背後所代表的意義,其實只是我們內心主觀的偏見。而這,正是 ALE 的 Ugly Truth</span>。<br />
<br />
相關連結:<br />
<ul>
<li><a href="http://www.csoonline.com/article/394963/security-and-business-financial-basics?page=5">Security and Business: Financial Basics</a></li>
</ul>
Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-31592738288645124232013-04-23T21:07:00.000+08:002013-04-23T21:07:00.253+08:00[從電影看資安] 確實做好 NAC,電腦亂插免驚係 - 空降危機作為 007 電影系列的第 23 部作品,空降危機中充滿了各種"老"的感覺。007 老了,MI6 也老了。不過老歸老,不放棄的精神卻是未曾減少。M 夫人為了 MI6 的未來,勇敢面對政客的質疑。而 007 也為了維持國家安全,必須面對自己因為受傷與年紀漸長所帶來的技巧生疏。除了無形的老,連片中的道具與武器,也都極力配合著"老"這個觀念。古董車、老式無線電發射器、獵槍、取代被炸毀的 MI6 總部的地下碉堡、007 的老家、甚至是史上年紀最大的 007 女郎,都充滿了濃濃的復古意味。當然,薑是老的辣,007 就利用這群老東西,成功的剷除了他的前輩,也就是曾經最受 M 夫人所器重的前情報員-西法。<br />
<div align="center">
<br />
<span style="color: blue;">電影一開始,007 在進行一項任務時發現一個受傷的情報員。 </span><a href="http://lh4.ggpht.com/-NPcT7lYSTEE/UXYJETQ4BjI/AAAAAAADhv4/rQ4ktXS5RjQ/s1600-h/vlcsnap-2013-04-22-19h35m54s14%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h35m54s14" border="0" height="272" src="http://lh5.ggpht.com/-wCTwjrSKxDg/UXYJGN9CGhI/AAAAAAADhwA/vhaOnSW37z0/vlcsnap-2013-04-22-19h35m54s14_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h35m54s14" width="482" /></a> <br />
<span style="color: blue;">更糟的是,內含情報員名單的硬碟被搶了。</span> <br />
<a href="http://lh6.ggpht.com/-dQ0_mgM_EWs/UXYJH4dEQnI/AAAAAAADhwI/CcGt6C38o-E/s1600-h/vlcsnap-2013-04-22-19h36m16s40%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h36m16s40" border="0" height="272" src="http://lh5.ggpht.com/-PER9R2gpZJU/UXYJJIy2xsI/AAAAAAADhwQ/_9c9UA8Q23Q/vlcsnap-2013-04-22-19h36m16s40_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h36m16s40" width="482" /></a> <br />
<span style="color: blue;">M 夫人指示 007 以追回硬碟為優先任務,情報員就放給他死。不管在哪個產業,人人都是可以被犧牲的棋子。</span> <br />
<a href="http://lh5.ggpht.com/-Ob_84q_9L-M/UXYJLEECulI/AAAAAAADhwY/dTcSCJgJC34/s1600-h/vlcsnap-2013-04-22-19h36m46s111%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h36m46s111" border="0" height="272" src="http://lh5.ggpht.com/-lFj_84_XoOg/UXYJM8YTH0I/AAAAAAADhwg/cM6q6gXKbHQ/vlcsnap-2013-04-22-19h36m46s111_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h36m46s111" width="482" /></a> <br />
<span style="color: blue;">尚未從超級老爸破壞中復原的伊斯坦堡,這次 007 只是小意思來點摩托車特技。</span> <br />
<a href="http://lh4.ggpht.com/-qJ2u3sgu_F0/UXYJOiLbmBI/AAAAAAADhwo/PXZfkAIfrec/s1600-h/vlcsnap-2013-04-22-19h38m40s20%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h38m40s20" border="0" height="272" src="http://lh3.ggpht.com/-s_eJ3MAGtxk/UXYJQX_z5iI/AAAAAAADhww/ERDYM4smh30/vlcsnap-2013-04-22-19h38m40s20_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h38m40s20" width="482" /></a> <br />
<span style="color: blue;">市區還是留給超級老爸來破壞,007 負責破壞火車。</span> <br />
<a href="http://lh6.ggpht.com/-x5N7Emi3Al0/UXYJSKfbQdI/AAAAAAADhw4/E_AfPKNtajc/s1600-h/vlcsnap-2013-04-22-21h02m05s90%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-21h02m05s90" border="0" height="272" src="http://lh4.ggpht.com/-QkaVOhvo2Ww/UXYJTpEjgvI/AAAAAAADhxA/gIn2eVQhM-g/vlcsnap-2013-04-22-21h02m05s90_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-21h02m05s90" width="482" /></a> <br />
<span style="color: blue;">火車即將進入隧道,再抓不到壞人就等著名單外洩了,但是偽 007 女郎顯然對自己的槍法不是很有信心。 </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyEMWmWHkr75zpF8BHCYtOWHei9J58iPmbyAHOZ7QJv-IRvyfHh4z_PmYqslDKjevZSmzJIy-QfX6GDd-y6h1EP0N7z6txTkKCrhRHlmjGLqz1Xg-dR4gYHN-_OTHvaSJ1WGaHYXrMkNGj/s1600-h/vlcsnap-2013-04-22-19h39m02s245%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h39m02s245" border="0" height="272" src="http://lh3.ggpht.com/-BErVPSUqqGM/UXYJXufynoI/AAAAAAADhxQ/WN0NuuLS1h4/vlcsnap-2013-04-22-19h39m02s245_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h39m02s245" width="482" /></a> <br />
<span style="color: blue;">有1就有2,連無名小卒都可以放棄了,007 算什麼?(呃,好像說反了) </span><a href="http://lh5.ggpht.com/-9gbLDJ1Opbw/UXYJZXRRn7I/AAAAAAADhxY/iyHNu96_IAE/s1600-h/vlcsnap-2013-04-22-19h39m37s89%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h39m37s89" border="0" height="272" src="http://lh4.ggpht.com/-MhnJvFuhLH8/UXYJakW7HiI/AAAAAAADhxg/wUmOBYEPp-c/vlcsnap-2013-04-22-19h39m37s89_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h39m37s89" width="482" /></a> <br />
<span style="color: blue;">果然打中 007 了!James Bond, KIA!</span> <br />
<a href="http://lh3.ggpht.com/-gJy8_DoCYcE/UXYJcrXaH-I/AAAAAAADhxo/GRGcmhhq2u8/s1600-h/vlcsnap-2013-04-22-19h41m28s193%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h41m28s193" border="0" height="272" src="http://lh4.ggpht.com/-hVJLy9VNzBM/UXYJd91G5gI/AAAAAAADhxw/RcbHBlI6EXQ/vlcsnap-2013-04-22-19h41m28s193_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h41m28s193" width="482" /></a> <br />
<span style="color: blue;">M 夫人真是衰到家,不但名單外洩,連總部也在自己眼前被炸了。</span> <br />
<a href="http://lh4.ggpht.com/-7_jUFMwaiBw/UXYJfu3bHuI/AAAAAAADhx4/8TGI53cFhV8/s1600-h/vlcsnap-2013-04-22-19h45m38s115%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h45m38s115" border="0" height="272" src="http://lh4.ggpht.com/-iCZtwgtlG_8/UXYJg5k2t2I/AAAAAAADhyA/h6CXdP53MXs/vlcsnap-2013-04-22-19h45m38s115_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h45m38s115" width="482" /></a> <br />
<span style="color: blue;">007 不虧是 007,大難不死後第一件事就是幹他最拿手的事。</span> <br />
<a href="http://lh5.ggpht.com/-OKnpUUWWd_Y/UXYJiufM31I/AAAAAAADhyI/FtfvihZ92Fg/s1600-h/vlcsnap-2013-04-22-19h46m08s73%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h46m08s73" border="0" height="272" src="http://lh6.ggpht.com/-nRXJwVoAd-I/UXYJjzO8sRI/AAAAAAADhyQ/kKn2ID_VdM4/vlcsnap-2013-04-22-19h46m08s73_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h46m08s73" width="482" /></a> <br />
<span style="color: blue;">出門在外的好夥伴-CNN 頻道。</span> <br />
<a href="http://lh6.ggpht.com/-CGcZopD2WBQ/UXYJmHhbIlI/AAAAAAADhyY/vxlItuijNOc/s1600-h/vlcsnap-2013-04-22-19h46m19s19%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h46m19s19" border="0" height="272" src="http://lh3.ggpht.com/-KhA7Fbjrgq0/UXYJnt7ya0I/AAAAAAADhyg/sxq_bryCeFU/vlcsnap-2013-04-22-19h46m19s19_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h46m19s19" width="482" /></a> <br />
<span style="color: blue;">007 回到 MI6,工作人員帶他到"新"的 MI6 總部。</span> <br />
<a href="http://lh4.ggpht.com/-CuPH5Opxmww/UXYJpMcNvCI/AAAAAAADhyo/bn3FUWSnqVA/s1600-h/vlcsnap-2013-04-22-19h49m59s174%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h49m59s174" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisDDjwuuxCGlnD-aZAEz_q4S-tRUhAtxszgR-xbLzE0LwXsjLUDbivCARZygv5bUhBCQk6POTKRTb7YNRRl-i-UCJ1uqAdtub20Ws7-vcCj_dr72OWIOU16wCoHC5bMm2hP_o6fVL3ITSd/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h49m59s174" width="482" /></a> <br />
<span style="color: blue;">新總部是一個外表低調到不行的古老碉堡。</span> <br />
<a href="http://lh4.ggpht.com/-espaKFDwcFQ/UXYJsZoM6bI/AAAAAAADhy4/tMQw9syEMMk/s1600-h/vlcsnap-2013-04-22-19h50m12s51%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h50m12s51" border="0" height="272" src="http://lh6.ggpht.com/-HwzINoaTXqU/UXYJtkhlACI/AAAAAAADhzA/j5V6kUvUhq4/vlcsnap-2013-04-22-19h50m12s51_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h50m12s51" width="482" /></a> <br />
<span style="color: blue;">你不需要說抱歉,只要…你知道的。 </span><a href="http://lh6.ggpht.com/-YCsAEGGPRjY/UXYJv7f0REI/AAAAAAADhzI/M_d1lf5GvdQ/s1600-h/vlcsnap-2013-04-22-19h51m17s168%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h51m17s168" border="0" height="272" src="http://lh3.ggpht.com/-k5kjAozD1x4/UXYJx8mRIgI/AAAAAAADhzQ/MxSDgNnDtXM/vlcsnap-2013-04-22-19h51m17s168_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h51m17s168" width="482" /></a> <br />
<span style="color: blue;">空降危機中少數真正"新"的東西之一-軍需官 Q。</span> <br />
<a href="http://lh3.ggpht.com/-aSW-Vmgddjg/UXYJz_OV4bI/AAAAAAADhzY/i1ma1tshB5w/s1600-h/vlcsnap-2013-04-22-19h52m13s205%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h52m13s205" border="0" height="272" src="http://lh6.ggpht.com/-JOCS2zOCkgA/UXYJ1OknF5I/AAAAAAADhzg/ig-94gv_39I/vlcsnap-2013-04-22-19h52m13s205_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h52m13s205" width="482" /></a> <br />
<span style="color: blue;">007 憑著有限的線索來到了一個賭場,沒想到後續"線索"得來全不費工夫。 </span><a href="http://lh4.ggpht.com/-fb35gZfZ7Rs/UXYJ22SuxSI/AAAAAAADhzo/OO-v1NcHARY/s1600-h/vlcsnap-2013-04-22-19h53m40s110%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h53m40s110" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR5Val5a_MTBr2-zgXbUAiocluLT3I4uHIDWjrXLpSAVkIbZjAb4xyOgu0d9kzHpVIfpi_dhlJKt9hyphenhyphen4qhpTaSoIRK4XQXheTJa5gNHs4Ikz1dDyomul7__E6VbaGh3-TXZ1VCWLlECmky/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h53m40s110" width="482" /></a> <br />
<span style="color: blue;">既然是線索,當然要好好"探索"一番。</span> <br />
<a href="http://lh5.ggpht.com/-BUsQulisErg/UXYJ50vrjyI/AAAAAAADhz4/6TYOX4yp3aw/s1600-h/vlcsnap-2013-04-22-19h54m11s84%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h54m11s84" border="0" height="272" src="http://lh3.ggpht.com/--shnr6gIDww/UXYJ7J6IpyI/AAAAAAADh0A/h8CohdF63AY/vlcsnap-2013-04-22-19h54m11s84_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h54m11s84" width="482" /></a> <br />
<span style="color: blue;">007 就是這麼真男人,即使知道是陷阱也要上。</span> <br />
<a href="http://lh3.ggpht.com/-jSPkwFS1RI0/UXYJ9DgcriI/AAAAAAADh0I/PqZVEkrnDPQ/s1600-h/vlcsnap-2013-04-22-19h56m28s198%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h56m28s198" border="0" height="272" src="http://lh3.ggpht.com/-LuhE3p0xT6Y/UXYJ-aMHDFI/AAAAAAADh0Q/gRwl0RmkPxA/vlcsnap-2013-04-22-19h56m28s198_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h56m28s198" width="482" /></a> <br />
<span style="color: blue;">原來是老前輩啊,對他來說,007 只代表一個字-菜。</span> <br />
<a href="http://lh5.ggpht.com/-2JNfVaFy1b0/UXYKAIXyrnI/AAAAAAADh0Y/DkJg11MIEzk/s1600-h/vlcsnap-2013-04-22-19h57m59s95%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-19h57m59s95" border="0" height="272" src="http://lh4.ggpht.com/-44so2d0OgfA/UXYKBuiHH-I/AAAAAAADh0g/thK3mS8ZlYM/vlcsnap-2013-04-22-19h57m59s95_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-19h57m59s95" width="482" /></a> <br />
<span style="color: blue;">只是老前輩做夢也想不到,菜鳥就靠著一個超復古的無線電發射器,引來了一堆救兵。</span> <br />
<a href="http://lh6.ggpht.com/-PdJbq7KziO8/UXYKDnbtzxI/AAAAAAADh0o/qYs1qREszFs/s1600-h/vlcsnap-2013-04-22-20h00m09s117%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h00m09s117" border="0" height="272" src="http://lh3.ggpht.com/-q0uaykUg4N4/UXYKE-wlcqI/AAAAAAADh0w/wwPzJmsdLJE/vlcsnap-2013-04-22-20h00m09s117_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h00m09s117" width="482" /></a> <br />
<span style="color: blue;">英國的直升機就這麼忽然出現在不知名的小島上。 </span><a href="http://lh3.ggpht.com/-p_0A9AKKeVQ/UXYKG9E9Y-I/AAAAAAADh04/yFaDRChw3Eo/s1600-h/vlcsnap-2013-04-22-20h00m20s243%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h00m20s243" border="0" height="272" src="http://lh5.ggpht.com/-hFaO9_zoB_A/UXYKIPV-bOI/AAAAAAADh1A/_IXaB2AHw20/vlcsnap-2013-04-22-20h00m20s243_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h00m20s243" width="482" /></a> <br />
<span style="color: blue;">M 夫人終於知道自己的老巢是被誰炸掉了。</span> <br />
<a href="http://lh6.ggpht.com/-1PYXLCvya7M/UXYKKGh7VOI/AAAAAAADh1I/dQInfnvZPrY/s1600-h/vlcsnap-2013-04-22-20h01m54s149%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h01m54s149" border="0" height="272" src="http://lh3.ggpht.com/-Zt7cy_sMpi8/UXYKLVMjgUI/AAAAAAADh1Q/ghO_KCqtzpw/vlcsnap-2013-04-22-20h01m54s149_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h01m54s149" width="482" /></a> <br />
<span style="color: blue;">原來正是她自己的兒子。 </span><a href="http://lh3.ggpht.com/-HtTk2R6EeyQ/UXYKNFYo-DI/AAAAAAADh1Y/ErKtzBzkV2E/s1600-h/vlcsnap-2013-04-22-20h01m38s230%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h01m38s230" border="0" height="272" src="http://lh3.ggpht.com/-1QitjAYo4q0/UXYKOdVjORI/AAAAAAADh1g/asHMj9D1Gb0/vlcsnap-2013-04-22-20h01m38s230_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h01m38s230" width="482" /></a> <br />
<span style="color: blue;">除了逮人,當然也順道接受了壞蛋的電腦設備。 </span><a href="http://lh4.ggpht.com/-0u5O2W80Ig0/UXYKQKDl_kI/AAAAAAADh1o/xLjEedw9Oac/s1600-h/vlcsnap-2013-04-22-20h03m49s28%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h03m49s28" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUqSDmSnrArt_CH45iHI6b50hZLjQC_mb-wb_0uIVJtPaX15Z7xMrx6SdxXCR4EUYpUSB9gy7EDYo6Cdz9_rKX7B6XGvI9ONGXZCOuRGKICqVR0nplx3ykkWdtCWYiJkQbEK3C78Vr8uNb/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h03m49s28" width="482" /></a> <br />
<span style="color: blue;">嗯,連記憶體內的資料都不爽給你看。 </span><a href="http://lh3.ggpht.com/-p8bLqR8sRto/UXYKTWkT8HI/AAAAAAADh14/df33fTnvJ40/s1600-h/vlcsnap-2013-04-22-20h04m02s158%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h04m02s158" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhArsfL3eRijDytZ1oEsxaQIvyi9wY4NfQzSFAIZxr8jemq9Fj-z8uxO_P9R3a7UjYlh5bgHZyZORVZzli68fhD6OQXegMvBjV0KF_r3FkBXlBJ8rVCOoTQmHSdY1Ud8p6RPFQulrV406KR/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h04m02s158" width="482" /></a> <br />
<span style="color: blue;">Q 表示,我有離線恐懼症。 </span> <br />
<a href="http://lh4.ggpht.com/-uBVL6viYf8U/UXYKWkn_lkI/AAAAAAADh2I/Ied6V7usY2A/s1600-h/vlcsnap-2013-04-22-20h06m04s77%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h06m04s77" border="0" height="272" src="http://lh5.ggpht.com/-SNWy00GfyxI/UXYKXwe_emI/AAAAAAADh2Q/hMyQKAmzKVU/vlcsnap-2013-04-22-20h06m04s77_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h06m04s77" width="482" /></a> <br />
<span style="color: blue;">Q 確實是電腦高手。 </span><a href="http://lh4.ggpht.com/-9LC5RsRCjYo/UXYKZlajlnI/AAAAAAADh2Y/JYe0_MinpF0/s1600-h/vlcsnap-2013-04-22-20h06m21s3%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h06m21s3" border="0" height="272" src="http://lh4.ggpht.com/-YEsJmUJUfAA/UXYKbHmhYQI/AAAAAAADh2g/6JtXhhwnLE0/vlcsnap-2013-04-22-20h06m21s3_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h06m21s3" width="482" /></a> <br />
<span style="color: blue;">Q 表示,我真的好想破解密碼喔。 </span><a href="http://lh5.ggpht.com/-VKVvT0Tb86M/UXYKc5ybW6I/AAAAAAADh2o/iQuWQhAAQSw/s1600-h/vlcsnap-2013-04-22-20h03m15s186%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h03m15s186" border="0" height="272" src="http://lh6.ggpht.com/-7XV_52z5iig/UXYKepg59zI/AAAAAAADh2w/kQ7Vul2Sjz0/vlcsnap-2013-04-22-20h03m15s186_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h03m15s186" width="482" /></a> <br />
<span style="color: blue;">007表示,我才是主角,猜密碼這種功勞還是交給我。</span> <br />
<a href="http://lh5.ggpht.com/-xAoyag1eLIY/UXYKgKTCUPI/AAAAAAADh24/tGjplNgMd_I/s1600-h/vlcsnap-2013-04-22-21h26m13s39%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-21h26m13s39" border="0" height="272" src="http://lh4.ggpht.com/-kWiOz12ei10/UXYKhQFItGI/AAAAAAADh3A/9vwXKnyO1qM/vlcsnap-2013-04-22-21h26m13s39_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-21h26m13s39" width="482" /></a> <br />
<span style="color: blue;">雖然 007 猜對了密碼,但是沒多久 MI6 的系統就發出警告。</span><a href="http://lh5.ggpht.com/-JWIxUwEJGVs/UXYKjpCoUbI/AAAAAAADh3I/cWBhil-YrDQ/s1600-h/vlcsnap-2013-04-22-20h06m43s232%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h06m43s232" border="0" height="272" src="http://lh3.ggpht.com/-3KK5ObjaTuI/UXYKlMDUMXI/AAAAAAADh3Q/zuvtODgFfCg/vlcsnap-2013-04-22-20h06m43s232_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h06m43s232" width="482" /></a> <br />
<span style="color: blue;">Q 還在一頭霧水中。</span> <br />
<a href="http://lh3.ggpht.com/-_sNV1jeQyww/UXYKmy3VU8I/AAAAAAADh3Y/ezUc9wRYa2o/s1600-h/vlcsnap-2013-04-22-20h06m50s40%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h06m50s40" border="0" height="272" src="http://lh4.ggpht.com/-Vw5eEpmWRno/UXYKoBjFw6I/AAAAAAADh3g/lGPcHLh0800/vlcsnap-2013-04-22-20h06m50s40_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h06m50s40" width="482" /></a> <br />
<span style="color: blue;">Q:… </span><a href="http://lh4.ggpht.com/-HxI96gl5IL0/UXYKqGeVM9I/AAAAAAADh3o/DT5_IiAEh_Q/s1600-h/vlcsnap-2013-04-22-20h06m59s124%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h06m59s124" border="0" height="272" src="http://lh4.ggpht.com/-DaxbqEl_j5I/UXYKruRLCxI/AAAAAAADh3w/_qmKDjBIEGo/vlcsnap-2013-04-22-20h06m59s124_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h06m59s124" width="482" /></a> <br />
<span style="color: blue;">就算是天才,也一樣會成為資安防護中的那顆老鼠屎。</span> <br />
<a href="http://lh4.ggpht.com/-zCcCdhI-RLo/UXYKtar04RI/AAAAAAADh34/lb-u4ln4Bn8/s1600-h/vlcsnap-2013-04-22-20h07m09s242%25255B5%25255D.png"><img alt="vlcsnap-2013-04-22-20h07m09s242" border="0" height="272" src="http://lh5.ggpht.com/-Zbt58yyTPD0/UXYKujvkYGI/AAAAAAADh4A/OMslXSdZo-c/vlcsnap-2013-04-22-20h07m09s242_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h07m09s242" width="482" /></a> <br />
<span style="color: blue;">不是他駭入你們,是你放他進來的,傻B。 </span><a href="http://lh6.ggpht.com/-kQ9tmcDx3RU/UXYKwcx-e0I/AAAAAAADh4I/v_kahiFMckg/s1600-h/vlcsnap-2013-04-22-20h07m53s167%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h07m53s167" border="0" height="272" src="http://lh5.ggpht.com/-tGaJy4taAvU/UXYKxvt4ruI/AAAAAAADh4Q/ZZWmq6uGbys/vlcsnap-2013-04-22-20h07m53s167_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h07m53s167" width="482" /></a> <br />
<span style="color: blue;">經過一連串的追蹤後,007 選擇回到老家 (空降莊園?) 當做最後決戰的地點。</span> <br />
<a href="http://lh3.ggpht.com/-QDs5q4wxkXc/UXYKzg4-jAI/AAAAAAADh4Y/AhhWra2DAA4/s1600-h/vlcsnap-2013-04-22-20h08m51s236%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h08m51s236" border="0" height="272" src="http://lh4.ggpht.com/-fvMuQ0UxOlc/UXYK04c-wQI/AAAAAAADh4g/sEprgbw40F8/vlcsnap-2013-04-22-20h08m51s236_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h08m51s236" width="482" /></a> <br />
<span style="color: blue;">小鬼當家老灰啊版。</span> <br />
<a href="http://lh4.ggpht.com/-rThhjKmTcV0/UXYK2_q-LJI/AAAAAAADh4o/M7hWcmQueXU/s1600-h/vlcsnap-2013-04-22-20h09m20s7%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h09m20s7" border="0" height="272" src="http://lh4.ggpht.com/-aj5Ye8aL0e8/UXYK4BN5DGI/AAAAAAADh4w/AO0J9XW-zRY/vlcsnap-2013-04-22-20h09m20s7_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h09m20s7" width="482" /></a> <br />
<span style="color: blue;">密密麻麻的壞蛋,但是他們不知道要分散跟尋找掩護嗎?</span> <br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNZJ2V-RHXnXi1hKL8bpArOblu8aYYB4-gWIHy0GZY9Jdu-fSVR9yie2NlSYudqzi2o5kZ8VU2GaE_otDwkGfH6KvKMoTSPk5kufpuIkVRf0V7MoyDXBAU9wdw6FXk-csVxs2xTzy6Eiwe/s1600-h/vlcsnap-2013-04-22-20h09m29s100%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h09m29s100" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpORsO7jeBgN466L9aQFDt3ow_LTnbMVhBOQxv7B3RMPolFg6NPxmmkj5HIG2AO3xIOJm8W0V8ULOQXSOdTP3BVEgqICOxBrAoJpaI7FcGGmdT4CV5Lws8yP7J1dwgNaiuoVMH3Uqv_Aps/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h09m29s100" width="482" /></a> <br />
<span style="color: blue;">一陣熱情如火的纏綿。 </span><a href="http://lh3.ggpht.com/-xzRAyQkjhQc/UXYK9RT7YvI/AAAAAAADh5I/kcPBBpeaw9o/s1600-h/vlcsnap-2013-04-22-20h27m03s136%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h27m03s136" border="0" height="272" src="http://lh6.ggpht.com/-3pd2lifJQ1w/UXYK-uelngI/AAAAAAADh5Q/gvf1wGbqyu4/vlcsnap-2013-04-22-20h27m03s136_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h27m03s136" width="482" /></a> <br />
<span style="color: blue;">愛你愛到殺死你。</span> <br />
<a href="http://lh3.ggpht.com/-ZgjLq6yBG94/UXYLAD2ovqI/AAAAAAADh5Y/YJNgIXs0JUE/s1600-h/vlcsnap-2013-04-22-21h40m20s13%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-21h40m20s13" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiU_C60Z4jdoXkU7dto-6WbHiMzXYxxbiyIwot0XZWueSU9I3V4MmvfdEUT6I5O27cqsgsfR4GOxdzVfPZ0nqo4b1Cpq1SeHVjfB4IXFmUFrFx-5hxeTaWVWkjS2DO_JxXEJ88PHwvcCBA/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-21h40m20s13" width="482" /></a> <br />
<span style="color: blue;">再冷酷的人,臨死前也難免會感傷。</span> <br />
<a href="http://lh5.ggpht.com/-Q1htAd7vp2o/UXYLDZah4OI/AAAAAAADh5o/uIRJU0dtD0Y/s1600-h/vlcsnap-2013-04-22-20h10m39s23%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h10m39s23" border="0" height="272" src="http://lh4.ggpht.com/-gmrcSc6Jpik/UXYLE_b-zjI/AAAAAAADh5w/A4N8pOxTPQ4/vlcsnap-2013-04-22-20h10m39s23_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h10m39s23" width="482" /></a> <br />
<span style="color: blue;">果然 M 夫人才是 007 最愛的 007 女郎。(無誤)</span> <br />
<a href="http://lh4.ggpht.com/-qiIuPW7XxNY/UXYLGog3RJI/AAAAAAADh54/IGLQFSpkl8I/s1600-h/vlcsnap-2013-04-22-20h12m01s81%25255B7%25255D.png"><img alt="vlcsnap-2013-04-22-20h12m01s81" border="0" height="272" src="http://lh4.ggpht.com/-ZPsYVy2l0Og/UXYLIKEhHaI/AAAAAAADh6A/cNB2JegfZfI/vlcsnap-2013-04-22-20h12m01s81_thumb%25255B3%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h12m01s81" width="482" /></a> <br />
<span style="color: blue;">第24、25部 007 作品已經在籌劃中囉,你演不演?</span> <br />
<a href="http://lh6.ggpht.com/-ZGmeG0eNuHM/UXYLJ9XQK0I/AAAAAAADh6I/N92b3i8qdjE/s1600-h/vlcsnap-2013-04-22-20h14m07s62%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h14m07s62" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiiO9OaFXjsi_A-R7CgTPIeMGCckqnWKGj6uNjpj9BCqzPYSmMLK4QDiBmwYBsCt__0FMBPaR-FKzCcQ_5pboty-u7LuPXX6jDhLZ8xxL7nATBcg6XSHLlk8etTLmxndvThgry4-unO3-s/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h14m07s62" width="482" /></a> <br />
<span style="color: blue;">007表示,有錢賺當然演啊。哈利波特系列已經結束了,你也一起來這邊賺吧。</span> <br />
<a href="http://lh3.ggpht.com/-HZ2RunkRzJ0/UXYLNDJMyzI/AAAAAAADh6Y/KAumehRR3fE/s1600-h/vlcsnap-2013-04-22-20h14m25s244%25255B4%25255D.png"><img alt="vlcsnap-2013-04-22-20h14m25s244" border="0" height="272" src="http://lh4.ggpht.com/-kexli4QKK3A/UXYLOfHMzYI/AAAAAAADh6g/UjsMCmhusVE/vlcsnap-2013-04-22-20h14m25s244_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-22-20h14m25s244" width="482" /></a></div>
在電影中,<span style="color: red;">聰明如軍需官Q也犯下了一個不可原諒的大錯,那就是隨意將壞人的電腦接上內部網路</span>。我們都知道,路邊撿來的隨身碟不可亂插,路邊撿來的電腦 (如果你撿得到的話) 當然也不可以隨意接上內部網路,更何況還是壞人的電腦。除了路邊撿來的電腦,員工、協力廠商、訪客的智慧型手機、平板電腦、筆電,都可能因為防護力不足而成為內部資安威脅的來源。更遑論還有所謂的商業間諜,隨時對藏於企業內部網路當中的珍貴資訊虎視眈眈。<br />
<span style="color: red;">因應這些行動裝置所帶來的方便性與危險性,每個企業都應該訂定完善的 BYOD 政策,以有效管理因這些裝置所帶來的風險</span>。但是政策再好,如果只限於管理上的政策 (如規定不能隨意將個人手機接入公司的網路),終究只能防君子 (而且還是腦袋清楚的君子),而無法防堵小人。所以<span style="color: red;">搭配必要的技術性政策,如導入<a href="http://cyrilwang.blogspot.tw/2008/12/network-access-control-nac.html">NAC</a>,將可以大幅提高管理性政策的有效性,達到更即時且全面的效果</span>。正所謂樹多有枯枝,人多有白痴,光依靠管理性政策來保護內部網路的安全,只要一個白痴就可以讓企業產生莫大的資安威脅。<span style="color: red;">如果 MI6 有確實導入 NAC 機制,那麼壞人的電腦根本就無法對 MI6 內部網路進行任何的存取動作,更別說要入侵 MI6 的重要伺服器了</span>。如此一來,後續故事應該會有完全不同的發展,或許 M 先生也只能先回去繼續當他的佛地魔了。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-91592334210666015442013-04-22T22:14:00.000+08:002013-04-22T22:14:00.098+08:00[從電影看資安] 資安也要背後靈,跟前顧後保安寧 - 12生肖12生肖 (CZ12) 是由華人電影圈中極富盛名的<strike>犯錯</strike>動作男星-成龍-所自導自演的一部冒險電影,也號稱是他最後一部動作片。姑且先不論"最後"兩字的可信度是不是比"天下的男人都會犯同樣的錯"來得高,成龍在這部片中賣力依舊,讓人不得不佩服。<br />
12生肖故事內容講述英法聯軍在與清朝政府的戰爭期間,搶奪了許多中國的寶物,其中原本放置於圓明園的12獸首,日後身價水漲船高,在拍賣市場中屢創價格的新高。也因為利益驅使,所以俠盜 (?) 集團首腦 JC (成龍飾演) 受到好友的委託,希望能夠代為尋找其他尚未被發現的獸首。而在這些失落的獸首中,象徵中國人的龍首,更是寶物中的寶物。有了目標,當然必須先收集足夠的情資,因此 JC 假冒成國家地理頻道的攝影師,前往拜訪專門研究12獸首的關教授,並趁機取得部分獸首的完整資訊。除了取得獸首的資訊,JC 更經由關教授的介紹,認識了女主角 Coco - 一個致力於促進各國國寶"回家"的小女生。就在一連串的<strike>胡鬧劇情</strike>陰錯陽差後,JC 一行人順利用假的雞首"換"到一個真品,但是 Coco 的弟弟也在過程中遭受奸商,也是 JC 的委託人所綁架。在面對利益與人命的衝突時,JC 想當然爾一定是選擇<strike>正妹</strike>人命優先。最後,JC 不但順利救出 Coco 的弟弟,還"順便"搶回了原本就一直在委託人手上的龍首,為亞洲飛鷹 JC 的冒險故事,畫下一個完美的句點 (還是逗點?)。<br />
<div align="center">
<span style="color: blue;">這個馬首的價格是6千9百萬美元,富豪的錢果然都不是錢。</span><a href="http://lh5.ggpht.com/-nLuHdY0j__k/UXT_i3r9VTI/AAAAAAADhqg/-p3xE64YI_Q/s1600-h/vlcsnap-2013-04-15-20h12m54s2084.png"><img alt="vlcsnap-2013-04-15-20h12m54s208" border="0" height="272" src="http://lh4.ggpht.com/-Bhll_OkjLik/UXT_kE7XGhI/AAAAAAADhqo/BCx1Tn65usc/vlcsnap-2013-04-15-20h12m54s208_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h12m54s208" width="482" /></a></div>
<div align="center">
<span style="color: blue;">到別人家搶東西就算了,還拍照留戀咧。</span><a href="http://lh6.ggpht.com/-CjJh9CUz7OI/UXT_luqP3RI/AAAAAAADhqw/5PQwjPMO-I8/s1600-h/vlcsnap-2013-04-15-20h15m12s524.png"><img alt="vlcsnap-2013-04-15-20h15m12s52" border="0" height="272" src="http://lh4.ggpht.com/-SfysYV85bGk/UXT_m6Yoi0I/AAAAAAADhq4/7FdZ5Ke1xT0/vlcsnap-2013-04-15-20h15m12s52_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h15m12s52" width="482" /></a></div>
<div align="center">
<span style="color: blue;">這個偷偷摸摸的人就是俠盜 (?) JC。</span><a href="http://lh5.ggpht.com/-N9f3C213Iqw/UXT_oKsg-DI/AAAAAAADhrA/jNlyTGxZCPw/s1600-h/vlcsnap-2013-04-15-20h17m04s1864.png"><img alt="vlcsnap-2013-04-15-20h17m04s186" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzNTIZ0KN4kB2y-TbOj5KLpJebY092HTr9jYx6pu_M-zNdAZNV92WVcDNqpilQSZcdU8oQwIIX68FXVsrNzTesdUqYg1HgDllYW46VMS6OuhzBGNYDgLoM2f96fMG93-EkZ33iFN9wGW06/?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h17m04s186" width="482" /></a></div>
<div align="center">
<span style="color: blue;">JC 這次玩的是極限滑輪 (Extreme Rollerblading)。</span><a href="http://lh4.ggpht.com/-dNRu8Jmyr1I/UXT_qgdZx3I/AAAAAAADhrQ/4CtZkVsuoGE/s1600-h/vlcsnap-2013-04-15-20h20m52s1484.png"><img alt="vlcsnap-2013-04-15-20h20m52s148" border="0" height="272" src="http://lh5.ggpht.com/-uoH2WqFPyZk/UXT_ryBFUuI/AAAAAAADhrY/MIzVPepMbB4/vlcsnap-2013-04-15-20h20m52s148_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h20m52s148" width="482" /></a></div>
<div align="center">
<span style="color: blue;">隨便說說自己是國家地理頻道的攝影師也騙得了人。</span><a href="http://lh5.ggpht.com/-wMETeagLXKo/UXT_t_IVJrI/AAAAAAADhrg/m6irq6FxBcA/s1600-h/vlcsnap-2013-04-15-20h22m53s734.png"><img alt="vlcsnap-2013-04-15-20h22m53s73" border="0" height="272" src="http://lh3.ggpht.com/-tj1jOPAqEDY/UXT_vOQaFdI/AAAAAAADhro/s62Fyv91PKw/vlcsnap-2013-04-15-20h22m53s73_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h22m53s73" width="482" /></a></div>
<div align="center">
<span style="color: blue;">教授也懂得拍馬屁。</span><br /><a href="http://lh3.ggpht.com/-q_zZQFfV9wQ/UXT_wRHpSdI/AAAAAAADhrw/Hv65zcQih7E/s1600-h/vlcsnap-2013-04-15-20h23m06s2064.png"><img alt="vlcsnap-2013-04-15-20h23m06s206" border="0" height="272" src="http://lh3.ggpht.com/-eZy9XyncYM8/UXT_x-3LkvI/AAAAAAADhr4/KhTsXz1UDCU/vlcsnap-2013-04-15-20h23m06s206_thum.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h23m06s206" width="482" /></a></div>
<div align="center">
<span style="color: blue;">關教授,算你還有點警覺。</span><a href="http://lh6.ggpht.com/-eYchzW4JQIY/UXT_zEqVofI/AAAAAAADhsA/0tBpJolGjFU/s1600-h/vlcsnap-2013-04-15-20h23m23s1104.png"><img alt="vlcsnap-2013-04-15-20h23m23s110" border="0" height="272" src="http://lh5.ggpht.com/-qtEC9kdt9aE/UXT_0gP-t6I/AAAAAAADhsI/kRFh3c-qqxw/vlcsnap-2013-04-15-20h23m23s110_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h23m23s110" width="482" /></a></div>
<div align="center">
<span style="color: blue;">雖然 JC 的手勢跟關教授的表情充滿無限的想像空間,但是別想歪了,JC 想要摸摸獸首。</span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpOVK1fLg_7MAt2oICgk0P3AdacbLU0mRtKU4RGFuf7k4tgNd1G8K4u5Dq2G2Efd27zWUonzOj4y60OUM41Ixvpp9rnKpTmjfeBSlOwUjAJbQIA75TpDqFvDluiGYtr1rKwiyKVO9hEpr4/s1600-h/vlcsnap-2013-04-15-20h25m01s924.png"><img alt="vlcsnap-2013-04-15-20h25m01s92" border="0" height="272" src="http://lh3.ggpht.com/-3hpVPXqrQd8/UXT_3emphGI/AAAAAAADhsY/o00VRfcSdw4/vlcsnap-2013-04-15-20h25m01s92_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h25m01s92" width="482" /></a></div>
<div align="center">
<span style="color: blue;">反正都是假貨,隨便你摸吧!</span><a href="http://lh4.ggpht.com/-8_8duIg7OwI/UXT_4tiZndI/AAAAAAADhsg/Fd0s2kGcN-A/s1600-h/vlcsnap-2013-04-15-20h25m31s1424.png"><img alt="vlcsnap-2013-04-15-20h25m31s142" border="0" height="272" src="http://lh4.ggpht.com/-ZXbbj5bDcrE/UXT_5008ISI/AAAAAAADhso/4YQKUf4HKz8/vlcsnap-2013-04-15-20h25m31s142_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h25m31s142" width="482" /></a></div>
<div align="center">
<span style="color: blue;">關教授還以為 JC 是怕弄髒獸首才戴上手套,真是一個<strike>傻B</strike>老實人。</span><a href="http://lh6.ggpht.com/-h5vC2UXMzPk/UXT_7WggD7I/AAAAAAADhsw/jnjwqx1R23g/s1600-h/vlcsnap-2013-04-15-20h25m49s504.png"><img alt="vlcsnap-2013-04-15-20h25m49s50" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqe_lqt5p2JLonnUgt-wpKRBpJibu_q0EC67JBJ0EAg1clHKr_yFojgv7HKXLQPWHYcfIe3ymaSa5WSMWTjzY-ojfzKOGWUALEsR3ss2vUjB_Ag1DRga4BoPA28Nw8XKFDc7kN3sjepH_L/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h25m49s50" width="482" /></a></div>
<div align="center">
<span style="color: blue;">這可是高科技的3D立體顯影手套,西德最新產品,11萬美金一副。</span><a href="http://lh4.ggpht.com/-WrRi1gxQxsc/UXT_966AHTI/AAAAAAADhtA/6mGB6Z6Vwu0/s1600-h/vlcsnap-2013-04-15-20h51m00s284.png"><img alt="vlcsnap-2013-04-15-20h51m00s28" border="0" height="272" src="http://lh3.ggpht.com/-YvXZa970_uk/UXT__alt2JI/AAAAAAADhtI/O4uiztsMdIw/vlcsnap-2013-04-15-20h51m00s28_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h51m00s28" width="482" /></a></div>
<div align="center">
<span style="color: blue;">數據馬上就送到後端的仿冒工廠。</span><a href="http://lh4.ggpht.com/-wzvAQ8SuBgw/UXUAAkZcLII/AAAAAAADhtQ/IU9H4pyvYuo/s1600-h/vlcsnap-2013-04-15-20h26m15s764.png"><img alt="vlcsnap-2013-04-15-20h26m15s76" border="0" height="272" src="http://lh6.ggpht.com/-bsDcOmvjLOI/UXUACBLkEeI/AAAAAAADhtY/pFPtX_0uZ18/vlcsnap-2013-04-15-20h26m15s76_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h26m15s76" width="482" /></a></div>
<div align="center">
<span style="color: blue;">再加上 3D 列印!?</span><br />
<a href="http://lh5.ggpht.com/-reCGx4NJ1_Y/UXUADX4yOYI/AAAAAAADhtg/74Svx05kCzM/s1600-h/vlcsnap-2013-04-15-20h27m11s1314.png"><img alt="vlcsnap-2013-04-15-20h27m11s131" border="0" height="272" src="http://lh6.ggpht.com/-JcVEzpj7LpA/UXUAEgBa2RI/AAAAAAADhto/w0zX5SB7Xl8/vlcsnap-2013-04-15-20h27m11s131_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h27m11s131" width="482" /></a></div>
<div align="center">
<span style="color: blue;">馬上就變一個鼠首給你。 </span><br />
<a href="http://lh3.ggpht.com/-6SPiMIDB7jQ/UXUAFwd-N1I/AAAAAAADhtw/sg8idcqy9Jg/s1600-h/vlcsnap-2013-04-15-20h28m16s2524.png"><img alt="vlcsnap-2013-04-15-20h28m16s252" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZy-d_Ia7dQIgYheR4ZzfDugJt4Ktzbq9lnwcCzi_9kd69LHdE_0v6byIy7yLCUDoBEeReCIYhFsAmgfWsYbVNBz5Z7kYSSQELycJarwGMDGMidSnVMkagFlxHx5ssogmO_X-RvOcZGXBL/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h28m16s252" width="482" /></a></div>
<div align="center">
<span style="color: blue;">陰錯陽差間認識了一個古堡的女繼承人。 </span><br />
<a href="http://lh6.ggpht.com/-ZNu_AQgY4KE/UXUAIR_DyqI/AAAAAAADhuA/riD4rR3huIw/s1600-h/vlcsnap-2013-04-15-20h38m32s164.png"><img alt="vlcsnap-2013-04-15-20h38m32s16" border="0" height="272" src="http://lh5.ggpht.com/-U9BpeZFYgQU/UXUAJ5OEBRI/AAAAAAADhuI/eEv4h7xR-a0/vlcsnap-2013-04-15-20h38m32s16_thumb.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h38m32s16" width="482" /></a></div>
<div align="center">
<span style="color: blue;">古堡女主人邀一行人前往參觀。 </span><br />
<a href="http://lh4.ggpht.com/-p6IrbV3ztfU/UXUALPAGk3I/AAAAAAADhuQ/O8aycxGRR7Q/s1600-h/vlcsnap-2013-04-15-20h38m50s1864.png"><img alt="vlcsnap-2013-04-15-20h38m50s186" border="0" height="272" src="http://lh6.ggpht.com/-08ApGHLIxbY/UXUAMQxzirI/AAAAAAADhuY/J1CVa6yP9Xo/vlcsnap-2013-04-15-20h38m50s186_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h38m50s186" width="482" /></a></div>
<div align="center">
<span style="color: blue;">竟然把國寶雞首隨便擺放,果然太容易得來的東西都不會受到重視。 </span><br />
<a href="http://lh5.ggpht.com/-ZwrfTv-UH1c/UXUAOiT9-rI/AAAAAAADhug/Z5GMDksHduw/s1600-h/vlcsnap-2013-04-15-20h30m13s1324.png"><img alt="vlcsnap-2013-04-15-20h30m13s132" border="0" height="272" src="http://lh4.ggpht.com/-C3RYZKnSjV8/UXUAQO_2lkI/AAAAAAADhuo/QUZacvIBbVY/vlcsnap-2013-04-15-20h30m13s132_thum.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h30m13s132" width="482" /></a></div>
<div align="center">
<span style="color: blue;">JC 當然不想放過眼前的肥羊,沒想到連正氣凜然的 Coco 都支持。 </span><br />
<a href="http://lh4.ggpht.com/-sAPT0u-_wTg/UXUARGpCaUI/AAAAAAADhuw/85LroSgTUH8/s1600-h/vlcsnap-2013-04-15-20h31m26s1004.png"><img alt="vlcsnap-2013-04-15-20h31m26s100" border="0" height="272" src="http://lh3.ggpht.com/-oXasWxt1nZ8/UXUASY0sPCI/AAAAAAADhu4/ONRFAUsWrbA/vlcsnap-2013-04-15-20h31m26s100_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h31m26s100" width="482" /></a></div>
<div align="center">
<span style="color: blue;">這次連手套都不用戴了,Coco 自願當內奸。 </span><br />
<a href="http://lh3.ggpht.com/-cph7l-qcZWo/UXUAT83irpI/AAAAAAADhvA/NjsuKMu99vE/s1600-h/vlcsnap-2013-04-15-20h47m50s2074.png"><img alt="vlcsnap-2013-04-15-20h47m50s207" border="0" height="272" src="http://lh3.ggpht.com/-SGtxjhnQ2Y8/UXUAVSQcCwI/AAAAAAADhvI/bWodQ2daZ1E/vlcsnap-2013-04-15-20h47m50s207_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h47m50s207" width="482" /></a></div>
<div align="center">
<span style="color: blue;">三兩下雞首就被掉包了,家裡太大果然不是一件好事,這麼多人瞎搞也沒被發現。</span><br />
<a href="http://lh5.ggpht.com/-uRicSpOmsc8/UXUAWuhtn3I/AAAAAAADhvQ/zCRQYvHtGgY/s1600-h/vlcsnap-2013-04-15-20h34m08s1874.png"><img alt="vlcsnap-2013-04-15-20h34m08s187" border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgc2SBNPZ89CL03trF6CjWS9jgyKZKQ4z0ibl33TmQid38lC8ST0ktzFOoaWdlFfHq7zdvmUea_QIEMwx7WZ0LsGQ1E4ersMXTyCQrG1V5XjoY1pZ-DtafoFp8TwKsyiTy91O9QOnTqfJeq/?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h34m08s187" width="482" /></a> </div>
<div align="center">
<span style="color: blue;">這個雞頭裡面藏的可是國寶雞首啊,但是鑄銅為什麼可以飄在空中? </span><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuz1o7nW-LychnkDCNhX5v2Iu3R6MaT-VFqeAFpJIEU8f0QT8BHfthLVXAYUe5AEJHqnbcwUKEJNbC5UlzHAUe4h7f-hlp8iekOlSlOu-CETjHNMfnKGfkQzuBf9SOx197if15lWmD9_wu/s1600-h/vlcsnap-2013-04-15-20h39m42s2015.png"><img alt="vlcsnap-2013-04-15-20h39m42s201" border="0" height="272" src="http://lh3.ggpht.com/-e8XwrU1Sl8Q/UXUAaXnYHfI/AAAAAAADhvo/Z48omgOK8q4/vlcsnap-2013-04-15-20h39m42s201_thum.png?imgmax=800" style="background-image: none; border-bottom-width: 0px; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vlcsnap-2013-04-15-20h39m42s201" width="482" /></a></div>
<div align="left">
在電影12生肖中,關教授因為對 JC 所冒充的攝影師掉以輕心,所以導致 JC 可以輕鬆取得獸首的資訊,並進而做出山寨版的獸首。在組織日常的運作中,也常常會面臨到招待外來訪客的情況。外來訪客不一定真是所謂的客人,也可能是協力廠商的維護人員。<span style="color: red;">身為 IT/IS 人員,如果沒有確實遵守必要的作業規範 (如限制可攜帶的物品),並在需要時陪同在側,那就可能產生很嚴重的資安問題。</span>舉例來說,協力廠商可能因為作業需要,所以必須使用系統管理者的權限,或是對重要的網路設備或伺服器進行操作。如果沒有 IT/IS 人員在一旁確認其所進行的動作,那麼機密資料不小心被訪客看到、甚至洩漏出去,也不會是什麼值得大驚小怪的事情。</div>
<div align="left">
不可否認,除非訪客是迷死人不償命的帥哥或美女,否則陪同作業不但很無聊,而且還可能嚴重影響原本的工作時間安排。對此,我只能說這就是 IT/IS 人員無法逃避的責任。陪同作業不是陪對方聊天,而是隨時隨地確認對方是否進行了非經許可的動作,並在發生前 (時) 予以阻止。再加上對方來訪本就有原本的任務,因此往往也沒辦法一直閒聊。<span style="color: red;">所以進行陪同作業時更像是把自己當做訪客的背後靈,不能干擾他進行作業的同時,也不能讓對方對組織的資訊安全產生危害。</span>倒是對於 IT/IS 的主管們來說,當部屬告訴你他今天跟了協力廠商支援人員一整天時,可千萬別以為他是偷懶只顧聊天。當然,我相信 IT/IS 的主管,也早就把當訪客背後靈這件乏味但又重要的工作內容,列在 IT/IS 的工作規範當中了。</div>
Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-70951978295592288072013-04-12T22:12:00.000+08:002013-04-12T22:59:45.229+08:00[迷你好兔] 如何利用 Nagios/Icinga 來監測 CentOS 下的 Adaptec Raid 控制卡<a href="http://lh3.ggpht.com/-nORyWcWpn1k/UWeLGsPh58I/AAAAAAADhp0/dVJn6Rvo8h8/s1600-h/icon-raid-monitor256%25255B2%25255D.png"><img align="left" alt="icon-raid-monitor256" border="0" height="244" src="http://lh5.ggpht.com/-jc6DpQh9byc/UWeLIeUETvI/AAAAAAADhp8/T0SACKmXi5o/icon-raid-monitor256_thumb.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px 10px 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="icon-raid-monitor256" width="244" /></a>Raid 控制卡對伺服器來說,可說是很常見也很重要的一個元件。雖然主機本身通常都會有燈號可以顯示硬碟的狀態,甚至在硬碟出問題時發出警示聲響,但是這種方式對於遠端管理來說沒有多大的幫助,更何況並不是所有機器都有專業保母 24 小時隨時看著呢。至於 Raid 控制卡的狀態,光從主機外觀可就是更加不容易掌握了。<br />
在這次的分享中,我將示範如何利用 Nagios 來監測安裝於 CentOS 下的 Adaptec Raid 控制卡,其型號為 6405/5405。<br />
<br />
<br />
<br />
<br />
<ol>
<li><span style="color: blue;">下載 Adaptec 命令列工具 (Command Line Utility)</span><br />以 6405 為例,可以從<a href="http://www.adaptec.com/en-us/support/raid/sas_raid/sas-6405/">產品頁面</a>下的 <a href="http://www.adaptec.com/en-us/downloads/storage_manager/sm/productid=sas-6405&dn=adaptec+raid+6405.html">Storage Manager Downloads</a> 連結,找到最新版本的命令列工具。 <br />目前提供的最新版本是 <a href="http://www.adaptec.com/en-us/speed/raid/storage_manager/arcconf_v1_1_20324_zip.htm">Adaptec ARCCONF Command Line Utility v1.1.20324</a>。雖然這個版本是從 6405 的頁面中下載,但是一樣支援 5405 這個型號。</li>
<li><span style="color: blue;">選擇合適的執行檔</span> <br />解開下載的壓縮檔後可以看到11個目錄,各自代表不同系統的執行檔。以 64 位元的 CentOS 為例,所需的執行檔就是 linux_x64/arcconf。我們將這個檔案放置於系統內的 /opt/Adaptec 目錄下,並加上執行權限。</li>
<li><span style="color: blue;">測試 Command Line Tool</span> <br />輸入指令<pre class="CIShellFormatter"><code class="CIShellFormatter">/opt/Adaptec/arcconf GETCONFIG 1 AL</code></pre>
如果看到下列資訊表示指令運作正常<pre class="CICodeFormatter"><code class="CICoeFormatter">Controllers found: 1
----------------------------------------------------------------------
Controller information
----------------------------------------------------------------------
Controller Status : Optimal
Channel description : SAS/SATA
Controller Model : Adaptec 6405
…</code></pre>
</li>
<li><span style="color: blue;">下載 Nagios/Icinga 監測所需腳本</span> <br />可以從這裡下載所需腳本 check-aacraid.py <br /><a href="https://www.ip6.li/cms/tiki-download_file.php?fileId=46">https://www.ip6.li/cms/tiki-download_file.php?fileId=46</a> <br />下載完後請將檔案放置於 nagios plugins 的目錄,並加上執行權限。以 64 位元的 CentOS 為例,此一目錄為 /usr/lib64/nagios/plugins/。 <br />如果監測的 Raid 控制卡是 6405,必須修改 check-aacraid.py,將<pre class="CICodeFormatter"><code class="CICodeFormatter">if bstatus.group(1) == "Not Installed":</code></pre>
改為<pre class="CICodeFormatter"><code class="CICodeFormatter">if bstatus.group(1) == "ZMM not installed":</code></pre>
</li>
<li><span style="color: blue;">測試監測腳本 check-aacraid.py</span><br />執行<pre class="CIShellFormatter"><code class="CIShellFormatter">/usr/lib64/nagios/plugins/check-aacraid.py</code></pre>
如果出現下列資訊表示腳本執行成功<pre class="CICodeFormatter"><code class="CICodeFormatter">Logical Device 0 Optimal,Controller Optimal</code></pre>
在安裝 ZMM 的情況下,顯示資訊則為<pre class="CICodeFormatter"><code class="CICodeFormatter">Logical Device 0 Optimal,Controller Optimal,Battery Status ZMM Optimal</code></pre>
</li>
<li><span style="color: blue;">設定 nagios 帳號權限</span> <br />因為 arcconf 需要 root 權限才能正常執行,所以我們需要加上 sudo 的設定。新增 sudo 設定檔 /etc/sudoers.d/nagios,並輸入下列內容<pre class="CICodeFormatter"><code class="CICodeFormatter">nagios ALL=(root) NOPASSWD: /opt/Adaptec/arcconf GETCONFIG 1 *
Defaults:nagios !requiretty</code></pre>
</li>
<li><span style="color: blue;">測試 nagios 權限</span> <br />切換為帳號 nagios 後,再次執行步驟 5,應該不用輸入 root 密碼就可以得到相同的結果。</li>
<li><span style="color: blue;">設定 nrpe</span> <br />修改 nrpe 設定檔 /etc/nagios/nrpe.cfg,加上下列設定<pre class="CICodeFormatter"><code class="CICodeFormatter">command[check_aacraid]=/usr/lib64/nagios/plugins/check-aacraid.py</code></pre>
</li>
<li><span style="color: blue;">重新啟動 nrpe</span> <br />指令<pre class="CIShellFormatter"><code class="CIShellFormatter">service nrpe restart</code></pre>
</li>
<li><span style="color: blue;">設定 Ngaios/Icinga</span> <br />之前所有動作皆在安裝 Adaptec 控制卡的主機上進行,後面幾個動作則在 Nagios/Icinga 監測主機上進行。以 Icinga 為例,所需修改之設定檔為 /etc/icinga/objects/localhost.cfg,加上下列設定 <pre class="CICodeFormatter"><code class="CICodeFormatter">define service{
use local-service
host_name hostname
service_description AACRaid [Adaptec] Status
check_command nrpe!check_aacraid
}</code></pre>
其中 hostname 是安裝 Adaptec Raid 控制卡的主機名稱。</li>
<li><span style="color: blue;">重新讀取設定檔</span> <br />以 Icinga 為例,指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">service icinga reload</code></pre>
</li>
</ol>
透過幾個簡單的步驟,我們就可以利用 Naigos/Icinga 隨時監控 Adaptec Raid 控制卡與硬碟的狀態,晚上睡覺也可以睡得更安穩囉。<br />
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnAR3YVjhq7J-HEwJuxnPM_kxiugd0SULERkRXueC5iSW35IYRq4HI1atlfU9iLkQ-UO7RUFsO-mJn35BSRS2-MIVPywjfFi1kJf1SpEVWHqDOuAJs6dWdg86ID5i8NbunmIx4yukRalFQ/s1600/nagios+++adaptec.png" imageanchor="1"><img border="0" height="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnAR3YVjhq7J-HEwJuxnPM_kxiugd0SULERkRXueC5iSW35IYRq4HI1atlfU9iLkQ-UO7RUFsO-mJn35BSRS2-MIVPywjfFi1kJf1SpEVWHqDOuAJs6dWdg86ID5i8NbunmIx4yukRalFQ/s640/nagios+++adaptec.png" width="640" /></a></div>
Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-61404104298943797092012-11-07T22:56:00.000+08:002012-11-07T22:56:00.123+08:00[工具介紹] 利用 iptables 的敲門機制保護 ssh 服務<p><a href="http://lh6.ggpht.com/-zOR9xC4XHg4/UJjptp_rYhI/AAAAAAADUIs/6ohHBHTmHac/s1600-h/DoorKnock%25255B4%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 10px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="DoorKnock" border="0" alt="DoorKnock" align="left" src="http://lh6.ggpht.com/-lNMlyN_UzuA/UJjpuy4yxKI/AAAAAAADUI0/EfSgXKWXjog/DoorKnock_thumb%25255B1%25255D.jpg?imgmax=800" width="242" height="218" /></a>之前我介紹過<a href="http://cyrilwang.blogspot.tw/2012/04/fail2ban.html">利用 fail2ban 來封鎖嘗試使用暴力破解登入 ssh 的有心份子</a>,但是如果你<strike>有嚴重的潔癖,看到滿滿的登入錯誤訊息就渾身不舒服</strike>想要更進一步降低此一風險,還有一些措施可以施作,其中最常見的建議就是不要使用預設的埠號 (TCP:22)。改用其他埠號雖然看似很有效,但是一旦遇到埠號掃描的攻擊行為並被有心份子知道實際使用的埠號,其實就跟使用預設埠號沒啥兩樣。如果我們可以隱藏實際使用的埠號,並於特殊情況下才予以現形,那就不用擔心埠號掃描的攻擊方式了。</p> <p>我們可以利用 iptables 內建的 recent module 來達成此一目標,想要連結 ssh 服務的一方必須先對某個特定的埠號進行"敲門"動作,iptables 才會對此 IP 位址開放 ssh 服務所使用的埠號。以下我們就透過實際的例子來加以說明,實作的環境是 CentOS 6:</p> <ol> <li><font color="#0000ff">修改 ssh  服務所使用的埠號</font> <br />ssh 服務的設定檔為 /etc/ssh/sshd_config,將<pre class="CICodeFormatter"><code class="CICodeFormatter">#Port 22</code></pre>改為<pre class="CICodeFormatter"><code class="CICodeFormatter">Port 2222</code></pre>其中 2222 表示我們想要 sshd 服務所使用的埠號。</li> <li><font color="#0000ff">重新啟動 ssh 服務</font> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">service sshd restart</code></pre></li> <li><font color="#0000ff">匯出 iptables 所使用的設定</font> <br />指令為<pre class="CIShellFormatter"><code class="CIShellFormatter">iptables-save > /tmp/iptables</code></pre>如果你使用其他工具 (如webmin) 來設定 iptables,那麼就不需要進行 iptables 規則的匯入與匯出,可以直接加入所需規則。</li> <li><font color="#0000ff">修改 iptables 的規則</font> <br />在 /tmp/iptables 適當的位置加入用紅色標示的兩行規則 (請務必加在 default policy 之前):<pre class="CICodeFormatter"><code class="CICodeFormatter">-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT <br /><font color="#ff0000">-A INPUT -p tcp --dport 54321 -m recent --set --name SSH-PHASE1 <br />-A INPUT -p tcp --dport 2222 -m recent --rcheck --seconds 5 --name SSH-PHASE1 -j ACCEPT</font> <br />-A INPUT -j REJECT --reject-with icmp-host-prohibited</code></pre>其中 54321 是我們用來敲門的埠號,而 2222 則是 ssh 服務實際上所使用的埠號。同時記得刪除 ssh 服務的預設規則 <br />-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT</li> <li><font color="#0000ff">匯入 iptables 的規則</font> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">iptables-restore < /tmp/iptables</code></pre></li> <li><font color="#0000ff">測試新的規則</font> <br />從另外一台主機執行下列指令 <pre class="CIShellFormatter"><code class="CIShellFormatter">telnet <em>ip_address</em> 54321; ssh <em>ip_address</em> –p 2222</pre></code>其中 <em>ip_address</em> 請換成前一台主機的 IP 位址。順利的話,應該可以看到 ssh 的登入提示符號。如果我們在 telnet 與 ssh 兩個指令之間停頓超過 5 秒,將無法連結至 ssh 服務,也就是說<font color="#ff0000">每次敲門後的開放只保留 5 秒,5 秒過後又自動加以關閉</font>。如以一來,即使利用埠號掃描攻擊也很難發現 ssh 服務真正使用的埠號。</li> <li><font color="#0000ff">刪除規則暫存檔</font> <br />指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">rm –f /tmp/iptables</code></pre></li> <li><font color="#0000ff">將規則寫入 iptables 的啟動設定</font> <br />如果測試無誤,我們就可以把規則寫入 iptables 的啟動設定,以確保每次啟動 iptables 時都能套用此一設定。指令是<pre class="CIShellFormatter"><code class="CIShellFormatter">service iptables save</code></pre></li> </ol> <p>透過兩行簡單的iptables 規則設定,我們大幅減少 ssh 服務埠號被偵測出的可能性,對 ssh 服務的保護將更加完善。最後,<font color="#ff0000">即使使用了 iptables 的敲門機制來保護 ssh 的服務埠, fail2ban 依舊有其必要性</font>,理由如下:</p> <ul> <li>fail2ban 不只可用來保護 ssh 服務,還可以用來保護包含 ftp 與 pop3 在內的各項網路服務。</li> <li>通常 iptables 規則中總會有些例外 IP 位址可以對系統暢行無阻,雖說這些 IP 位址多為內部使用,但是別忘了內部使用的 IP 位址並不等於絕對安全。</li> <li>避免日後有人不小心移除了相關設定。相信我,這種糗事發生的機會比你想像中還來的高出許多。</li> <li>一旦知道這個"敲門"用的埠號後,此一機制同樣可能遭受暴力攻擊。什麼人會知道這個敲門埠號?你猜對了,正是離職員工!</li> </ul> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-78988981789261873362012-11-06T21:29:00.000+08:002012-11-06T21:29:00.845+08:00[工具介紹] 利用 lsyncd 達成 Linux 下的目錄"即時"同步<a href="http://lh4.ggpht.com/-ZNsqyVLp8RM/UJiViCmLP-I/AAAAAAADUHk/AGNo77Jtyqw/s1600-h/windows-8-transfer7%25255B5%25255D.jpg"><img align="left" alt="windows-8-transfer7" border="0" height="162" src="http://lh4.ggpht.com/-PLM1xTXRiak/UJiVjM3zl0I/AAAAAAADUHs/tMdsE5QHw9A/windows-8-transfer7_thumb%25255B2%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; float: left; margin: 10px; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="windows-8-transfer7" width="162" /></a>數位資料對一個企業的重要性,我想已經不用我在此多加贅述。而這些數位化的資料,除了存在於資料庫當中,其實還有不少是以檔案形式存在著。對於資料庫,通常我們除了定期備份之外,還會考慮到備援的機制 (如常見的主從式架構),以確保資料庫的高可用性。但是對於檔案呢?往往可能就沒有那麼受到重視了。備份或許有之,但是是否有也良好的備援機制呢?檔案的備援有多種可能性,從分散式儲存機制 (如 DRBD),到分散式檔案系統 (如 GFS2, Hadoop Distributed File System),選擇性可說是五花八門。儘管選擇相當多,但是這些機制通常都必須在建立系統前就一併加以規劃,而且受到支援平台的限制。有些機制甚至在使用上也與傳統的檔案系統不盡相同,再再提高了管理人員與系統開發人員的進入門檻。對於大部分的系統而言,可能原先已經存在許多檔案並存放在"一般"的檔案系統 (如 ext3) 之內,有什麼好的方法可以讓這些系統無痛地達成備援的機制?<br />
對 Linux 系統而言,基本上我們只要達成目錄的同步再加上如 heartbeat 的監測機制,就可以達到檔案的備援機制。而<span style="color: red;">要達到目錄的同步,最簡單也是最常見的一種方式就是透過排程定期呼叫 rsync 將主目錄內的檔案同步至備援主機的目錄。</span>這方法雖然很簡單,也確實可行,但是他有一個主要的問題,那就是當目錄結構一大,比對與同步的時間將會拖的很長。如此一來,表示排程間隔的時間不能太短,也就是兩個目錄所出現的時間差距也會隨之增加。而今天我要介紹的這個工具 – <span style="color: red;">lsyncd,雖然也是透過 rsync 進行同步,但是 lsyncd 透過監測目錄的寫入動作,僅針對變動的部份進行同步,可以大幅提高同步的效率</span>。而 lsyncd 的同步觸發條件預設為間隔 20 秒或累積 1000 次的寫入事件,而且這兩個參數還可以依據實際的狀況加以調整。不可否認,lsyncd + rsync 很難達成真正的即時同步,但是對於大部分的狀況,數秒的差距應該是可以被接受的。而因為 <span style="color: red;">lsyncd 只需安裝在主目錄的系統上,所以對於備援主機的限制較少,甚至是不同的檔案系統都沒關係</span>。<br />
在 Linux 下面,通常可以找到 lsyncd 的套件直接加以安裝,只是版本上可能會有所不同。以 CentOS 為例,可以在 <a href="http://fedoraproject.org/wiki/EPEL">EPEL</a> 這個 repository 中找到 lsyncd 的套件,版本為 2.0.4。前面提到,只有主目錄的主機需要安裝 lsyncd,而用來當做備援的主機是不需要安裝的。安裝後,必須自行建立一個設定檔,檔案路徑雖然沒有什麼限制,但是我的建議是使用 /etc/lsyncd.conf 以便管理。在 /etc/lsyncd.conf 檔內輸入下列內容:<br />
<pre class="CICodeFormatter"><code class="CICodeFormatter">settings = {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/run/lsyncd.status",
nodaemon = false,
log = all
}
sync {
default.rsync,
source = "/data",
target = "192.168.1.2:/data",
rsyncOps = {"-avz", "--delete"},
delay = 10
}</code></pre>
<br />
其中 source 與 target 請分別改成你想要同步的主目錄及備援主機的目錄。設定完畢之後,透過指令lsyncd /etc/lsyncd.conf <br />
就可以啟動 lsyncd 的同步功能了。在使用 lsyncd 時,有下列幾點事情需要注意:<br />
<ol>
<li>因為新版的 rsync 已經預設使用 ssh 當做傳輸的方式,所以可以直接設定使用 rsync 即可。如果 rsync 版本過舊,可以將 sync 方式由 rsync 改為 <a href="https://github.com/axkibe/lsyncd/wiki/Lsyncd%202.1.x%20%E2%80%96%20Layer%204%20Config%20%E2%80%96%20Default%20Behavior">rsyncssh</a>。也就是說,我們必須確保主目錄的主機可以直接透過 ssh 登入備援主機,而不需要輸入密碼。除了利用 rsync + ssh 的方式,也可以透過 rsync 的 target,如此一來就不需要 ssh 了。</li>
<li>lsyncd 預設不會同步檔案的所有權與權限,因此我們透過 rsyncOps 這個參數來改變 lsyncd 呼叫 rsync 的行為。</li>
<li>透過 delay = 10 這個設定,我們要求 lsyncd 將同步間隔時間由預設的 20 秒改為 10 秒。</li>
<li>我們必須確保所有的寫入動作發生於主目錄的主機上,而在一般的情況下,這應該是不成問題的。但是<span style="color: red;">如果我們<strike>自找麻煩地</strike>在主目錄掛載了其他主機的目錄,那麼這些掛載而來目錄的寫入動作,將無法被 lsyncd 監測到,所以也就無法同步</span>。</li>
<li>lsyncd 透過 inotify 作為監測目錄寫入的機制,而 inotify 可監測的數量則受到 fs.inotify.max_user_watches 這個參數的限制。<span style="color: red;">如果 lsyncd 欲監測的目錄數量超過系統的上限,並不會出現錯誤訊息,而是多餘的目錄直接被忽略</span>。為了避免此一現象的發生,我們在啟動 lsyncd 後可以先透過指令<pre class="CIShellFormatter"><code class="CIShellFormatter">sysctl fs.inotify.max_user_watches</code></pre>
確認系統的設定值。之後在 /var/run/lsyncd.status 中找到類似下列的訊息<pre class="CICodeFormatter"><code class="CICodeFormatter">Inotify watching 34567 directories</code></pre>
其中 34567 表示 lsyncd 供監測了 34567 個目錄。如果兩個數字很接近,請增加系統所允許的上限值以便讓 lsyncd 完整監測並同步所有的目錄。<br />透過下列指令我們可以將 inotify 可監測的數量上限變更為 40000 <pre class="CIShellFormatter"><code class="CIShellFormatter">echo 40000 > /proc/sys/fs/inotify/max_user_watches</code></pre>
如果我們希望每次開機後此一設定值都自動變更為 40000,請修改 /etc/sysctl.conf,加上下列設定<pre class="CICodeFormatter"><code class="CICodeFormatter">fs.inotify.max_user_watches = 40000</code></pre>
</li>
<li>CentOS 所安裝的 lsyncd 並沒有提供啟動腳本,因此請在 /etc/rc.local 加上設定<pre class="CICodeFormatter"><code class="CICodeFormatter">/usr/bin/lsyncd /etc/lsyncd.conf</code></pre>
如此一來,開機時 lsyncd 才會自動執行。</li>
</ol>
雖然 lsyncd 無法真正達成目錄的"即時"同步,但是在可接受的誤差範圍內,lsyncd 有著安裝簡單與適用範圍廣泛的優點,對於檔案備援來說絕對是一個令人心動的選擇。Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-20489285762347491792012-10-14T14:59:00.000+08:002012-10-15T15:02:52.857+08:00[資安觀念] 意外"總是"會發生<p><a href="http://lh5.ggpht.com/-3fohWuwPqXM/UHu1FRcAMRI/AAAAAAADRlA/0_tyLlZ_CbE/s1600-h/a.aaa-Eppic-crash%25255B3%25255D.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 10px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="a.aaa-Eppic-crash" border="0" alt="a.aaa-Eppic-crash" align="left" src="http://lh5.ggpht.com/-RdikZN8dvNk/UHu1GhAz5HI/AAAAAAADRlE/9q7DEPwltu8/a.aaa-Eppic-crash_thumb%25255B1%25255D.jpg?imgmax=800" width="242" height="151" /></a>前幾天跟一位多年不見的朋友見面,在談話中他提到了他在年初所遇到的一件慘事,那就是他們線上服務的網路儲存設備的 (Linux-based) 系統整個毀損,甚至造成了部分重要檔案的損失。早在10多年前 .COM 熱潮來襲的時候,那時候因為伺服器等級的硬體設備價格高昂,再加上日誌型的檔案系統還不普遍,所以系統損毀時有所聞。但是以目前硬體設備的價格,硬體式的 RAID 控制卡已經是伺服器的基本配備。在 RAID 的架構下,一般至少會採用可以容忍一顆以上硬碟損毀的設定。再加上目前普遍採用的日誌型檔案系統,要造成系統的損毀,可說是意外中的意外了。只是不管再多的解釋,事情的發生卻是不可爭辯的事實。在面對這類問題時,除了自我解嘲為運氣不好外,是否還能採用其他更積極的作為?</p> <p>答案當然是有的,而且還是早就已經存在許久的作法。首先,<font color="#ff0000">當然就是老生常談的備份。除了定期的備份,針對重要資料甚至可以採用即時備援的架構,以避免備份時間點與意外發生時間點差異所造成的資料損失</font>。備份與備援可以減少原始資料損失時所造成的影響,算是比較被動的作法。比較積極的作法,可以考慮<font color="#ff0000">將系統與資料分別存放在不同的檔案系統、不同的硬碟、甚至是不同的 RAID 陣列</font>。事實上,在早期的 Linux 建構建議中,將系統與資料放在不同的檔案系統,一直是一個不可輕忽的作法。但是後來 Linux 的安裝過程過於自動化,連檔案系統的劃分也不需要管理者人工設定,所以這個建議事項越來越難被落實,甚至也很少聽到有人再提起。</p> <p>無獨有偶的,前一陣子另外一位朋友公司的 ERP 系統,也因為停電而造成資料庫的損毀。資料庫損毀?是的,而且他們用的可是資料庫市場的領導品牌。更何況這可不是意外的停電,而是大樓事先公告的維護性停電。大樓公告被無視化、停電時剛好在進行當日資料庫的備份作業、斷電後重新供電不穩定、前一天資料庫備份無法使用...一連串的巧合,讓他們損失了不少的資料。又是運氣不好?是的,連我一個第三者都覺得運氣真的是太差了吧。</p> <p>這個事件同樣也只能怪罪於運氣不好嗎?當然不是!大樓管理單位對於停電這麼重要的事情竟然只貼了公告,而沒有主動通知,肯定有所失職。但是大樓管理單位通常不是我們能夠控制的變數,所以我們更應該著力於我們可以控制的事項上。首先,是 UPS 系統的使用。<font color="#ff0000">UPAS 可不光是買了接上就行,包含電力不足時的自動關閉也是同樣重要的</font>。此外,<font color="#ff0000">針對伺服器在停電後重新恢復供電的行為,是否該設定為自動啟動?還是應該設定為手動啟動?這也是一個值得仔細推敲的問題</font>。最後,<font color="#ff0000">備份資料的確認</font>,同樣是容易被許多系統管理者所忽視的重點工作事項。不管是透過雜湊值 (如 MD5) 來確保檔案的完整性,或者是透過匯入的動作來確保資料庫備份資料的正確性,都可以避免日後從口中發出 WTF 的憾事。</p> <p>這兩個看似完全不相關的事件,同樣都因為新技術的導入,而忽略了原本系統就存在的風險。RAID 讓我們可以避免硬碟損毀所造成的意外,但是它卻無法避免其他意外的發生 (甚至 RAID 本身也可能出錯)。資料庫領導品牌強調他們的資料庫有多種機制可以確保資料不會損毀,但是依舊無法提供 100% 的保證。所以我們在面對這些技術時,千萬別因為這些新奇的保證而忘了其他存在的風險。<font color="#ff0000">採用多種保護措施,本來就是管理者用來應付風險的主要策略,千萬不要認為這是資源的重複投資與浪費而縮手。</font>尤其在面對重要資料的保護時,小心、謹慎永遠是不嫌多的,將來有一天你會感謝自己曾經注意到這些"小細節"。</p> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com0tag:blogger.com,1999:blog-290391747034229562.post-27598101130828151102012-09-18T07:22:00.001+08:002012-09-18T07:22:08.865+08:00[從電影看資安] 站住、口令、誰 - 龍門飛甲<p>相信當過兵的朋友們都還記得,部隊中晚上是禁止隨意走動的。但是話說人有三急,有時候晚上起來上個廁所,也是<strike>膀胱無力</strike>人之常情。在正常的情況下,只要一離開寢室,就會有人 (這個人叫安全士官) 大聲問道:「站住、口令、誰。」唯有正確答出當天的通關密語 (口令),才有可能全身而退,不然被當做匪諜一槍擊斃也只能自認倒楣了。軍隊透過這樣的安全機制來避免有心份子混入部隊當中,只是這樣的安全機制夠安全嗎?在由李連杰所主演電影「龍門飛甲」中,有一段類似的情節,我們先來看看。</p> <p>話說由李連杰所演出的趙懷安,因為常與政府做對所以受到西廠的追捕。在一次的誤會當中,西廠官兵前往龍門客棧準備捕捉趙懷安。但是西廠所追捕的趙懷安,原來只是一個愛慕他的女生所假冒。而龍門客棧這個地方,也因為傳說埋藏了稀世珍寶,所以除了官兵之外,還有不少亡命之徒投宿在此。而這些亡命之徒當中,有一個人竟然長得跟西廠的頭目 (督主) 相當神似,故事也就因此有了變化...</p> <p align="center"><font color="#0000ff">男主角趙懷安,跟後面要講的劇情無關,純粹是看在李連杰的面子上才放這張照片。</font> <br /><a href="http://lh4.ggpht.com/-xe8UnU9MXPs/UFetTzrlfvI/AAAAAAADOMc/Tg75VZyggBo/s1600-h/vlcsnap-2012-09-18-05h04m49s176%25255B4%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-05h04m49s176" border="0" alt="vlcsnap-2012-09-18-05h04m49s176" src="http://lh3.ggpht.com/-hfr230mBi30/UFetV7dEf9I/AAAAAAADOMk/SpBbuN3ZYd0/vlcsnap-2012-09-18-05h04m49s176_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a><font color="#0000ff">臨時出現的亡命二人組,書生樣的「風裡刀」外貌神似督主。</font> <br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhyphenhyphen5Eg179D05P-_d7v3PaI43QobuAOUWQ63ySAd3zbRbfX8hyYRRBUas2REZusuX-QTNivjGvMqw25Uap53zsn7b0fYX0tBgcpFhLWNE5dTCOKDMcvLXGSnpqeEQfG-d2fAOmy_n7k9O7_/s1600-h/vlcsnap-2012-09-18-02h59m25s133%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h59m25s133" border="0" alt="vlcsnap-2012-09-18-02h59m25s133" src="http://lh6.ggpht.com/-abHDcMqWoGU/UFetbWxdcpI/AAAAAAADOM0/QAY0lDwJIqY/vlcsnap-2012-09-18-02h59m25s133_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">西廠的官兵一看,嚇到不知所措。</font> <br /><a href="http://lh3.ggpht.com/-TfU_S-sNDsM/UFetdq8BttI/AAAAAAADOM8/mcV84Dy4Hxo/s1600-h/vlcsnap-2012-09-18-02h58m37s174%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h58m37s174" border="0" alt="vlcsnap-2012-09-18-02h58m37s174" src="http://lh3.ggpht.com/-4eCtgOmytkQ/UFetf7gQYBI/AAAAAAADONE/ffXvsL54zM4/vlcsnap-2012-09-18-02h58m37s174_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">亡命之徒果然見過世面,馬上就發現西廠官兵的異常反應。</font> <br /><a href="http://lh5.ggpht.com/-UdD1g3Sbdtg/UFetiAAJo8I/AAAAAAADONM/yg2-VxOMiNQ/s1600-h/vlcsnap-2012-09-18-02h50m54s138%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h50m54s138" border="0" alt="vlcsnap-2012-09-18-02h50m54s138" src="http://lh3.ggpht.com/-1d3aay86OuI/UFetj5QsfmI/AAAAAAADONU/MqmA5mj8zYo/vlcsnap-2012-09-18-02h50m54s138_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">「風裡刀」最厲害的就是那張嘴,所以馬上前往官兵的房間套話。</font> <br /><a href="http://lh4.ggpht.com/--qkkNgoPGBQ/UFetmPt0fHI/AAAAAAADONc/KqEc6TpBQNk/s1600-h/vlcsnap-2012-09-18-02h51m40s59%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h51m40s59" border="0" alt="vlcsnap-2012-09-18-02h51m40s59" src="http://lh5.ggpht.com/-7ka8FfL1HMg/UFetn75uSZI/AAAAAAADONk/Lwn3MP6tFY8/vlcsnap-2012-09-18-02h51m40s59_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">雙方僵持不下。</font> <br /><a href="http://lh5.ggpht.com/-wEoJ2_-w1jI/UFevWx3-x_I/AAAAAAADONs/zY4Vv_4jGZw/s1600-h/vlcsnap-2012-09-18-02h52m12s171%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h52m12s171" border="0" alt="vlcsnap-2012-09-18-02h52m12s171" src="http://lh3.ggpht.com/-8Ns1fPmOANo/UFevYkZ1BLI/AAAAAAADON0/OY7Y29AFJ4U/vlcsnap-2012-09-18-02h52m12s171_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">西廠也不是那麼笨 (至少目前還不笨),早偷偷派了人回去確認是不是真貨。</font> <br /><a href="http://lh6.ggpht.com/-gPIdv5NNKZo/UFevarvoOFI/AAAAAAADON8/ZzAoI-X6_-Q/s1600-h/vlcsnap-2012-09-18-03h00m14s113%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h00m14s113" border="0" alt="vlcsnap-2012-09-18-03h00m14s113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikAeseBM52U9g655bG2KELAUUABJsWZ5XjX7q2pbpgZDM6fHQxTwdLsJ0asciLL_b85jmzk4188odRpcwn04uZ3XNBX_zEjzBCrcFM_67G0MUgKgzt0XutYCt0qRoNBbz7wh5xkjU5p9Ma/?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">嘍囉不忘多拍幾下督主的馬屁。</font> <br /><a href="http://lh6.ggpht.com/-c-qaeO4f5p8/UFevezAvUGI/AAAAAAADOOM/P7prBUq17Ew/s1600-h/vlcsnap-2012-09-18-03h00m31s44%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h00m31s44" border="0" alt="vlcsnap-2012-09-18-03h00m31s44" src="http://lh4.ggpht.com/-NpXAjW1ZuOk/UFevggXK0QI/AAAAAAADOOU/dYUwSlpphNw/vlcsnap-2012-09-18-03h00m31s44_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">督主就是督主,馬上想到一個<strike>餿主意</strike>妙計,那就是他要冒充「風裡刀」混進去搞破壞。</font> <br /><a href="http://lh3.ggpht.com/-4aEakk0lZ6Q/UFevjYse-MI/AAAAAAADOOc/5sBLDcLBqIs/s1600-h/vlcsnap-2012-09-18-03h00m56s38%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h00m56s38" border="0" alt="vlcsnap-2012-09-18-03h00m56s38" src="http://lh3.ggpht.com/-MBCZruTFVRw/UFevlKALCMI/AAAAAAADOOk/YydPKRX0XDw/vlcsnap-2012-09-18-03h00m56s38_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">嘍囉想到一個辨別真假督主的方式,那就是用密語。</font> <br /><a href="http://lh4.ggpht.com/-zHPc6d0MmwE/UFevnjaqqII/AAAAAAADOOs/l6xPWh_ahpE/s1600-h/vlcsnap-2012-09-18-03h01m08s162%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h01m08s162" border="0" alt="vlcsnap-2012-09-18-03h01m08s162" src="http://lh3.ggpht.com/-Vf6rDIyUWc0/UFevrCkD0JI/AAAAAAADOO0/u0P4I77PjH0/vlcsnap-2012-09-18-03h01m08s162_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">密語是「龍門飛甲」。</font> <br /><a href="http://lh4.ggpht.com/-wqJH8v3UGxo/UFevth92oTI/AAAAAAADOO8/2dv-OuqGkMw/s1600-h/vlcsnap-2012-09-18-03h01m35s177%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h01m35s177" border="0" alt="vlcsnap-2012-09-18-03h01m35s177" src="http://lh5.ggpht.com/-FUKiwKW1jiw/UFevvUuQJXI/AAAAAAADOPE/C3YMlY6ESqc/vlcsnap-2012-09-18-03h01m35s177_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">對「便知真假」。 <br /></font><a href="http://lh6.ggpht.com/-Z3oBTHbUXY0/UFevx8Hz2SI/AAAAAAADOPM/QRjzRBbzlCs/s1600-h/vlcsnap-2012-09-18-03h01m47s30%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h01m47s30" border="0" alt="vlcsnap-2012-09-18-03h01m47s30" src="http://lh4.ggpht.com/-VHa2BTvDHkw/UFevz0GxKJI/AAAAAAADOPU/Xqmpo0UJoao/vlcsnap-2012-09-18-03h01m47s30_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">嘍囉回到龍門客棧,先用密語確認督主的身分。</font> <br /><a href="http://lh3.ggpht.com/-i_EHLRX9w20/UFev2Y6q1VI/AAAAAAADOPc/Tch-7TFcaLs/s1600-h/vlcsnap-2012-09-18-03h02m22s124%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h02m22s124" border="0" alt="vlcsnap-2012-09-18-03h02m22s124" src="http://lh5.ggpht.com/-H_LN2VExAyw/UFev4cEkgMI/AAAAAAADOPk/IHb5EG1yo5k/vlcsnap-2012-09-18-03h02m22s124_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">果然是假冒的,但是真督主有令不可打草驚蛇。 <br /></font><a href="http://lh3.ggpht.com/-x99ztz7DhLA/UFev6544mLI/AAAAAAADOPs/LIDki-oWRcU/s1600-h/vlcsnap-2012-09-18-03h03m08s72%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h03m08s72" border="0" alt="vlcsnap-2012-09-18-03h03m08s72" src="http://lh3.ggpht.com/-D9KYfEMDxF0/UFev8nfp8KI/AAAAAAADOP0/0YXjGPAm7D8/vlcsnap-2012-09-18-03h03m08s72_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">這是督主假扮的「風裡刀」,果然很像 (<strike>根本就是同一個人演的</strike>)。</font> <br /><a href="http://lh5.ggpht.com/-v9saumnJnxQ/UFev-gLvBdI/AAAAAAADOP8/_mQ32S8o23Y/s1600-h/vlcsnap-2012-09-18-02h55m32s124%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-02h55m32s124" border="0" alt="vlcsnap-2012-09-18-02h55m32s124" src="http://lh4.ggpht.com/-oZ4hBuLD4eM/UFewAZ9zrxI/AAAAAAADOQE/sMy5ujjJvgw/vlcsnap-2012-09-18-02h55m32s124_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">督主又出現了,這次是真是假?</font> <br /><a href="http://lh3.ggpht.com/-BSyL-ZrXBfw/UFewCumRA6I/AAAAAAADOQM/FEfLxYwToI4/s1600-h/vlcsnap-2012-09-18-03h04m16s217%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h04m16s217" border="0" alt="vlcsnap-2012-09-18-03h04m16s217" src="http://lh3.ggpht.com/-rNZVrX4NVKw/UFewEuxNr6I/AAAAAAADOQU/Cnq7IQBXrWo/vlcsnap-2012-09-18-03h04m16s217_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">對方搶先一步說出密語的前半部。</font> <br /><a href="http://lh6.ggpht.com/-OnGwlhRR-NU/UFewHCZGYJI/AAAAAAADOQc/SE_oYuZ0M00/s1600-h/vlcsnap-2012-09-18-03h04m35s172%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h04m35s172" border="0" alt="vlcsnap-2012-09-18-03h04m35s172" src="http://lh6.ggpht.com/-uyVTJOsihhg/UFewImrcpLI/AAAAAAADOQk/hgTo67-TU5o/vlcsnap-2012-09-18-03h04m35s172_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a>  <br /><font color="#0000ff">搶答失敗。</font> <br /><a href="http://lh5.ggpht.com/-0VGak_Uq3Vs/UFewLCulVsI/AAAAAAADOQs/OFWcD85an80/s1600-h/vlcsnap-2012-09-18-06h08m02s129%25255B4%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-06h08m02s129" border="0" alt="vlcsnap-2012-09-18-06h08m02s129" src="http://lh4.ggpht.com/-fwSe5APJeiA/UFewMxM9r0I/AAAAAAADOQ0/QZN9Ytuc_uY/vlcsnap-2012-09-18-06h08m02s129_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">只好硬著頭皮講出另一半的密語。</font> <br /><a href="http://lh6.ggpht.com/-R2VmSaNViT4/UFewPORGd8I/AAAAAAADOQ8/994Q_Vx2Ejg/s1600-h/vlcsnap-2012-09-18-06h12m06s15%25255B6%25255D.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-06h12m06s15" border="0" alt="vlcsnap-2012-09-18-06h12m06s15" src="http://lh3.ggpht.com/-lTYzMPpc8-U/UFewQ16QPGI/AAAAAAADORE/qYaQoO-AECo/vlcsnap-2012-09-18-06h12m06s15_thumb%25255B4%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">被擺道了。</font> <br /><a href="http://lh4.ggpht.com/-Nt8h3wsK4CI/UFewVbwjXiI/AAAAAAADORM/BeP3lpJzsdM/s1600-h/vlcsnap-2012-09-18-03h07m19s24%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h07m19s24" border="0" alt="vlcsnap-2012-09-18-03h07m19s24" src="http://lh4.ggpht.com/-4Z5Q6z-Ohb0/UFewXvi-OUI/AAAAAAADORU/hy_v7-BaaIs/vlcsnap-2012-09-18-03h07m19s24_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">剛剛是假的督主。</font> <br /><a href="http://lh5.ggpht.com/-kWYqyDNrqy8/UFewZ9BSQpI/AAAAAAADORc/k51vSiuOOfU/s1600-h/vlcsnap-2012-09-18-03h07m28s100%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h07m28s100" border="0" alt="vlcsnap-2012-09-18-03h07m28s100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXJdV5EZMBLwepSBt2F8GZDfYXI1S4ny-qCQujRY07NLFbFxDYKdALPhaufD0p5wgYZFD5Gz8mctkoSXlIhlDeIqEG954WGOExwREYdIDj6hK5HFM8BSyowjdxhDZl6fCUTERq0rZNu-dy/?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">這次換督主的手下大將來<strike>認證</strike>說密語。</font> <br /><a href="http://lh6.ggpht.com/-WO_9Go95QfM/UFeweKMCAeI/AAAAAAADORs/QYrDcq8mlQY/s1600-h/vlcsnap-2012-09-18-03h08m30s217%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h08m30s217" border="0" alt="vlcsnap-2012-09-18-03h08m30s217" src="http://lh5.ggpht.com/-p7WRH7dPSpI/UFewgB-lfqI/AAAAAAADOR0/VwVhjUC6sP0/vlcsnap-2012-09-18-03h08m30s217_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a> <br /><font color="#0000ff">實在被騙太多次了,已經惱羞成怒。</font> <br /><a href="http://lh5.ggpht.com/-6J66bkgC2Yc/UFewifxYgII/AAAAAAADOR8/lENB8b1VQ10/s1600-h/vlcsnap-2012-09-18-03h08m53s189%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h08m53s189" border="0" alt="vlcsnap-2012-09-18-03h08m53s189" src="http://lh6.ggpht.com/-pZfO22v0iTQ/UFewjzznAlI/AAAAAAADOSE/v4A-NItLsNY/vlcsnap-2012-09-18-03h08m53s189_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a>  <br /><font color="#0000ff">不管三七二十一,放就對啦。</font> <br /><a href="http://lh3.ggpht.com/-phOYQrxGTB8/UFewmNODpNI/AAAAAAADOSM/15_so73KpN8/s1600-h/vlcsnap-2012-09-18-03h08m59s10%25255B4%25255D.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="vlcsnap-2012-09-18-03h08m59s10" border="0" alt="vlcsnap-2012-09-18-03h08m59s10" src="http://lh3.ggpht.com/-S4ReO2OvPEk/UFewnucVzdI/AAAAAAADOSU/FyiXb0Zn1OU/vlcsnap-2012-09-18-03h08m59s10_thumb%25255B2%25255D.png?imgmax=800" width="482" height="272" /></a></p> <p>囉嘍在督主提出喬裝臥底的計策時,很聰明的想到了利用密語來辨識真假督主。不過百密終有一疏,<font color="#ff0000">他們忘了約定誰要講上半部,誰又要講下半部</font>。所以聰明的「風裡刀」在猜測到「龍門飛甲」可能是密語之後採用先聲奪人的策略,不待西廠官兵開口就搶先說出「龍門飛甲」,迫使西廠官兵只能說出密語的下半部。</p> <p>回到部隊的例子,又有什麼樣問題呢?當安全士官大聲問道:「站住、口令、誰。」時,任何知道口令的人,都可以假冒成其他人。原因很簡單,因為<font color="#ff0000">整個部隊都是使用同一個口令,因此就失去了可稽核性 (Accoutability)</font>。除了可以利用其他人的身分上廁所,這種機制還有一個問題,那就是如何確認安全士官真的是安全士官?因為「站住、口令、誰。」是一個固定的詢問方式,所以知道這句話並不能確保安全士官的身分,這樣情況我們稱之為<font color="#ff0000">單向的身分驗證</font>。相對於單向的身分驗證,當然還有所謂的雙向驗證。</p> <p>以我們經常使用的電子商務網站來看,通常使用各式各樣的網站憑證來做為 SSL 加密之用,這就是一種單向身分驗證的應用 (註一)。網站憑證可以確保 (至少在理論上是如此) 使用者連結的網站是他所預期的,而不是連到一個假冒的釣魚網站。對於一般的電子商務網站,單向驗證或許已經足夠,但是對其他更重要的服務而言,雙向驗證就是不可或缺的了。這些服務包含網路銀行、政府機關各項服務 (如報稅) 等。雙向驗證除了網站憑證之外,使用者也必須擁有個人的憑證 (如自然人憑證、工商憑證等) 才可以進行訊息的溝通。透過雙向驗證,不但使用者可以確認網站的真實性,網站也可以確認使用者的身分。在保護資料安全性的同時,也提供了高度可靠的可稽核性與不可否認性。</p> <p>註一:一般的電子商務網路會透過帳號/密碼進行使用者的身分驗證,也可以算是一種雙向驗證。然而這是兩種機制的混合使用,與我後面提到使用憑證做到雙向驗證是不一樣的作法,在安全強度上也有所不同。</p> Anonymoushttp://www.blogger.com/profile/16978329261210414158noreply@blogger.com1