跳到主要內容

發表文章

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

DNS 新增 CAA 紀錄

學校的網頁伺服器採用 HTTPS 模式時,均使用 Let's Encyrpt 認證服務。大多數的伺服器都依 Let's Encrypt 官網的說明,使用 Certbot 用戶端自動於過期前更新。 今天遇到 6/16 到期的 radius.tsh.tp.edu.tw 出現久違的 https 警告,發現該主機的 Certbot 並沒有自動更新。查詢相關資料後,用 sudo certbot renew 手動指令更新,出現下列的錯誤: 發現是 DNS CAA 錯誤問題。 摘錄「 https://ezbox.idv.tw/112/dns-caa-protec-ssl-tls-certificate/ 」說明: 目前全球簽發 SSL/TLS 憑證的機構已超過百個 要避免這些機構在某些情況下錯誤簽發憑證 (WoSign曾發生過) 就需要在簽發憑證前做一些檢查動作 在 RFC 6844 中定義了 DNS CAA Record 透過 DNS 的 CAA 紀錄,申明網域授權哪些機構可以簽發該網域的憑證 如果沒有設定 CAA 紀錄,則代表任何機構都可以簽發該網域的憑證 2013年1月 CA可以決定是否檢查該記錄,非強制性 2017年3月 CA/Browser 論壇決議 2017年9月起強制所有憑證發行機構在簽發憑證前必須檢查 DNS CAA 紀錄 如果是代管 DNS,則現行多數的DNS代管單位都可以直接設定 CAA 紀錄 若無法新增 CAA 紀錄,只能聯繫代管服務商要求提供協助設定 如果是自行管理DNS,則需要在自己的 DNS Server 上自行設定 解決方式只要用 SSLMate 提供的 CAA Record Helper 來協助產生紀錄,再輸入 BIND9 設定檔中即可。

伺服器開箱喔

學校採購一台機架型伺服器,主要作未來虛擬化主機使用。這是生平第一次全新的伺服器可以拆箱的。 開箱文 PO 到 FB 後,還被學生子澄發現記憶體沒有插滿。唉!不足記憶體沒滿,兩個 CPU 插槽也只有插一顆 CPU,我也很想都都插滿,但是沒有經費啊。     

生平第一張 cisco 認證

CISCO IT Essentials

IPv6系統(三):伺服器手動設定 & Fortigate SLAAC 設定

一、伺服器手動設定 機房的伺服分為 Ubuntu 及 Windows Server 系列兩種。Windows Server 具有圖形介面(GUI),且與 Win7、Win10 作業系統操作相似,相當容易設定。只要把 IP 相關資訊輸入即可。 Ubuntu linux 系統需要修改系統設定檔(/etc/network/interface) 二、Fortigate SLAAC 設定 以學校中 vlan192 為例,IPv6區段為 2001:288:102b:a5::/64 最主要是 config ipv6 之後的區段,set ip6-address 設定本機作為這個 vlan 的 IPv6 的 IP,set ip6-send-adv、set ip6-other-flag 開啟RA功能,並設定成 DHCP+SLAAC 動態 IPv6 環境。 因為採用 DHCP+SLAAC 的緣故,必須要有 DHCPv6 來發放 DNS 資訊,否則要每一台手動設定才能正確連接網路。 除此之外,Fortigate 上還需要針對 IPv6 做 Routing table 和 IPv6 Firewall Rule 的設定。

IPv6 系列(二):學校網路架構規劃

學校的 IPv6 網段是: 2001:288:102b::/48 ,依照校內現行的網路架構,每個 vlan 區域分配的 IPv6 網段為 2001:288:102b:xxxx::/64 ,其中 xxxx 部份,依照任務與地理位置來編號,以方便辨識與記憶: 0 表伺服器群組 a4 表綜合大樓 vlan1 辦公室區域,a440 表綜合大樓 vlan400 教室區域,a410 綜合大樓 vlan410 A416 偏鄉英文教室,a450 綜合大樓 vlan500 電腦教室區域 a5 為尚志大樓 vlan192 辦公室區域,a510 尚志大樓 vlan100 教室區域(及部份因 IPv4 不足所歸屬的行政電腦) b456 為 B棟 vlan193 辦公室區域,bb20 為 B棟 vlan200 教室區域 現行網路架構為 IPv4 與 IPv6 並存 。伺服器群組部份 關閉 RA 封包 ,以手動設置 IPv6 固定位址。其餘區域設置 SLAAC+DHCPv6 方式配發 IPv6,但其內部重要的骨幹 L3 switches 則手動設定 IPv6 位址。

IPv6 系列(一):IPv6 兩三事

