新加坡之旅

地標-Merlion

新加坡之旅

新加坡之旅

Jurong鳥園

新加坡之旅

新加坡之旅

公車上的小朋友,回頭偷看我在「偷拍」

新加坡之旅

新加坡之旅

路人

新加坡之旅

新加坡之旅

會親人的鯉魚

新加坡之旅

新加坡之旅

市場一角

新加坡之旅

資訊安全實務-數位憑證技術與應用

六月 24th, 2011 by Blave Huang | 回應(0) | 125次閱讀

06161

寫了好些年的書,終於在民國100年6月15日出版了;這是我與東海大學資工系,也是我的研究所指導教授-林祝興教授合著的一本關於資訊安全的書,內容包含:

  1. 密碼學
  2. 公開金鑰基礎建設(PKI, Public Key Infrastructure)
  3. 數位憑證(Digital Certificate)
  4. 數位簽章(Digital Signature)
  5. OpenSSL操作
  6. PHP與SSL
  7. 在Windows建置PKI (即Windows CA)
  8. 憑證發行、廢止
  9. Apache, Tomcat, IIS的SSL憑證安裝應用
  10. 個人憑證應用(申請憑證、電子郵件Email簽章加密、檔案簽章)
  11. 智慧卡(Smartcard)理論
  12. 智慧卡與憑證實務(簽章、驗章、加密、解密、身分驗證等)
  13. 自然人憑證的數位簽章、加密)
  14. 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

SSCP證照

十一月 23rd, 2011 by admin | 回應(0) | 19次閱讀

 

讓Oracle存取MS SQL Server

十一月 3rd, 2011 by Blave Huang | 回應(0) | 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) Download
win32_11gR2_gateways.zip (595,036,736 bytes)

2. Oracle 11gR2 一部

3. SQL Server與TG可在不同台機器上

以下是設定步驟,懶得剪圖片了,有問題請發問(字的顏色是有相對應的,必須一致):

繼續閱讀»

交通事故處理

十月 26th, 2011 by Blave Huang | 回應(0) | 29次閱讀

民國100年9月25日,我們一家三口和孩子的外公外婆全家相約出遊台中大甲,下了國道三號大甲出口後,在甲后路與水源路口被車撞。

事後處理過程中,不是非常愉快,特將此經驗分享給大家參考。上駕訓班都是要把你教會開車(偏偏有人不會開車還要上路害人),但沒有人教你遇到交通事故了,要如何處理!即使你沒有開車、騎車,但你還是會走路馬路上,大家還是會有可能發生交通事故,所以大家還是必須要有「交通事故的處理常識」。

這個文章將分享:事故發生前、發生中、發生後的各項經驗。

 

先看當時的錄影:

我們先回到9/25,我(以下簡稱甲車)們平順的走在甲后路的汽車道上,一輛車(簡稱乙車)從我們後方駛來,並切到右邊的機車道;乙想從機車道超我們,但不巧的,機車道上剛好被一台慢機車擋住乙的動作,因此乙用很「粗魯」的方式欲插前我們之前,但我們和機車之間,大約只剩半個車身的空間,他若硬插進來,必定會發生事故;因此我按了乙兩聲喇叭,從我的行車紀錄看得出來,這時他很不爽。

接著,我們來到甲后路及水源路口,我要右轉,他也要右轉(他還是在機車道,距離非常近),此時,他的左前保險桿撞到我的右後門及右後保險桿。

我立即停車,並打110報警;同時,乙非常不爽的下車,過來敲我的車窗,要跟我「理論」。我按下一點點車窗,先跟他道歉,並聲明我正在報警,等警察來再處理;此時他就不再那麼「粗暴」了。

我下車先將現場拍照,乙說「你右轉沒打方向燈,我的行車記錄器哦!」我回嗆:「有就放出來看啊!只有你裝嗎?我一次裝四顆鏡頭(手指著右前輪的鏡頭)」。我請太太致電給岳父,先接走太太和小孩;再打電話給我的保險公司;乙說:「我的誰誰誰在醫院,急著要去醫院,我的保險桿本來就受損嚴重」意思是想與我私下和解。我說:都報警了,等警察來再說;我問乙:你也是要右轉哦?乙說是。

