六月 24th, 2011 by Blave Huang | | 125次閱讀

寫了好些年的書,終於在民國100年6月15日出版了;這是我與東海大學資工系,也是我的研究所指導教授-林祝興教授合著的一本關於資訊安全的書,內容包含:
- 密碼學
- 公開金鑰基礎建設(PKI, Public Key Infrastructure)
- 數位憑證(Digital Certificate)
- 數位簽章(Digital Signature)
- OpenSSL操作
- PHP與SSL
- 在Windows建置PKI (即Windows CA)
- 憑證發行、廢止
- Apache, Tomcat, IIS的SSL憑證安裝應用
- 個人憑證應用(申請憑證、電子郵件Email簽章加密、檔案簽章)
- 智慧卡(Smartcard)理論
- 智慧卡與憑證實務(簽章、驗章、加密、解密、身分驗證等)
- 自然人憑證的數位簽章、加密)
- PGP及GPG應用
這本書是我自研究所期間,一直到修平科技大學開發電子公文系統,所累積的經驗;若您在工作上有此需求,可參考此書,可省去大量上網找資料、測試的時間。
本書亦適合大專校院的學生專題、資訊安全課程、研究所各計畫及論文的技術開發。
撰寫這本書歷時了好些年的時間,中途曾一度放棄,事隔兩年,在林教授的鼓勵,
才能一鼓作氣付梓。筆者看到了許多資訊專業書店陸續歇業,意會到此書出版後,可
能也沒人買,因為知識在網路都找得到了,因此才半途而廢。但這兩年間,有許多網
友向我詢問相關的數位簽章技巧,讓我重新燃起希望,一口氣將剩餘的章節完成。
購買資訊(可網路購書):
http://www.opentech.com.tw/search/bookinfo.asp?isbn=9789572180983&companyID=04383129
作(譯)者:
林祝興、黃志雄
定 價:NT$400
出版商:全華圖書
出版日:2011/6/15
ISBN(13碼):9789572180983
書號:06161
膠裝 376頁16 K
天瓏:
http://www.tenlong.com.tw/items/9572180983?item_id=324442
十一月 23rd, 2011 by admin | | 19次閱讀
十一月 3rd, 2011 by Blave Huang | | 55次閱讀
環境如下:
1. SQL SERVER與Oracle Transparent Gateway裝在同一台。OTG可至Oracle Download裡,進入Oracle 11g,進入See all,就能下載Oracle Database Gateways,如(連結失效請自行找找看):
Oracle Database Gateways 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit) 
win32_11gR2_gateways.zip (595,036,736 bytes)
2. Oracle 11gR2 一部
3. SQL Server與TG可在不同台機器上
以下是設定步驟,懶得剪圖片了,有問題請發問(字的顏色是有相對應的,必須一致):
繼續閱讀»
十月 26th, 2011 by Blave Huang | | 29次閱讀
民國100年9月25日,我們一家三口和孩子的外公外婆全家相約出遊台中大甲,下了國道三號大甲出口後,在甲后路與水源路口被車撞。
事後處理過程中,不是非常愉快,特將此經驗分享給大家參考。上駕訓班都是要把你教會開車(偏偏有人不會開車還要上路害人),但沒有人教你遇到交通事故了,要如何處理!即使你沒有開車、騎車,但你還是會走路馬路上,大家還是會有可能發生交通事故,所以大家還是必須要有「交通事故的處理常識」。
這個文章將分享:事故發生前、發生中、發生後的各項經驗。
先看當時的錄影:
我們先回到9/25,我(以下簡稱甲車)們平順的走在甲后路的汽車道上,一輛車(簡稱乙車)從我們後方駛來,並切到右邊的機車道;乙想從機車道超我們,但不巧的,機車道上剛好被一台慢機車擋住乙的動作,因此乙用很「粗魯」的方式欲插前我們之前,但我們和機車之間,大約只剩半個車身的空間,他若硬插進來,必定會發生事故;因此我按了乙兩聲喇叭,從我的行車紀錄看得出來,這時他很不爽。
接著,我們來到甲后路及水源路口,我要右轉,他也要右轉(他還是在機車道,距離非常近),此時,他的左前保險桿撞到我的右後門及右後保險桿。
我立即停車,並打110報警;同時,乙非常不爽的下車,過來敲我的車窗,要跟我「理論」。我按下一點點車窗,先跟他道歉,並聲明我正在報警,等警察來再處理;此時他就不再那麼「粗暴」了。
我下車先將現場拍照,乙說「你右轉沒打方向燈,我的行車記錄器哦!」我回嗆:「有就放出來看啊!只有你裝嗎?我一次裝四顆鏡頭(手指著右前輪的鏡頭)」。我請太太致電給岳父,先接走太太和小孩;再打電話給我的保險公司;乙說:「我的誰誰誰在醫院,急著要去醫院,我的保險桿本來就受損嚴重」意思是想與我私下和解。我說:都報警了,等警察來再說;我問乙:你也是要右轉哦?乙說是。
太太、小孩被接走了,警察量完事故現場、拍完照後,我們一起去警局做筆錄,我的保險公司也來了,做完了所有記錄後,也就各自離開了。
隔天,我去保險公司報出險,等了兩個星期,我才接到乙的保險公司電話。我們一直認為,行駛於機車道,就是比較不對;詢問我們的保險公司後,說:法律未禁止汽車行駛機車道,只是有標示「機車優先」者,必須讓機車先行。在這次的案例中,甲與乙同要右轉,甲必須讓乙,否則甲佔70%過失;頂多可以爭取「雙方皆未保持安全車距」各50%;若是乙要直行,則甲未讓直行車,佔100%過失。實在是非常不公平的規定,我們遵守交通規則,卻要賠錢!
但是雙方保險公司調出「現場圖」後,發現「現場圖」無法看出誰是在哪個車道,只能看出:誰在前、誰在後,因此就變成乙撞甲;雙方保險公司都同意,乙須付100%責任,也就是乙必須把我本次受損的地方修好。