IPv4:32位元,格式 xxx.xxx.xxx.xxx (xxx:0~255) IPv6:128位元,格式 hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh (hhhh:0000~FFFF) IPv6種類: (a) Link Local;(b) Unique Local;(c) Global (a) Link Local 固定為  FE80  帶頭(二進位的 1111 1110 10 開頭再固定接上54 bits的 0,最後接64 bits的Interface Identifier) 僅限同一個 Link(網段)之間使用,不可跨越 Router 送往其他網段 每個已經啟用 IPv6 的介面會自動各配一個 Link-local 位址,不論該介面是否已有其他可跨網段的 Unicast 位址 主要用於 Neighbor Discovery、Automatic Address Configuration…等用途 您可以使用 Link-local Address 與同網段其他 IPv6 主機進行溝通,只是執行這個動作時,由於主機上可能有多個介面都配有 Link-local Address,因此您需要指定外送介面 另外,在 IPv4 表示本機的 127.0.0.1,在 IPv6 下可表示為 ::1/128 (b) Unique Local FC00::/7 -唯一區域位址(ULA,unique local address)只可用於本地通訊,類似於IPv4的專用網路位址 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。 這定義在 RFC 4193 中,是用來取代站點本地位域。這位址包含一個40位元的偽隨機數,以減少當網站合併或封包誤傳到網路時碰撞的風險。 這些位址除了只能用於區域。 (c) Global 可用於網際網路使用的 IP 位址。 本校申請所得的 IPv6 位址為:2001:288:102b::/48,經計算共有 1,208,925,819,614,629,174,706,176 個 IP 位址可以用。 目前規劃每個 vlan 網段分配 2001:288:102b:xxxx::/64 的 IP 位址。共可以分出 65,5...

伺服器預約關機程序

這一兩年機房所在的位置常常遇到公司或大學部電氣維修通知要停電,所以都要事先下伺服器排程關機。但是機房內伺服器有 Linux、Windows Server 等不同的作業系統,排程操作的方式也不一樣,乾脆把操作和指令記下來,方便以後參考。 a. Ubuntu Linux 伺服器用 at 指令,大部份的機器指令是:「at hh:mm yyyy-mm-dd」,然後關機最主要的程式是「sync」和「shutdown -h now」 其中結束<EOF>是按 Ctrl + D 查詢排程工作用 atq 其餘指令操作內容可以參考  鳥哥的 Linux 私房菜 第十五章、例行性工作排程(crontab) b. Windows Server Windows Server 用的是「系統管理工具 〉工作排程器」 關機指令是「System32\shutdown.exe」加參數「-s」 c. pfsense pfsense 防火牆的作業系統是 FreeBSD,排程方法和 Linux 一樣都是用 at 指令 比較要注意的是它是用「at -t yyyymmddhhmm」

校務系統使用 SSL For Free 憑證

因於校務系統使用的主機是 Ubunt 12.04,在使用 Certbot 時一直發生問題且無法解決。在查詢 Let's Encrypt 說明文件時,發現可以使用 SSL For Free 網站申請且下載 SSL 憑證,再手動引用至 Apache 中。 SSL For Free 網址: https://www.sslforfree.com/ 使用 SSL For Free 憑證需要登入,因為是手動下載引用,不像 Certbot 可以自動更新。當憑證快過期之前,需要登入去做 renew 更新的動作。 使用 SSL For Free 需要驗證網站的擁有權,要進行網域驗證。驗證通過後,可以下載產生的90天憑證,一樣是 Let's Encrypt Authority X3 簽發,sha256RAS加密版本。 下載的 sslforfree.zip 檔案解開後,有三個 ssl 憑證檔案:ca_bundle.crt、certificate.crt、private.key。按照 Apache ssl.conf 的設定放到正確的位置,重新啟動 Apache 後就啟用了。

為學校的網頁伺服器使用 Let's Encrypt SSL 憑證

之前為了校務系統 Https 安全連線,採用自行簽發的 SSL 憑證,簽發單位 CA 可以用學校的網域,但因為是自行簽發的緣故,雖然可以使用但網頁瀏覽器卻會發出警告。學校並無教育單位提供的上層憑證,而也用不起商業憑證,所以這種情形也是沒有辦法,至少有 https 的網頁可以用了! 後來在大同大學的通知下,發現有佛心的單位提供有效 SSL 憑證的申請服務: Let's Encrypt,立刻申請使用。 Let's Encrypt  網址: https://letsencrypt.org/ 提供 sha256RSA 的 SSL 憑證,簽發單位(CA)是  Let's Encrypt Authority X3,有效期限是90天。 Let's Encrypt 提供多種憑證申請的機制,比較容易使用的是 Certbot,它可以依照網頁伺服器和作業系統版本提供操作步驟,像學校使用 Ubuntu + Apache 是非常方便的,只要按照網頁提示的步驟就可以完成,並且可以自動更新。 Certbot 網址: https://certbot.eff.org/ 學校大部份的 Linux 是使用 Ubuntu 16.04 ,所以選擇正確的版本之後,系統就會顯示操作指引: 按照說明操作很簡單就可以完成了。 後記: Let's Encrypt 真的非常方便,但是校務系統那一台是 Ubuntu 14.04,在安裝 Certbot 發生問題,查詢網路上的資料,也有不少人遇到同様問題,使用上面提供的解決方式也無法處理。 原本是放著校務系統那台繼續使用自行簽發的 SSL 憑證,在查閱 Document 說明文件中,發現有手動引用憑證的方式,總算完成憑證的使用。手動引用方式下一篇再寫出來。 

