發表文章

目前顯示的是有「IT」標籤的文章

CENTOS7 安裝 NGINX 並請申請 Letsencrypt SSL憑證使用

圖片
CENTOS7 安裝 NGINX 並請申請 Letsencrypt SSL憑證使用 # 首先先看看網路上的教學安裝文章, 照著作把 nginx 安裝起來 https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-centos-7 # 然後安裝憑證, 這個 Letsencrypt 目前用程式安裝憑證 https://letsencrypt.org/ # 請依據制這裡的說明, 安裝程式及工具 https://certbot.eff.org/#centosrhel7-nginx # 先把 domain FQDN 對應 IP 設定好 # 執行憑證申請及安裝, 因為 Letsencrypt 有縣市 IP 及 Domain 所以申請盡可能一次就成功。 # 依據說明執行 [root@dev letsencrypt]# certbot --nginx Saving debug log to /var/log/letsencrypt/letsencrypt.log Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org Which names would you like to activate HTTPS for? ------------------------------------------------------------------------------- 1: api.jangmt.com 2: dev.jangmt.com ------------------------------------------------------------------------------- Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 2 Obtaining a new certificate Perfor...

Linux Performance 效能評估工具

圖片
這個文章說明了系統個連接點的效能評估工具與方式。 http://www.brendangregg.com/linuxperf.html netflix 工程師先透過 10 個工具在 60 秒告訴你,系統的效能摘要狀況... http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html 接下來要仔細的分析效能上面的問題,透過 Brendan’s Linux Performance Tools tutorial 的這一篇文章來解釋。 每個指令都是獨有專精的效能評估工具 例如 : perf https://perf.wiki.kernel.org/index.php/Main_Page 他是可以顯示CPU 上面資訊的計數器 及分析軟體、硬體的性能。 http://wiki.csie.ncku.edu.tw/embedded/perf-tutorial    成大資工WIKI 看起來就是折磨研究生的工具,但是工程師的好朋友。(泣...) 其他就慢慢研究,遇到再來使用了。

STOMP/MQTT 通訊協定的測試心得(client/server)

圖片
STOMP 通訊協定的測試心得(client/server) STOMP 是啥東西?  STOMP 是 Simple (or Streaming) Text Oriented Message Protocol 的縮寫 主要提供一個可以操作的通訊界面,可以支援不同平台的的客戶端交換文字訊息。它屬於一個訊息導向的中介軟體。這個服務類似 HTTP ,並且架構於 TCP 上面。 ref: https://segmentfault.com/a/1190000004906137 功能示意圖 用來搭建 IM (即時通訊服務) 是很簡單好用的中介工具 https://segmentfault.com/a/1190000004906137  這裡有目前常見的訊息中介軟體的比較介紹 amqp mqtt or stomp http://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html 建議和 html5 websocket 一起看,比較容易理解它到底再做啥? P66 頁開始。 http://www.slideshare.net/peterlubbers/html5-real-time-and-websocket/94-Learn_More_HTML5_User_Groups 這裡有 function 功能規格說明 https://mq.java.net/4.4-content/stomp-funcspec.html 這個大概就是目前的官方網站了 https://github.com/stomp-php/stomp-php/wiki 這個服務主要構過 broker 來提供服務,目前 broker 的軟體有很多種可以提供。 broker -- STOMP Servers broker -- STOMP Servers 的列表,常用的。 https://stomp.github.io/implementations.html 我裡以 apache apollo 這套 activemq 的子專案,來做說明。 Apollo 1.7.1 版本,下載我是以 Linux 版來說明 http:...

Linux ubuntu 的 soft raid 1 及 LVM 磁區的資料救援