但後來接到通知,說乙不同意理賠(乙有權不讓他的保險公司理賠,可能不爽、認為甲也有過失、認為保險公司的研判錯誤)。於是我去申請「分析研判表(事故30天後才能申請,免費,隨到隨辦)」,也就是官方分析後,認為乙未保持車距;我將研判表傳真給乙的保險公司,保險公司與乙討論後,決定理賠我們,真的是鬆了一口氣。

我一共受損了三片,必須烤漆,到原廠估價大約近1萬元;後來原廠將所有有被乙擦到的地方(三片、輪框等)重新估價,大約要2萬多,保險公司看過也全部理賠,不幸中的大幸。
經過了這次的事故,讓我學到了一些經驗。
事前:
- 分配工作:若習慣夫妻一同出門,可先約好,萬一發生事故時,太太記車號,先生報警及處理其他事項,以免大家慌張,對方逃走了卻沒人記車號。
- 準備紙、筆、粉筆。
- 準備數張"和解書":當發生事故,無人傷亡也完全沒有損傷,或其他原因,各方皆認為不必報警,可讓各方填和解書,以免事後被告。 和解書範本下載
- 看到高級車,能離多遠就離多遠,萬一發生事故,責任各50%,你的修車費要5萬,他要50元,也就是他賠你2.5萬,你卻要賠他25萬。
- 能讓就讓,發生事故,要花很多時間、精神來處理,與其生氣1、2個月(以上),倒不如在車上生氣10秒鐘,氣消了海闊天空。
- 裝行車記錄器,若經濟許可,建議多裝後向、側向鏡頭,用來釐清責任很有效。
- 買任意險。強制險往往不夠支付大筆的賠償費,因此可以買任意險。當造成對方死亡時,可能要付上千萬的費用。
事故發生時:
- 記下對方車號,可以的話,寫下來。
- 不要下車。
- 報警(先報警再說,若對方真的是個很不錯的人,也沒什麼損傷,大家都願意和解,再打110取消報案;若員警已出門,就等他們到場,說你們已經協調好了,員警大都「多一事不如少一事」的離開了):說明有無人傷亡、是否需救護車、事故地點、對方車號、自己車號。
- 若對方還算友善,下車採證,拍照、標示位置。用粉筆標示時,要標出車身的四個角。
- 對方有敵意的話,先道歉安撫他,別讓對方傷害我們。
- 對方急著要離開,就跟他談和解,向他要求現金賠償(自己有要維修費用的概念,例如接到一塊板子,只要烤漆,原廠可能報價3500,就跟他要3500);若對方願意拿出現金來,就填和解書,這樣最省事,但維修費抓得準不準,就看自己功力了。
- 打電話給保險公司。保險公司來陪你,至少可以幫你做一些事。
製作筆錄:
- 在現場草圖簽名前,一定要非常仔細的看過,因為事後的責任判定,都是用這張圖。若草圖不對,可以要求警員重畫。
- 帶著你的行車記錄器的記憶卡,或許做筆錄時會用到,但大多數警察懶得管那麼多,只要筆錄做好,其他的都不管。因此行車紀錄是給保險公司看,或重大事故才用得上。
- 警察會問你現場是否有什麼標示、號誌,說出對你有利的,對你不利的不要說。例如:禁止左轉,你卻要左轉,就不要說有「禁止左轉」標示(不代表說謊)。
- 判斷對方是否飲酒,若有,請警察測酒精濃度。
發生後:
- 辦理出險,備齊行照、駕照、印章、車主印章到保險公司。請保險公司催對方報出險。
- 若雙方都報出險,就由雙方保險公司協調責任。
- 若雙方都同意保險公司的判定,雙方各自去修車,事情就結束了。
- 若對方不報出險,或不願理賠,你要去申請"交通事故初步分析研判表",此為事後30天後方可申請,申請地點在你的筆錄三聯單裡就寫,隨到隨辦。
- 出示研判表給對方或對方保險公司,若對方還是不認賠,就要去對方當地調解。
- 對方再不賠,就要去法院控告對方。
- 因此,很多人會故意不賠,反正你維修費才五、六千,你去控告我,要花的時間金錢就不只了;若是走到5或6的階段,就很麻煩了。但若是我個人,即使賠的是小錢,我還是會告到底,要讓對方知道他這種不負責任的行為是不對的。如果大家都這麼做,擺爛的人應該會少很多(或許吧)。
- 為避免走到5或6的階段,儘可能在事故發生時開始"以和為貴",不要與對方爭執(都是沒必要的)。明明我沒錯,我還是致電給對方,說:保險公司都願意出面了,就讓保險公司處理就好,大家撞在一起也算是另一種緣,我們就不要浪費不必要的時間、精神在這上面。
- 若保險公司有理賠一次,代表你的下期保費不會調降,理賠2次開始,保費就可能會漲價。可用「理賠一次不會調張」為由來安撫對方,請對方理賠。
希望對大家有幫助,若有錯誤,還請專家給予指導。
七月 19th, 2011 by Blave Huang | | 99次閱讀
安裝
- 下載軟體:
http://www.pettingers.org/media/sshblackv281.tar.gz
- 解壓縮
tar zxvf sshblackv281.tar.gz
- 將sshblack目錄搬到適當的位置,如:
mv sshblack /usr/local/
- 將整個目錄的owner重新設定,如:
chown -R root.root /usr/local/sshblack
- 執行iptables-setup.sh以設定iptables規則
- 修改sshblack.pl
| 參數 |
說明 |
| my($LOG) = '/var/log/secure'; |
secure紀錄檔的位置 |
| my($REASONS) = '(Failed password|Failed none)'; |
當SSH登入失敗時,在secure紀錄檔產生的紀錄關鍵字(請自己登入失敗一次,再去看secure檔) |
| my($MAXHITS) = 4; |
登入失敗4次就通知iptables封鎖IP Address |
| my($RELEASEDAYS) = 4; |
封鎖4天後才解開 |
| my($EMAILME) = 0; |
有關鍵事件時要不要寄信通知您 |
| my($NOTIFY) = 'root'; |
記信給誰 |
- 執行sshblack.pl
- 試著登入失敗幾次,會發現已經被封鎖了
- 執行 iptables -L,可以看到被封鎖的IP Address
開機自動執行
將以下兩列寫入 /etc/rc.d/rc.local:
/usr/local/sshblack/iptables-setup.sh
/usr/local/sshblack/sshblack.pl
停止process
- 用ps看一下sshblack.pl的pid
- kill [PID]
設定白名單
- 修改sshblack.pl
- 修改
my($LOCALNET) = '^(?:127\.0\.0\.1|220\.50\.50|66\.249\.64\.68)';
用|將IP隔開。若要整個網段,可用:163\.17\.68,代表163.17.68.0整個網段。
六月 15th, 2011 by Blave Huang | | 54次閱讀
假設有一個table:
select 85 score from dual
union all
select 90 score from dual
union all
select 85 score from dual
union all
select 80 score from dual
結果會是:
使用row_number():
select score, row_number() over (order by score desc) rank
from (
select 85 score from dual
union all
select 90 score from dual
union all
select 85 score from dual
union all
select 80 score from dual
)
order by score desc
| score |
rank |
| 90 |
1 |
| 85 |
2 |
| 85 |
3 |
| 80 |
4 |
使用rank():
select score, rank() over (order by score desc) rank
from (
select 90 score from dual
union all
select 85 score from dual
union all
select 85 score from dual
union all
select 80 score from dual
)
order by score desc
| score |
rank |
| 90 |
1 |
| 85 |
2 |
| 85 |
2 |
| 80 |
4 |
六月 7th, 2011 by Blave Huang | | 142次閱讀
由於Oracle無法指定讓某個schema(即user)能select其他schema的權限,必須一一下grant指令,如:
GRANT SELECT ON ALICE.USERS TO BOB;
使BOB能SELECT ALICE.USERS
因此我寫了一個PROCEDURE:
CREATE OR REPLACE
PROCEDURE grant_select( schema_owner VARCHAR2, grantee VARCHAR2 )
AS
BEGIN
FOR x in (select owner, table_name from DBA_tables where owner = schema_owner)
loop
execute immediate 'GRANT SELECT ON ' || schema_owner || '.' || x.table_name || ' TO ' || grantee;
END LOOP;
END;
使用方法:
CALL GRANT_SELECT(‘ALICE’, ‘BOB’);
就可以將ALICE下的所有TABLE,提供給BOB SELECT
四月 28th, 2011 by Blave Huang | | 25次閱讀
ALTER TABLE tablename RENAME TO new_tablename
四月 27th, 2011 by Blave Huang | | 141次閱讀
Oracle 11g與之前版本不一樣,每個帳號會強制給定一個密碼過期日,當密碼快過期了,就會出現 ORA-28002: the password will expire within n days
可以使用此語法,將此限制取消:
ALTER PROFILE DEFAULT LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED;
四月 19th, 2011 by Blave Huang | | 26次閱讀
openssl rsa -in key.pem -out keyout.pem