學校申請IPv6情形與設定

學校申請的IPv6發下來了:2001:288:102b::/48

改用 Python 顯示3D 學生座位成績表

以前有使用過用 gnuplot 來繪製校務系統的座位成績圖,改用 python 搭配 matplotlib 來繪製新的 3d 圖形 程式碼: import sys import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib import cm from matplotlib.ticker import LinearLocator, FormatStrFormatter with open("grade_data/sm2-1.txt", "r") as f:     mydata = f.readlines() x = [] y = [] z = [] for myline in mydata:     if myline[0] != '#':         tmp = myline.split()         x.append(int(tmp[5]))         y.append(int(tmp[6]))         z.append(float(tmp[4])) bottom = np.zeros_like(z) width = depth = 0.5 fig = plt.figure() cmap = cm.get_cmap('CMRmap') max_h = np.max(z) min_h = np.min(z) co = [cmap((k - min_h)/max_h) for k in z] ax = fig.add_subplot(projection='3d') ax.bar3d(x, y, bottom, width, depth, z, shade=True, color=co) ax.grid(True) plt.xlabel("X") plt.ylabel("Y") ax.set_title("n = %s , me...

Apache 採用 LDAP 認證

最近因為無線網路認證的需求,把 Freeradius 和 OpenLDAP 再重新架設起來。 無線網路的部份是藉由 pfSense 防火牆的 Captive portal (網頁認證) 功能,將防火牆內的 client 都事先導到 Freeradius 去做認證,使用者的帳號和密碼由 OpenLDAP 儲存。 使用者的帳號、密碼分成兩個群組: 教師部份:專任教職員同電子郵件規則,兼任教師則需向資訊組申請一組帳號密碼。 學生部份:同學生網路空間,以“st學號”為帳號,身份證字號(英文大寫)為密碼 除了無線網路部份,最近在學校的 Apache http server 上實驗 LDAP 權限管制成功。 OS:Ubunt Linux,Server:Apache 2 要使用 LDAP 前,需要先啟用 mod_ldap 和 mod_authnz_ldap 在需要作權限管制的路徑上(我是放在 <Directory>…</Directory> 的設定裡,一般看到的使用說明都是<Location>…</Location>)加上 ldap 設定:  AuthType basic  AuthName "LDAP auth"  AuthBasicProvider ldap  AuthLDAPUrl "ldap://LDAP_IP:Port/basedn?attribute?scope?filter  Require valid-user    

安裝 MariaDB (瑪莉亞資料庫) 系統

最近資料組終於可以買新的電腦來逐步取代舊的伺服器系統。新電腦的作業系統採用 Ubuntu 11.04 amd64 版本,在安裝的過程中,看到網路有 MySQL 被 Oracle 併購,原本的設計工程師發展另一套資料庫系統:MariaDB的消息(這算是舊…舊聞了),因此趁著有新電腦的機會,打算採用 MariaDB 來取代 MySQL 來測試看看。  [@more@]在 Ubuntu 官方的套件庫中並無 MariaDB的套件,所以要先到 MariaDB 的官方網站: http://mariadb.org/   官網中有提供 MariaDB 的第三方套件庫,可以加到 apt 的 source.list中,利用 apt-get 的指令安裝 MariaDB。選擇 Download   把產生的套件source list加到apt的設定中。 要安裝 MariaDB之前,還要再安裝第三方套件庫的金鑰。 參考: http://kb.askmonty.org/v/installing-mariadb-deb-files sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 1BB943DB 金鑰安裝完成後,就可以用 apt-get 安裝 MariaDB sudo apt-get update sudo apt-get install mariadb-server-5.2 把新電腦的資料庫系統換過來後,用測試環境來跑一兩天,看起來好像都沒有問題,因為 MariaDB 號稱完全相容於 MySQL,所以連原本的程式也不用修改。再把網誌的系統也併更改過來,原本的資料庫也都可以正常運作。看起來好像可以無痛且無縫升級。  

ubuntu ssl 憑證製作

因為學校參加資策會「高中職資訊安全管理」試辦,配合相關資訊安全政策,校務系統將改為 https 加密網頁的瀏覽方式。 雖然 Linux 伺服器中的 Apache 網頁伺服器已經有運行系統預設的 https 站台,用的 SSL 憑證是預設的,有點不是很符合實際狀況。 打算製作屬於學校本身的 SSL 憑證,雖然還是自我簽發,但簽發單位至少署名是大同高中。 SSL 憑證製作的過程參考: http://blog.yam.com/hn12303158/article/16457837   ","ubuntu ssl 憑證製作","因為學校參加資策會「高中職資訊安全管理」試辦,配合相關資訊安全政策,校務系統將改為 https 加密網頁的瀏覽方式。 雖然 Linux 伺服器中的 Apache 網頁伺服器已經有運行系統預設的 https 站台,用的 SSL 憑證是預設的,有點不是很符合實際狀況。 打算製作屬於學校本身的 SSL 憑證,雖然還是自我簽發,但簽發單位至少署名是大同高中。 SSL 憑證製作的過程參考:http://blog.yam.com/hn12303158/article/16457837

校務系統使用的幾個附加功能程式

校務系統結合數個知名的javascript或php程式來增加功能,最近陸續利用時間查看是否有更新,以便更新最新的版本。發現有部份程式的官方網站忘記了,還要利用google大神找出來…而且也忘了當初是如何和校務系統裡面的資料接軌,從頭再把程式推演一遍慢慢修改。先把這些系統的網站記下來當作備忘,之後再把各個系統與校務系統資料交換的方式也記下來,以後也好參考。 一、編輯器(Ckeditor): 網址: http://ckeditor.com/ 用於校務系統公告、訊息等輸入的線上編輯器。 二、DHTML UI: 網址: http://www.dhtmlx.com/index.shtml 用在學生資料的顯示上,不過它提供的 UI 項目很多,找時間把其他的控制項也放上去。 三、Email Function (phpmailer): 網址: http://phpmailer.worxware.com/ 校務系統線上發信功能。 四、編輯器(Tinymce) : 網址: http://tinymce.moxiecode.com/ 用於網誌系統的內容編輯器。 五、Ajax函式組(Mootools): 網址: http://mootools.net/ 用於首頁中 Ajax 功能 六、線上繪圖函式組(JpGraph): 網址: http://jpgraph.net/ 用於校務系統線上繪圖功能(成績單、各科人數…等)

利用gnuplot製作3d圖形

最近班級的第一次月考成績出爐,想說看看月考成績和班級座位是否有任何關係,找出 gnuplot 這套強大的函數繪圖軟體來作圖觀察看看。 做出的圖形如下,還真的可以看出座位表和成績之間的關係呢。 把製作的過程記起來,以免以後忘記了。 [@more@] 這個製作的過程很早之前就試過了,還在校務系統的程式上多加上成績項目和座位表的報表輸出的功能。因為 gnuplot 是利用指令作圖,太久沒用幾乎都忘光了,所以把完整的過程記錄下來當作以後的參考。 1.下載 gnuplot gnuplot 的官方網頁: http://www.gnuplot.info/ 到 sourceforge 下載最新版 下載後,將壓縮檔解開後,在「bin」資料夾內就有gnuplot的執行程式「wgnuplot.exe」。 2.至校務系統下載成績檔 校務系統內的「課程中心」的成績功能裡,有各項成績報表匯出的功能。 匯出的成績報表裡包含學生資料、成績和座位行列。 匯出的資料是純文字格式,資料用「Tab」分隔,共有7欄,有#開頭的行是註解,並不會用在繪圖。 其中成績是第5欄,座位是6, 7欄,定位的方式是站著講台往學生方向,坐標原點在左下方。其中第6欄是X,第7欄是Y。 把資料存成純文字檔,例如檔名:testdata.txt,放在gnuplot主程式同一個資料夾內。 3.執行 gnuplot   gnuplot主要是利用命令來執行繪圖的動作。 輸入「splot "testdata.txt" using 6:7:5」利用testdata.txt 中第6,7,5欄的資料順序來繪製3d圖形。 可以利用滑鼠拖曳圖形來旋轉。 輸入「set isosamples 100,100」設定100的取樣值,讓圖形可以更平滑,再輸入「replot」重新繪圖,可以看到變化。 輸入「set dgrid 40,40」增加繪圖點。 輸入「set pm3d」繪製更好看的3d圖形。   原本預設的顏色並不是很好,所以重新設定調色盤「set palette model HSV functions gray,1,1」重新上色   紅色的十字看起來很礙眼,所以利用「set hid...