圖片
圖不相關於此文 這幾天停電,發生剛好有一台老 server power 卦掉了。 想說就順便把資料轉移到新的機器上面, 他在還沒死掉前使用的是 ubuntu linux 系統 硬碟使用 soft raid 1 的架構。 硬碟我使用 usb 硬碟外接座,把裝置接到系統上面。可以使用 blkid 看看裝置代號。 epost mnt # blkid  /dev/sda1: UUID="96d81952-2c1b-4963-98e7-b203f0197686" TYPE="ext4"  /dev/sda5: UUID="8987b099-e672-4486-ae9c-7ccb12264b7f" TYPE="swap"  /dev/sdb1: UUID="08cd466a-fdd1-43ea-9f4d-97d12fbed8ae" TYPE="ext4"  /dev/sde1: UUID="6f575859-37a1-ff61-530b-09d8a1b789b6" UUID_SUB="c601821d-4bf7-0728-83ae-682c29864775" LABEL="bm:0" TYPE="linux_raid_member"  * 可以看到 type 為 linux_raid_member 的 type 型態,可以使用 mdadm 指令,把這裝置賦予到一個 raid 裝置。 mdadm --assemble --run /dev/md3 /dev/sde1 * 然後再用 mount 將它掛載到目錄就可以存取。 * 但是發現檔案系統竟然是 LVM2_member 的檔案架構, 所以需要用 LVM 的方式操作它。 epost mnt # mount /dev/md3 /mnt/sde mount: unknown filesystem type 'LVM2_member' * 看看這個系統的分割區, 是不是有其他裝置。結果竟然全部都沒有合法的分割表。 epost mnt # fdisk /dev/md3 ...

Linux command 測試網路速度

Linux command 測試網路速度 原始碼 in https://github.com/sivel/speedtest-cli # 安裝及執行 wget -O speedtest-cli https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py chmod +x speedtest-cli ./speedtest-cli # 執行範例 [root@dev dl]# ./speedtest-cli Retrieving speedtest.net configuration... Retrieving speedtest.net server list... Testing from TANet (111.111.11.111)... Selecting best server based on latency... Hosted by Chief Telecom (Changhua) [67.67 km]: 19.85 ms Testing download speed........................................ Download: 798.55 Mbit/s Testing upload speed.................................................. Upload: 185.07 Mbit/s

使用 SNMPD 的 TRAP(異常情況) 功能來觸發管理機制,以 UPS 不斷電系統的自動關機為範例

圖片
使用 SNMPD 的 TRAP(異常情況) 功能來觸發管理機制,以 UPS 不斷電系統的自動關機為範例 這篇文章主要說明,當你的 UPS 如果發現 AC(市電)斷電了,我該如何呼叫機器關機勒? 在各 UPS 的管理工具理,都有提供管理工具讓你設定在斷電後快快關閉電腦,但是如果一次要對大量的機器可能就需要付點費用,或是使用其他的方式達成。此文提供透過 UPS 的 SNMPTRAPD 在符合條件的 MIB 資訊被觸發時,就透過接收到的資訊傳遞給負責處理的程序。 介紹 SNMP  ------------ 首先我們需要先了解何謂 SNMP 通訊協定,可以參考底下這篇文章 http://www.netadmin.com.tw/article_content.aspx?sn=1209100018 安裝軟體 ------------ # Linux mint or ubuntu 的安裝 apt-get install snmp snmpd libsnmp-base libsnmp-dev snmp-mibs-downloader -y # Linux CentOS 的安裝 yum install net-snmp net-snmp-agent-libs net-snmp-utils -y systemctl enable snmptrapd.service  在 /etc/snmp/snmptrapd.conf  可以看到預設的設定檔 這個設定可以在 'snmptrapd.conf(5)' 有詳細的說明如何設定 snmptrapd 設定 SNMPTRAPD 可以接收觸發的封包 ------------------------------------ 可以參考官方網站的說明 http://www.net-snmp.org/wiki/index.php/TUT:Configuring_snmptrapd # ----------------- # 修改設定檔 /etc/snmp/snmptrapd.conf # ----------------- # 這個是我參考官方網站後改寫的 /etc/snmp/snmptrapd.conf 範例 mint snmp # cat /etc/snm...

PDSH(Parallel Distributed SHell) 同時對遠端多台電腦送指令的 shell 工具

