[PGP] GPG 指令指南 – GPG Commands

Intro PGP (Pretty Good Privacy) Wiki GPG (GNU Privacy Guard) Wiki GPG Software Download Commands 產生金鑰 – Generate public/private key $ gpg –gen-key 完整產生金鑰選項:gpg –full-generate-key,含algorithm, key length, expired time 其中,Username與passphrase為必要。 列出金鑰 – List keys $ gpg -k 加密 – Encryption […]

[HTTPS] TLS/SSL指南 – (Ciphers/CURL Test)

Intro TLS – 傳輸層安全性協定 (Transport Layer Security) Cipher suite SSL Lab – Checking server online 實作 查看 Cipher suite list $ openssl ciphers -v TLS_RSA_WITH_AES_128_GCM_SHA256 對應指令為 AES128-GCM-SHA256 Curl 指定 Cipher $ curl -v –ciphers ECDHE-RSA-AES128-SHA256 “https://target.host” 需確認CURL版本支援–ciphers,經測試version 7.47.0不支援

[Linux] SSH Manual – SSH 使用指南

Intro RFC4252 – The Secure Shell (SSH) Authentication Protocol SSH – OpenBSD manual page server ssh_config — OpenSSH SSH client configuration files ssh $ ssh user@host.com ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] […]

[HTTPS] Two-way SSL – SSL雙向驗證 on Nginx

Intro Two-way SSL即Server端也要求Client端提供certificate做驗證,handshake流程上是Client端先驗證Server端後才換Server端驗證Client端。 Client端憑證 Client端提供終端憑證並設定使用該憑證對應的Private Key; Server端設定Client端的CA憑證,以用於驗證Client端提供的終端憑證。 [Server] TLS/SSL憑證(Certificate)常用指令 – 製作CSR Nginx設定 Nginx可以在Server block上啟用驗證Client端certificate: server { listen 443 ssl; ssl_certificate /etc/nginx/ssl/public.crt; ssl_certificate_key /etc/nginx/ssl/private.rsa; # Client certificate verification ssl_client_certificate /etc/nginx/ssl/client_ca.pem; ssl_verify_client on; server_name api.my_domain.com; location / { # … } } […]

[AWS] VPC 設定指南 (NAT Gateway)

Intro AWS VPC為提供完整雲端網路架構設定。 VPC NAT Gateway AWS – VPC with Public and Private Subnets (NAT) 以上官網文件與架構圖提供完整概念。 NAT Subnet (僅內網IP可出NAT) 設定流程 建立VPC 建立一個外網subnet(關聯建立Route Table: 0.0.0.0/0閘道接外網IGW),與一個內網subnet(搭配建立Route Table: 0.0.0.0/0閘道先不設定),而同一個VPC下兩個subnet是接通的(兩邊Route Table的共同VPC CIDR接local) 建立一個NAT Gateway(會有一組EIP)且建在外網subnet中。 完成建立NAT Gateway後,再次設定內網subnet關聯的Route Table,增加 0.0.0.0/0接此NAT Gateway 以上網路架構,內網subnet(即NAT Subnet )下的EC2出Internet都會用NAT Gateway的EIP出去。 NAT […]

[OS] MacOS 基本使用架構與環境指南

Intro MacOS雖然是封閉系統,但這年頭應該很難不用到Mac筆電。 使用了Mac筆電意味著BIOS全部走Mac系列。 開機區 MacOS走UEFI,開機時按住指定鍵組: Option: 列出可開機磁區供選擇(如Bootcamp Windows),亦支援Windows開機區。 Command+R: 進入修復工具,包含磁碟工具程式與重新安裝OS X。 重灌 目前MacOS版本的修復工具已有線上OS直接下載安裝支援,連上網路即可只接重新安裝。全新安裝可先清除磁區再安裝。 Windows with MacOS Bootcamp 建議的安裝方式,在MacOS的Bootcamp(啟動切換輔助程式)工具程式分割與引導安裝Windows。目前版本上MacOS還是會每次下載驅動程式,其只需要分割出一個Partition供Windows使用即可。 觸控板捲軸反向問題 以下為原生Bootcamp解法,亦可裝第三方驅動程式解決 Bootcamp的Windows可以在右下角Bootcamp控制台做鍵盤與觸控板設定,另外觸控板反向驅動如果Windows設定內也沒有則可以透過修改登錄檔: 找到觸控板的裝置識別碼 (可以透過Windows觸控板設定更多內容 > 詳細資料 > 屬性:選裝置識別碼或路徑) 登錄檔修改(regedit)內搜尋或找到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ HID \ {裝置識別碼} \ ??? […]

[Dict] Golden Dict 跨平台多格式支援開源字典

Intro Golden Dict官網 Golden Dict GitHub 字典來源 – StarDict Dictionaries 中文字典 – 字典來源 – StarDict Dictionaries 安裝 Windows 直接至官網Download頁面下載即可。 MacOS 官方GitHub Wiki:Early Access Builds for Mac OS X 字典 字典檔的Source可以參考Intro連結。 字典的安裝預設路徑: ./GoldenDict/content 安裝完成後即可Rescan取得進行設定。 MacOS可以進入程式套件資料夾內MacOS/content加入路徑設定掃描

[Apache] PHP + Apache 環境指南 (libapache-mod-php) on Ubuntu

Intro 雖然Nginx已經…如要架設Apache,可以使用Apache mod PHP去介接PHP(目前Apache不使用PHP-FPM)。 安裝 快速LAMP安裝檔 安裝Apache: $ sudo apt-get install apache2 安裝Apache mod PHP $ sudo apt-get install libapache2-mod-php PHP版本切換 Ubuntu Manpage: a2enmod, a2dismod Ubuntu系列使用Aapche指令工具a2dismod與a2enmod切換,省去修改零散設定檔。基本上版本支援已裝的libapache2-mod-php各版本: $ sudo a2dismod php7.0 $ sudo a2enmod php5.6 Apache MOD PHP 設定要至/etc/php/apache2/ Server執行使用者 Apache的執行使用者的設定檔為/etc/apache2/envvars: […]

[Discuz!] 基本架構與環境建置指南 – Discuz!X系列

Intro 官方目前似乎只介紹到X3.2版本,可以參考Discuz! G雲碼專案或官方論壇,同期已經到x3.4。 PHP 相容 x3.2含以前支援PHP 5.6,不支援PHP 7.2 x3.3支援PHP 7.2 MeriaDB 相容性問題 Discuz!在判斷相容MySQL版本目前是使用單純的字串比較,如install\include\install_function.php內: ($dbver > ‘4.1’ ? ” ENGINE=$type DEFAULT CHARSET=”.DBCHARSET : ” TYPE=$type”); 而$dbver一般皆由各version()函式個別從原生mysql_get_server_info()函式取得,所以MeriaDB可能會回傳如10.1.38-MariaDB-cll-lve,而造成比對後是小於4.1版本。 Install修正 Install部分主要使用install\include\install_mysql.php作為$db全域變數,所以修改: function version() { return ‘5.6’; // 直接指定回傳版本 // return mysql_get_server_info($this->link); } 其他修正 Install完後,論壇的使用上還是會有MySQL語系語法判定錯誤問題,各程式各自有function […]