Debian/Ubuntu 的 update-rc.d 使用教學

Debian update-rc.d 是在 DebianUbuntu 內用來管理 /etc/init.d 目錄內的 scripts 工具。不管是 Nginx 或 Mysql 等相關服務,都可以在 /etc/init.d 目錄內找到相對應的 script 檔案,隨便打開一個 script 檔案就可以看到標頭有固定的格式寫法:
### BEGIN INIT INFO
# Provides:          gorush
# Required-Start:    $syslog $network
# Required-Stop:     $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the gorush web server
# Description:       starts gorush using start-stop-daemon
### END INIT INFO
Continue reading “Debian/Ubuntu 的 update-rc.d 使用教學”

Linode 推出新的 Datacenter 據點 Tokyo 2

Screen Shot 2016-11-22 at 10.53.16 AM 在半年前 Linode 13 歲生日送了一份很大的禮物給大家,就是免費讓大家升級記憶體,這個禮物只限定在非東京據點,對於東京的用戶只能等待,就在今天 Linode 終於宣佈新的服務據點 Tokyo 2,新的東京據點比照[現有的牌價]收費,官方也提供教學讓各地區快速的轉換到東京據點。 Continue reading “Linode 推出新的 Datacenter 據點 Tokyo 2”

OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778

openssh

OpenSSH 今日公佈 Client Bug 漏洞 CVE-2016-0777 and CVE-2016-0778,發生原因是 SSH Clinet 跟 Server 溝通時,新功能 roaming 造成傳輸過程被惡意程式破解,影響的 OpenSSH 版本為 5.4 – 7.1. 大家快看看自己是否為這版本區間。此問題會發生在 SSH Client 而不是 Server 端,所以 Linux FreeBSDMacOS 都需要升級 OpenSSH,如果你是在 Windows 用 Putty 則不受影響。

Continue reading “OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778”

Alpine Linux 挑戰最小 docker image OS

Screen Shot 2015-12-27 at 9.17.22 AM

Alpine Linux 是一套極小安全又簡單的作業系統,在現今 Docker Images 裡面,最主要推崇的就是 Ubuntu 作業系統,但是令人詬病的是 Ubuntu 還是不夠小,今天看到 Alpine 在 docker 內的大小大約是 5 MB,看到這 size 大小,相信是令人很震撼,之前要是看到這 size 大概只有 OpenWRT 編譯 BusyBox 才有可能的大小,但是 OpenWRT 最主要還是缺乏很多目前 popular 的套件,所以 Alpine 幫你解決這問題,提供大量的 Packages 讓開發者使用。底下就可以看出 Alpine 擊敗目前盛行的 docker images 大小比較圖。

Continue reading “Alpine Linux 挑戰最小 docker image OS”

Docker 救了 Debian SSH terminal

Docker

上週在處理實體機器時,不小心下了底下指令

$ dpkg --purge --force-all zlib1g

造成系統所有相關指令都不能使用,像是 ssh, scp, fetch, wget 等跟網路相關的指令都會出現底下錯誤訊息

curl: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

本來想說可以透過指令將檔案抓回來,放回去就可以恢復了,但是所有指令幾乎都不能用,連 git 也出現該錯誤訊息,這時候最怕 terminal 斷線,如果斷線了,就要到機房去處理問題了。最後想到用 Docker 來處理,簡單幾個步驟就可以將檔案抓回來了

# 抓 debian images
$ docker pull debian:7
# 進入 docker
$ docker run -t -i debian:7 /bin/bash
# 從 docker 複製檔案到 home 目錄,其中 e1bf3950b16c docker id
$ docker cp e1bf3950b16c:/lib/x86_64-linux-gnu /home/

完成後,在去 x86_64-linux-gnu 找到 libz.so.1 丟到相對應目錄就可以了,結論就是:好險平常有裝 docker 習慣 XD

修復 Ubuntu 開機 boot loader

logo-Ubuntu

昨天下午本來想幫自己的筆電 (Ubuntu OS) 升級記憶體,結果因為機型過於老舊,以現在的記憶體時脈 1600 裝上去後,直接讓 Ubuntu 當機,反覆重新開機,無法向下相容,加上現在記憶體狂漲價,找不到更低階的記憶體安裝了,無奈的是,店員幫忙測試筆電,換個記憶體,結果連 Ubuntu 的 boot loader 都可以壞掉。我看店員很緊張的說,不好意思,可以幫忙備份,幫忙我重灌。結果我還是自己拿回家處理比較安心。自己也不知道為什麼換個記憶體,可以讓 boot loader 消失。底下是修復 boot loader 過程

Continue reading “修復 Ubuntu 開機 boot loader”

OpenSSL CVE-2014-0160 (Heartbleed) 漏洞攻擊手法

heartbleed

DEVCORE 資安公司寫了一篇 OpenSSL Heartbleed 全球駭客的殺戮祭典,你參與了嗎? 內如介紹如何透過工具攻擊及測試現有網站,也提供如何修正 OpenSSL 漏洞,Debian,Centos,FreeBSD 等。要檢查機器是否更新到正確版本,可以透過底下指令

$ openssl version -a
Continue reading “OpenSSL CVE-2014-0160 (Heartbleed) 漏洞攻擊手法”

HAProxy 搭配 CodeIgniter 取使用者真實 IP

前端 Load Balance 首選就是 HAProxy,後端架設 Nginx 搭配 CodeIgniter,紀錄使用者 IP 時,Nginx 總是只有抓到內部 IP 192.168.x.x,而無法抓到真實 Public IP,要抓到 Public IP 必須修改 HAProxy + Nginx 設定檔,HAProxy 只要在 Backend 地方加入 forward 選項,這樣 HAProxy 會送 X-Forwarded-For header 給後端 Nginx。
option forwardfor
Continue reading “HAProxy 搭配 CodeIgniter 取使用者真實 IP”