圖片
PDSH(Parallel Distributed SHell) 同時對遠端多台電腦送指令的 shell 工具 Pdsh(Parallel Distributed Shell) 是個可以同時平行對遠端的 shell 送指令及接收回傳資料的工具,它目標是取代 IBM's DSH 在 clusters at LLNL. 當有很多台一樣的主機,需要管理的時候就顯的重要。 目前他的官方網站 https://code.google.com/p/pdsh/ 最後一次更新在 2013 年,網路上已經有人打包成為 RPM 檔案,直接使用打包好的就可以。 它同時提供有 pdcp (copy from local host to a group of remote hosts in parallel) dshbak (formatting and demultiplexing pdsh output) 這些輔助工具。 RHLE 7 or CENTOS 7 版本的 RPM 下載 RPM 下載: http://blackjack.grid.org.ua/pub/linux/rhel/7x/base/x86_64/ 安裝需要請下載這些檔案: [hadoop@hadoop dl]$ rpm -qa | grep pdsh pdsh-2.29-2.el7.centos.x86_64 pdsh-rcmd-exec-2.29-2.el7.centos.x86_64 pdsh-mod-dshgroup-2.29-2.el7.centos.x86_64 pdsh-rcmd-ssh-2.29-2.el7.centos.x86_64 pdsh-mod-machines-2.29-2.el7.centos.x86_64 pdsh-debuginfo-2.29-2.el7.centos.x86_64 然後使用 RPM 安裝,因為軟體相依性關係,請先依序安裝下面兩個程式再裝其他的程式 rpm -ivh pdsh-rcmd-exec-2.29-2.el7.centos.x86_64 rpm -ivh pdsh-2.29-2.el7.centos.x86_64 .... other # 使用前需要先設定好, ssh key 認證,你可以參考底下這篇文...

Vulnerability Scanning Tools(漏洞掃描工具)

https://www.owasp.org/index.php/Category:Vulnerability_Scanning_Tools 寫得很清楚 但 OpenSource 就只有幾個 http://rgaucher.info/beta/grabber/ http://sourceforge.net/p/grendel/code/ci/c59780bfd41bdf34cc13b27bc3ce694fd3cb7456/tree/ http://www.cirt.net/nikto2 https://subgraph.com/vega/ http://wapiti.sourceforge.net/ http://www.sensepost.com/research/wikto/ https://www.owasp.org/index.php/OWASP_Xenotix_XSS_Exploit_Framework https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project 先推薦兩個: 1. vega https://subgraph.com/vega/ 跨平台,用 java 寫的,圖形化界面。 補充一個,無線網路偵測的 https://www.fern-pro.com/download.php

Ext2 File System Driver for Windows( Windows 下讀寫 ext2 及 ext3 檔案系統)

圖片
Ext2 File System Driver for Windows( Windows 下讀寫 ext2 及 ext3 檔案系統) 通常我是用在雙系統的環境遇到大或多的檔案才使用,目前的 windows 及 linux 在平時工作的環境上都已經很成熟,除非遇到一些非 windows 不可的應用軟體資料。在切換 OS 的時候可以透過這方便的把它掛成一個磁碟來處理資料。 官方網站: http://www.ext2fsd.com/ 功能:在 windows 下以磁碟機方式掛載 ext2 or ext3 or ext4 的檔案系統來讀寫 限制:Linux 下的 ext3/ext4 擴充功能 ACL 、符號連結 等..... 下載: http://sourceforge.net/projects/ext2fsd/files / --> ext2FSD(2014/5/11) 更新 Ext2 的設定頁面,直接將 ext3 or ext2 的分割區設定為一個磁碟代號就可以。

RHEL 7 yum repository 安裝 Apache + PHP 網站服務