太太、小孩被接走了,警察量完事故現場、拍完照後,我們一起去警局做筆錄,我的保險公司也來了,做完了所有記錄後,也就各自離開了。

隔天,我去保險公司報出險,等了兩個星期,我才接到乙的保險公司電話。我們一直認為,行駛於機車道,就是比較不對;詢問我們的保險公司後,說:法律未禁止汽車行駛機車道,只是有標示「機車優先」者,必須讓機車先行。在這次的案例中,甲與乙同要右轉,甲必須讓乙,否則甲佔70%過失;頂多可以爭取「雙方皆未保持安全車距」各50%;若是乙要直行,則甲未讓直行車,佔100%過失。實在是非常不公平的規定,我們遵守交通規則,卻要賠錢!

但是雙方保險公司調出「現場圖」後,發現「現場圖」無法看出誰是在哪個車道,只能看出:誰在前、誰在後,因此就變成乙撞甲;雙方保險公司都同意,乙須付100%責任,也就是乙必須把我本次受損的地方修好。

交通事故現場圖

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

交通事故初步分析研判表

我一共受損了三片,必須烤漆,到原廠估價大約近1萬元;後來原廠將所有有被乙擦到的地方(三片、輪框等)重新估價,大約要2萬多,保險公司看過也全部理賠,不幸中的大幸。

經過了這次的事故,讓我學到了一些經驗。

 

事前:

  1. 分配工作:若習慣夫妻一同出門,可先約好,萬一發生事故時,太太記車號,先生報警及處理其他事項,以免大家慌張,對方逃走了卻沒人記車號。
  2. 準備紙、筆、粉筆。
  3. 準備數張"和解書":當發生事故,無人傷亡也完全沒有損傷,或其他原因,各方皆認為不必報警,可讓各方填和解書,以免事後被告。 和解書範本下載
  4. 看到高級車,能離多遠就離多遠,萬一發生事故,責任各50%,你的修車費要5萬,他要50元,也就是他賠你2.5萬,你卻要賠他25萬。
  5. 能讓就讓,發生事故,要花很多時間、精神來處理,與其生氣1、2個月(以上),倒不如在車上生氣10秒鐘,氣消了海闊天空。
  6. 裝行車記錄器,若經濟許可,建議多裝後向、側向鏡頭,用來釐清責任很有效。
  7. 買任意險。強制險往往不夠支付大筆的賠償費,因此可以買任意險。當造成對方死亡時,可能要付上千萬的費用。

事故發生時:

  1. 記下對方車號,可以的話,寫下來。
  2. 不要下車。
  3. 報警(先報警再說,若對方真的是個很不錯的人,也沒什麼損傷,大家都願意和解,再打110取消報案;若員警已出門,就等他們到場,說你們已經協調好了,員警大都「多一事不如少一事」的離開了):說明有無人傷亡、是否需救護車、事故地點、對方車號、自己車號。
  4. 若對方還算友善,下車採證,拍照、標示位置。用粉筆標示時,要標出車身的四個角。
  5. 對方有敵意的話,先道歉安撫他,別讓對方傷害我們。
  6. 對方急著要離開,就跟他談和解,向他要求現金賠償(自己有要維修費用的概念,例如接到一塊板子,只要烤漆,原廠可能報價3500,就跟他要3500);若對方願意拿出現金來,就填和解書,這樣最省事,但維修費抓得準不準,就看自己功力了。
  7. 打電話給保險公司。保險公司來陪你,至少可以幫你做一些事。

製作筆錄:

  1. 在現場草圖簽名前,一定要非常仔細的看過,因為事後的責任判定,都是用這張圖。若草圖不對,可以要求警員重畫。
  2. 帶著你的行車記錄器的記憶卡,或許做筆錄時會用到,但大多數警察懶得管那麼多,只要筆錄做好,其他的都不管。因此行車紀錄是給保險公司看,或重大事故才用得上。
  3. 警察會問你現場是否有什麼標示、號誌,說出對你有利的,對你不利的不要說。例如:禁止左轉,你卻要左轉,就不要說有「禁止左轉」標示(不代表說謊)。
  4. 判斷對方是否飲酒,若有,請警察測酒精濃度。

