[VPN] PPTP VPN Server 架設指南 – on Ubuntu
Intro PPTP雖老但還是一個不錯通用的協定。 架設指南 Ubuntu官方社群已經有一篇相當完整的安裝指南: PPTPServer on Ubuntu 帳號密碼權限 權限設定檔的位置有點不直覺: /etc/ppp/chap-secrets References Launch OpenVPN Access Server On Ubuntu
網頁開發知識 | Web-Dev Blog
Intro PPTP雖老但還是一個不錯通用的協定。 架設指南 Ubuntu官方社群已經有一篇相當完整的安裝指南: PPTPServer on Ubuntu 帳號密碼權限 權限設定檔的位置有點不直覺: /etc/ppp/chap-secrets References Launch OpenVPN Access Server On Ubuntu
Intro Nginx限制訪問速率模組:Nginx http_limit_req 原理 使用leaky bucket原理(可以稱漏桶原理),桶的概念如下: 桶中存放request (令牌的概念) 桶上方由Nginx照設定速率計算補充request 桶下方提供提取request,即一個Request會消耗掉桶中存放的一個request Nginx對於桶的特性如下: 單一IP對應使用一個桶 limit_req_zone中rate是以request數量回推時間做補充的,依照兩次領取的時差補充相應的量 limit_req中burst即定義桶的request最大存放量,在每個新IP(不在Zone中)進入時會拿到全滿request(burst量)的桶 重啟Nginx會清空Zone,意即所有桶的剩餘Quota記憶清除,重新以全滿計算 比照實際設定,limit_req_zone $binary_remote_addr zone=one:10m rate=6r/m;即每間隔10秒可以得到一個request補充量。以rate=100r/s速率來說明,即每0.01秒得一個request補充量,間距0.1秒計算得10個request補充量; 而limit_req zone=one burst=5 nodelay;則表示每個IP桶最大預存的request量為5,有用掉則需等待補充。 Nginx實際上實作leaky bucket補充的方式可能為Trigger回填間隔補充量方式,本篇僅為概念說明,不代表實際Nginx演算法 Reference Nginx下limit_req模块burst参数超详细解析
Outline SSH 設定方針 Nginx 防禦設定方針 Access log Error log by llimit_req_zone 進階 Fail2ban 設定 Email Notifications Intro Fail2ban – Manuals 架構 Fail2ban 是依照設定檔執行過濾,原始設定檔路徑: /etc/fail2ban/jail.conf 如要修改新增可以複製建立成local的設定檔名稱,如有此檔會以此檔優先: /etc/fail2ban/jail.local /etc/fail2ban/jail.d/* Ubuntu Fail2ban 0.9 版本中可以找到預設的/etc/fail2ban/jail.d/defaults-debian.conf,內容是對[sshd]做enabled = true。 所以安裝好後預設即會開啟SSH保護(預設port為22) [過濾器名稱]會對應到/etc/fail2ban/filter.d/過濾器名稱.conf。 參數解析 官方文件 – Options port: […]
Outline DNS Wiki Root Name Servers Theory RFC 1034 – Iterative 查詢標準: DNS resolution 順序: Resolution Process (圖片來源:Web Service Principles – DNS) Round-robin DNS Round-robin DNS Wiki (同個 A Record 設定多個 IP Answers) 舉例來說: $ nslookup -type=a a-record-with-2ip.local 8.8.8.8 Server: […]
Intro 網路架構觀念筆記 Concepts 網路(Gateway)不可平行橋接、必有其parent。全球parent root再彼此同步。 網路與網路橋接需要網卡設IP接點,再利用Route Table去轉發路由,以IP分享器接主網路自己做NAT內網為例,主網路可以透過Route Table將IP分享器內網IP/CIDR轉發給IP分享器的主網路IP閘道,一般來說IP分享器會支援轉發滲透內網。 Router 一般來說,WAN埠支援L3、LAN埠僅支援到L2 WAN/LAN埠橋接模式分為路由模式或NAT Modes AP模式即為Get同網一個IP作為自己,並幫助同網繼續switch及配發DHCP。 Repeater(中繼)模式直接L1轉發,並不會Get同網IP,所以裝置也會隱匿於網路中。 AP-Client(ASUS Media Brige)模式可以理解成用WiFi去接AP模式的網路而變成同網Switch,本身不再提供AP模式(類無線橋接)。 LAN VLAN 虛擬區域網路(Virtual Local Area Network或簡寫VLAN,V-LAN)是一種建構於區域網路交換技術(LAN Switch)的網路管理的技術,網管人員可以藉此透過控制交換器有效分派出入區域網的封包到正確的出入埠,達到對不同實體區域網中的裝置進行邏輯分群(Grouping)管理,並降低區域網內大量資料流通時,因無用封包過多導致壅塞的問題,以及提昇區域網的資訊安全保障。 VLANs and Trunks for Beginners – Part 1 – Youtube Trunking Avaya與Cisco應用在VLAN上的Trunking是指將不同網段的VLAN群,能夠透過單一的網路線傳送資料至相對應的VLAN。[1] 使用的「trunking protocol」有IEEE_802.1Q與Cisco Inter-Switch Link協定,其邏輯為在資料中增加一個標籤(Tag)標示出所屬的VLAN,當資料傳送到另一端的VLAN群時,交換器可根據標籤得知資料該傳送到哪個VLAN。例如:同大樓中,1F的IT部門與5F的IT部門要互傳資料時,透過trunking […]
Intro Let’s Encrypt – Free SSL/TLS Certificates Certbot – Automatically enable HTTPS on your website with EFF’s Certbot, deploying Let’s Encrypt certificates 近年普遍使用Certbot做Let’s Encrypt憑證申請及自動續約。 快速申請 by Nginx 在單台Web server上使用Certbot快速對已設定的sites做申請,例如:Nginx on Ubuntu 16.04 (xenial) DNS認證申請 (LB佈署架構適用) 考慮Loading Balancing擴充性,如果要多台Nodes同時使用同一個憑證,就會回到單一Node申請佈署至Nodes上,這時使用DNS申請是比較好的選擇。 如不使用DNS Plugins,可以使用手動申請DNS Manual,指令如下: […]
Intro Postfix Wiki Postfix為目前主要Linux底層送信軟體,如mail, sendmail (PHP mail底層)也都是基於Postfix發信。 本篇為純送信Mail Server指南,OS環境為Ubuntu 16.04。 Postfix – Ubuntu (Dovecot SASL) 快速安裝檔 安裝 $ sudo apt install postfix 設定 (Interactive) $ sudo dpkg-reconfigure postfix 或者直接對應設定檔:/etc/postfix/main.cf 基本設定完後,就已經完成基本寄信Relay Server,預設無驗證僅採用mynetworks allowed host。 驗證 Postfix需搭配SASL驗證(對應OS系統使用者帳密),預設使用Cyrus SASL、可選用Dovecot SASL,雖然本篇是純粹寄信(SMTP)不做收信(POP3/IMAP)理當用Dovecot有點多餘,但Dovecot SASL整合個人覺得較方便。 Dovecot SASL […]
Intro ApacheBench壓力測試工具,Windows安裝XAMPP即Apache就有內建。 執行檔案 以Windows XAMPP為例,找到安裝目錄下Apache執行檔目錄: D:\xampp\apache\bin\ab.exe HTTPS傳輸 Windows XAMPP使用ab.exe測試HTTPS的網站會有錯誤: SSL not compiled in; no https support HTTPS協定是使用abs.exe執行: D:\xampp\apache\bin\abs.exe Linux的apache2-utils即等於abs.exe 使用方法 同時 10 個連線,連續訪問 100 次 (每個 Request 執行完後自動重連) ab -n 100 -c 10 http://www.example.com/ 同時 10 個連線,連續訪問 100 次,並且使用 Keep-Alive […]
Intro Traceroute – Wikipedia 可顯示封包在IP網路經過的路由器的IP位址。 Windwos平台指令:tracert Linux平台指令:traceroute or tracepath traceroute(8) — Linux manual page Linux 可以額外安裝 traceroute 套件,與內建 tracert 不相同 $ traceroute www.google.com.tw # TCP on port 443 $ traceroute -T -p 443 www.google.com.tw MTR MTR(My traceroute,原名Matt’s traceroute)網路診斷工具包含traceroute與ping的功能,並支援TCP & UDP封包 […]
Intro DNS SPF紀錄用來反查認證寄送IP。 Sender Policy Framework – SPF Record Syntax 規則 使用DNS的TXT紀錄標記: “v=spf1 +a +mx +ip4:139.162.80.137 -all” 其中的 v=spf1 是表示 spf 所使用的版本 符號: +:Pass 代表允許,為預設的屬性 -:Fail 代表拒絕 include:表示授權給該郵件伺服器 a:表示比對 DNS 紀錄中的"A"紀錄,允許在"A"紀錄裡面的 IP 為發送郵件來源 IP mx:表示比對 DNS 紀錄中的"MX"紀錄,允許在"MX"紀錄裡面的網域為發送郵件來源網域 ptr:表示比對 DNS 紀錄中的"PTR",允許在"PTR"紀錄裡面的網域為發送郵件來源網域。 […]