圖片
自從 RHEL 7 Release 之後,要測試及安裝軟體都變得很麻煩,剛剛就自己重製了一份 yum 的儲存庫來使用,至少在 CENTOS 7 正式版 出來前先這樣撐著用巴。 建立方式可以參考 之前的 RHEL5 的作法 ,到 7 版方式雷同。 請到你的 /etc/yum.repos.d/ 目錄下,建立一個 local.repo 檔案。 [root@localhost yum.repos.d]# pwd /etc/yum.repos.d  [root@localhost yum.repos.d]# nano local.repo [rhel7-server] name = rhel7 server DVD 64bit baseurl = http://mt.jangmt.com/rhel7/RHEL-7.0Server.x86_64/ enabled = 1 gpgcheck = 0  [rhel7-support] name = rhel7 support DVD 64bit baseurl = http://mt.jangmt.com/rhel7/Supp-7.0RHEL-7Server.x86_64/ enabled = 1 gpgcheck = 0 裝好後安裝個 apache + PHP 服務在 RHEL7 上面巴。 因為 CENTOS7 已經正式出現了,所以可以直接使用 CENTOS7 的 REPO 當作系統的軟體來源: 目前系統 CentOS 7 的主要 REPO 檔案如下: [root@mtchang yum.repos.d]# cat /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client.  You should use thi...

軟體工程--微型團隊的WEB程式開發流程

圖片
這是我軟體工程學習的期末報告,我想應該是個經驗可以提供分享。 大概說明一下簡報的內容: 也就是說,我配合很多工讀生執行這些工作。工讀生素質不一程度有差異,且都是學生,人員組成有太高的風險存在。學校並不會教寫程式的時候要版本控管因為能寫出來就偷笑了,通常平時能夠使用 WAMP 懶人包架設網站已經是萬分幸運了。比較糟糕的是拿 WAMP 直接上線當網站。要求到使用 LAMP 方式開發並且遵循版本控管及軟體專案管理的流程,並請使用某種特性流程的開發方式,如果沒有經過一番的訓練是有難度的。 開發的環境程式為 PHP + HTML + Jacascripts 的程式,後端是 MySQL、PostgreSQL及 Oracle 等資料庫,通常系統端只有我自己維護且再程式部份有範例程式碼提供撰寫的範例。 需求通常來自於我的上級長官,再經由我確認後交派給工讀生開發或是自行開發,但是長官的高深莫測需求漂移不定是最大的困擾。即使本人多方進行需求分析了解也有時會有方向錯誤的狀況發生...... 通常交派工作後會遇到的情境狀況1,使用者聽到需求後馬上使用他的 WAMP 懶人包開發程式,工具使用 Dreamweaver or Notepad++ 工具,配合 filezilla 等 FTP 上下傳程式。然後直接觀看網站的結果與輸出,執行測試。測試正確 Testing == Release ,馬上即時成為釋出的版本。 這問題很大,通常這個過程沒有明確的將需求紀錄由可能造成傳遞上的錯誤,並且沒將需求分段設定里程碑來驗證,開發人員寫完後,也沒有管道可以不同部的回報。如果遇到需求變動,這就更麻煩了.... 情境狀況2,再內部我架設了一個  bug tracker  (PHP、全中文 and GPL)傳遞管控開發工作的訊息,可以控管每件事情包含平時的工作、軟體開發的工作、網路維護工作,用來追蹤工作是否有完成。這軟體很好用,我第一次遇到和它一樣的類似的是  http://www.fogcreek.com/fogbugz/  forbugz 這套,這作者就是有名的作家「 Joel on Software 周思博趣談軟體」作者自行創業的公司開發的軟體,可惜它要錢否則是很棒的軟體。 如果遇到多...

跨平台作業的軟體推薦文書工作、寫點小程式及專案管理