發生後:

  1. 辦理出險,備齊行照、駕照、印章、車主印章到保險公司。請保險公司催對方報出險。
  2. 若雙方都報出險,就由雙方保險公司協調責任。
  3. 若雙方都同意保險公司的判定,雙方各自去修車,事情就結束了。
  4. 若對方不報出險,或不願理賠,你要去申請"交通事故初步分析研判表",此為事後30天後方可申請,申請地點在你的筆錄三聯單裡就寫,隨到隨辦。
  5. 出示研判表給對方或對方保險公司,若對方還是不認賠,就要去對方當地調解。
  6. 對方再不賠,就要去法院控告對方。
  7. 因此,很多人會故意不賠,反正你維修費才五、六千,你去控告我,要花的時間金錢就不只了;若是走到5或6的階段,就很麻煩了。但若是我個人,即使賠的是小錢,我還是會告到底,要讓對方知道他這種不負責任的行為是不對的。如果大家都這麼做,擺爛的人應該會少很多(或許吧)。
  8. 為避免走到5或6的階段,儘可能在事故發生時開始"以和為貴",不要與對方爭執(都是沒必要的)。明明我沒錯,我還是致電給對方,說:保險公司都願意出面了,就讓保險公司處理就好,大家撞在一起也算是另一種緣,我們就不要浪費不必要的時間、精神在這上面。
  9. 若保險公司有理賠一次,代表你的下期保費不會調降,理賠2次開始,保費就可能會漲價。可用「理賠一次不會調張」為由來安撫對方,請對方理賠。

希望對大家有幫助,若有錯誤,還請專家給予指導。

自動封鎖SSH暴力破解

七月 19th, 2011 by Blave Huang | 回應(0) | 99次閱讀

 

安裝

  1. 下載軟體:
    http://www.pettingers.org/media/sshblackv281.tar.gz
  2. 解壓縮
    tar zxvf sshblackv281.tar.gz
  3. 將sshblack目錄搬到適當的位置,如:
    mv sshblack /usr/local/
  4. 將整個目錄的owner重新設定,如:
    chown -R root.root /usr/local/sshblack
  5. 執行iptables-setup.sh以設定iptables規則
  6. 修改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'; 記信給誰
  7. 執行sshblack.pl
  8. 試著登入失敗幾次,會發現已經被封鎖了
  9. 執行 iptables -L,可以看到被封鎖的IP Address

開機自動執行

將以下兩列寫入 /etc/rc.d/rc.local:
/usr/local/sshblack/iptables-setup.sh
/usr/local/sshblack/sshblack.pl

 

停止process

  1. 用ps看一下sshblack.pl的pid
  2. kill [PID]

 

設定白名單

  1. 修改sshblack.pl
  2. 修改
  3. my($LOCALNET) = '^(?:127\.0\.0\.1|220\.50\.50|66\.249\.64\.68)';
    用|將IP隔開。若要整個網段,可用:163\.17\.68,代表163.17.68.0整個網段。

[oracle]使用row_number()及rank()

六月 15th, 2011 by Blave Huang | 回應(0) | 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

結果會是:

score
85
90
85
80

 

使用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

[Oracle]使某個Schema/User具有select其他schema/user下的所有table

六月 7th, 2011 by Blave Huang | 回應(0) | 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

Oracle變更Table名稱

四月 28th, 2011 by Blave Huang | 回應(0) | 25次閱讀

ALTER TABLE tablename RENAME TO new_tablename

關閉Oracle帳號(user)的密碼過期

四月 27th, 2011 by Blave Huang | 回應(0) | 141次閱讀

Oracle 11g與之前版本不一樣,每個帳號會強制給定一個密碼過期日,當密碼快過期了,就會出現 ORA-28002: the password will expire within n days

可以使用此語法,將此限制取消:

ALTER PROFILE DEFAULT LIMIT
  FAILED_LOGIN_ATTEMPTS UNLIMITED
  PASSWORD_LIFE_TIME UNLIMITED;

將金鑰檔的通關密語(passphrase)移除

四月 19th, 2011 by Blave Huang | 回應(0) | 26次閱讀
openssl rsa -in key.pem -out keyout.pem