圖片
最近繪製系統架構以及專案管理用到幾套軟體,因為自己用 mac 也有用 linux 在配合 dropbox 同步這些環境,結果還不錯都可以搭配的很好交出想要的文件。 在檔案的儲存用 dropbox 他有跨多平台,win , linux ,mac and mobile 除了mobile以外我都有裝 https://www.dropbox.com/ 在家裡用mac 在工作用 linux 及 win ,換個平台工作也可以即時的同步我的文件資料,真的很方便。dropbox 之前還有版本控管的功能,但最近改成付費選項了。真是可惜了....... 當然也可以用 google drive ,但是只有 5gb 且只支援 mac and win ,在dropbox 之外的最佳選擇就是他了。 但是在文件上的編輯上最好就用跨平台的軟體,我的office 用 openoffice 我個人感覺純粹使用的話真的很舒服 但是如果是 doc or docx 轉 odt or odf 就一整個不順,當然為了跨平台我有安裝了很多自由軟體的字形讓他看起來很舒服。 http://www.openoffice.org/zh-tw/ http://zh-tw.libreoffice.org/ 以上兩套是一樣的,但為何會分家一切都是 「歐漏扣」 的陰謀,分散敵人的力量,就是對自己有利。 台灣政府的全字庫也很不錯,除了那該死的授權條款。 http://www.cns11643.gov.tw/AIDB/download.do?name=%E5%AD%97%E5%9E%8B%E4%B8%8B%E8%BC%89 文泉字形,不得不說現在這些字形已經都做的很有品質了 http://wenq.org/wqy2/index.cgi 當然如果要兼容微軟的標楷體及細明體最好也把他從windows上面 copy進來 linux and mac 如果想要更多的字體可以找 王宗漢字形 ,他有很多可以安裝。 在繪圖上,軟體系統專案的規劃可以用 archi 這套 java 開發的軟體,跨平台且中文也沒有問題。 http://archi.cetis.ac.uk/ 甘特圖及 pert 工作網路圖建議使用 gantt  ,中文及顯示都是非常棒的 http://www.ganttpr...

ARP 詐騙? ARP spoofing or ARP 攻擊 or ARP Poison or ARP 掛馬

圖片
圖片來自 ithome ` 我遇到的症狀一開始只是以為簡單普通的ARP攻擊,只要把作亂的那台機器抓出來就可以解決問題。最初發現的是 win7 的pc有搶ip的狀況發生,一般使用者只有ip衝突的問題,拿不到dhcp 發放的 ip,造成整個網路無法自動取得ip及上網。抓出 win7 後仔細檢查,發現這台電腦沒有中毒、也沒有被埋入任何程式、安全性更新也更新到最新的。 本來還以為是 3/13 微軟發佈的那個安全性更新漏洞衍生出的病毒造成的,但是發現全部都不是,電腦即使重新安裝OS及更新系統後只要在病毒發作的區段插上網路線後也會有這樣的情況。 就這樣,發現一台鎖一台10天鎖了快30台,但發現所有的狀況都一樣。都只有 win7 異常,其他OS都正常,這就神奇了根據以往的經驗,windows 軟體相容性最好的就是病毒,這次竟然有例外?? 後來有同事協助努力的分析封包、分析程式,發現了一個重要的特徵。 只要在該網段(VLAN)發送 arp 要 ip 的 arp 總是有一台電腦會在正確的 ip回應前,發出一個arp 的回應 。這可真是個關鍵點呀!!後來找出作亂發假封包的設備,發現他是一台很便宜的Linux 嵌入式 NAS server 被植入 irc bot ,並且發送假封包及做 arp 竊聽。就這樣在這台機器 turn off 後就在也沒有其他災情發生了。 結論:在一個群體中「 不怕神一樣的敵人,只怕豬一樣的隊友」 。這句名言再次證明,trouble maker 之所以能夠成為 maker 必有他過人之 處。 NAS沒設定帳號密碼你也敢插上網線........oooxxxx 怒....... 節錄 資安人 的文章其中一段說明,當初一直看不太懂。直到親身體驗後恍然大悟,文章有必要寫的那麼委婉嗎?....XD ARP Poison手法 ARP 掛馬在台灣雖然不太常見,但並不是新的攻擊手法。在大陸此種攻擊手法極為常見,2007年Norton大陸網站即曾被ARP掛馬攻擊,於2008年底也有許多知名網站代管區域遭到入侵,被放置ARP攻擊套件,不但監聽Switch網路環境,也進行ARP掛馬攻擊,這些事件若非因ARP掛馬而讓大家產生警覺,可能至今仍潛伏在各機房區網內,持續竊取伺服器連線資料。ARP掛馬工具種類繁多,相對地,也有ARP掛馬防火牆等防護方案...