2021年7月25日 星期日
FTP is dead
如今主流瀏覽器 Chrome、Firefox、Edge 都已經淘汰 FTP 的協定,主要原因是 FTP 協定是明碼傳輸,無安全性可言。
但個人認為本來就是 Public Anonymous FTP 並沒有安全性的問題。
替代方案
檔案提供者,多半採用 Web 模式,例如 Linux Kernel 的 https://www.kernel.org/pub/
對用戶而言,大都已習慣使用 sftp
之後若還有機會用到 FTP 協定,可以用 command line ftp (在各大 OS 都還有),或是使用 FileZilla 這種專屬軟體
2021年7月24日 星期六
Google Messages block some particular 6 digits OTP code
前陣子發現的怪問題, Google 預設的簡訊程式 Messages 會阻檔特定格式的 OTP code
用了兩支手機,花了一些簡訊費,交叉測試而得到結論。
以下這個格式會被檔
123456 is your Messages verification code
用 Google Messages 就直接消失,看不到,使用其他簡訊 App 則正常
除了前面數字,後面的字,加一個字母或少一個字母都不會檔喔,改用 5 個或 7 個數字也不會被擋
簡直就像 Regexp Match /^[0-9]{6} is your Messages verification code/ 直接 Drop 一樣。
Google 之後,有人收到類似的 SMS
Dozens of SMS codes being sent to me per day, but no one's asking for them
另一個可能有關聯是這個功能,但 auto-delete 也應該要在一段時間後吧
One-time password auto-delete in Google Messages is arriving in beta
總之是怪問題,先改用 Truecaller 的 SMS
white-space:normal
CSS white-space
white-space:normal 是瀏覽器預設模式,多個空白會自動合併為一個空白,超過欄位寬度自動換行
這個在大部份的情況都沒什麼問題,但若資料的空白數是有差的就需留意了,
下面兩個 div 例子,一個沒有套 style,即預設是 white-space:normal,一個是用 style white-space:pre
原始碼 abc xyz 中間都是兩個空白
第一個例子,顯示成一個空白,複製出來也是一個空白,
第二個例子,使用 white-space:pre之後,才能讓原來的多空白保留原來的樣子, 複製出來也是一樣兩個空白
white-space:normal 並不會套用在輸入框 input 上,不然可能會造成一些問題
2021年7月23日 星期五
Multiplication Trick (乘法的補數算法)
乘法的補數算法,也有人稱印度乘法
這個原理是這樣 95x88
= 95x(100-12)
= 95x100-95x12
= 95x100-(100-5)x12
= (95-12)x100+5x12
適用 2 位數乘 2 位數接近 100 的乘法,若補數相乘超過 100,不會比較快
同樣原理亦適用 4 位數乘 4 位數接近 10000 的乘法,若補數相乘太大,一樣不會比較快
例如: 9998x9992
= 前四位數 9998-8,後四位數 2x8
= 99900016
2021年7月21日 星期三
sftp Received message too long
/etc/ssh/sshd_config 預設是呼叫外部的 sftp-server
Subsystem sftp /usr/libexec/openssh/sftp-server
若環境希望保留執行的 Output,又希望 sftp 正常,把它改成 internal-sftp 就行了
Subsystem sftp internal-sftp
它就會使用程序內建的 sftp-server,不會呼叫外部的 sftp-server,也就不會執行 Shell 環境那些檔案
節錄 man sshd_config
Subsystem
The command sftp-server implements the SFTP file transfer subsystem.
Alternately the name internal-sftp implements an in-process SFTP server. This may simplify configurations using ChrootDirectory to force a different filesystem root on clients.
By default no subsystems are defined.
2021年7月20日 星期二
Taiwan CDC News (台灣衛福部疾管署新聞稿) PHP Class
Microsoft Distro - CBL-Mariner
CBL-Mariner 是微軟內部的 distro,用來建構雲端平台等服務使用,現在開源回饋回去給 Linux 社群。
微軟近年來擁抱開源社群,對 Linux 社群貢獻不少,走向正確的道路。
CBL-Mariner clone 下來有 593M,參考 這篇 文章可以 Build ISO
Build 出來 ISO 大小 (ISO檔在 out/images/full 目錄)
-rw-r--r-- 1 root root 677M 7月 19 09:09 full-1.0.20210719.0904.iso
畢竟是 Server 用的 distro,安裝畫面很基本,沒啥可選,
安裝模式只有兩種 Core or Full
預設都沒有任何服務(sshd也沒有),開機滿快的,
Full 安裝完 / 佔了 1.7G
套件系統是 RedHat 系的 RPM,可以用 dnf 或 tdnf (tiny dnf) 管理套件。
Kernel 5.10.42 滿新的,RedHat 8.x 都沒這麼新 (RedHat 8.x is Kernel 4.18)
2021年7月16日 星期五
DreamHost Pricing Update
DreamHost 是一家老牌的 Share Hosting 公司,1997 年創立,個人從 2005 年八月就開始用它了,
2005 年到 2007 年,DreamHost 非常火熱,吸引了大量的客戶
最近收到通知說要漲價,從每月 $7.95 漲到 $11.95 (USD) 漲幅高達 50%
這 16 年都從未漲過價,現在漲價也屬合理。不過一次漲那麼多,難保造成一些客戶流失。
雖然現在還有 VPS、雲端主機、Docker 微服務等眾多選擇,但 Share Hosting 因為便宜,仍有它的市場,而且競爭依然激烈。
不曉得是運氣好還是管理得好,多年使用期間並沒有遇到資料流失或資安事件等令人不愉快的事件,
整體服務是滿意的,個人漲價後仍會繼續用。
談談它的優缺點
優點:
支援 SSH,這一點是選擇 DreamHost 的主要因素,而且它支援開多個 SSH 帳號,別家支援 SSH 的都只有一個帳號
管理介面操作方便,DreamHost Panel 是自行開發的,對於初學者來說,會比 cPanel 好上手
缺點:
Uptime 不是很好,偶爾會遇到掛掉,通常是 High Loaing 造成無法服務,還算是可以接收的範圍,平均 Uptime 大約在 99.95%
(下圖是自己網站 Statuscake 近一年統計資料)
沒有位於亞洲的 Datacenter,不過這一點大多數 Hosting 都沒有
2021年7月12日 星期一
Linux RPM query change log and CVE
例:
rpm -q --changelog httpd
資料通常還滿長的,可以加 | less 查看,時序是新的在前面
以下節錄 httpd 的輸出資料
* 2021 5月 14 五 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-40
- Resolves: #1952557 - mod_proxy_wstunnel.html is a malformed XML
- Resolves: #1937334 - SSLProtocol with based virtual hosts
* 2021 1月 26 二 Artem Egorenkov <aegorenk@redhat.com> - 2.4.37-39
- prevent htcacheclean from while break when first file processed
* 2021 1月 26 二 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-38
- Resolves: #1918741 - Thousands of /tmp/modproxy.tmp.* files created by apache
* 2020 12月 09 三 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-37
- Resolves: #1883648 - [RFE] Update httpd directive SSLProxyMachineCertificateFile
to be able to handle certs without matching private key
* 2020 11月 30 一 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-36
- Resolves: #1896176 - [RFE] ProxyWebsocketIdleTimeout from httpd
mod_proxy_wstunnel
- Resolves: #1847585 - mod_ldap: High CPU usage at apr_ldap_rebind_remove()
* 2020 11月 11 三 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-35
- Resolves: #1651376 - centralizing default index.html for httpd
* 2020 11月 06 五 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-33
- Resolves: #1868608 - Intermittent Segfault in Apache httpd due to pool
concurrency issues
- Resolves: #1861380 - httpd/mod_proxy_http/mod_ssl aborted when sending
a client cert to backend server
- Resolves: #1680118 - unorderly connection close when client attempts
renegotiation
* 2020 10月 29 四 Lubos Uhliarik <luhliari@redhat.com> - 2.4.37-31
- Resolves: #1677590 - CVE-2018-17199 httpd:2.4/httpd: mod_session_cookie does
not respect expiry time
- Resolves: #1869075 - CVE-2020-11984 httpd:2.4/httpd: mod_proxy_uswgi buffer
overflow
- Resolves: #1872828 - httpd: typo in htpasswd, contained in httpd-tools package
- Resolves: #1869576 - httpd : mod_proxy should allow to specify
Proxy-Authorization in ProxyRemote directive
- Resolves: #1875844 - mod_cgid takes CGIDScriptTimeout x 2 seconds for timeout
- Resolves: #1891829 - mod_proxy_hcheck Doesn't perform checks when in
a balancer
2021年7月11日 星期日
Upgrade PHP 7.4 to 8.0 (remi repo)
dnf -y module enable php:remi-8.0
rpm -qa | grep ^php | xargs rpm -e
dnf -y install php php-opcache php-cli php-pdo php-mysqlnd php-process php-snmp php-ldap php-pecl-zip php-pecl-mcrypt
Android ACCESS_LOCAL_NETWORK permission
目標 SDK 版本 37 以上版本,app 若需要存取區域網網,需要求 ACCESS_LOCAL_NETWORK 權限 Google Play 中的 Termux 在 app 並沒有要求此權限,造成 ping、curl 內網都不會通 ping: sendmsg: Operatio...
-
禁止 LINE 電腦版自動或強制更新的方法 LINE 電腦版啟動都會去連這個更新資訊檔 https://desktop.line-scdn.net/win/v1/real/update_info.json 內容大概長這樣 可以看出針對各版本的更新 type 有 force, ...
-
需先安裝 XZ Utils for Windows 把 xz.exe 放在 PATH 有指到的地方 curl -LOs https://github.com/rocky-linux/sig-cloud-instance-images/raw/Rocky-9.2.20230513...
-
RustDesk 使用上跟 Anydesk, Teamviewer 差不多,也是用 ID + Password 就可以連線 其優點是開源,可以自架 ID/Relay Server 在 Client 裝好的情況下,直接是可以使用的,預設應該是使用 RustDesk 的公共 Ser...
-
xrdp 是 Linux 版的 RDP server (遠端桌面) 它運作時需要 Xvnc 的 libvnc.so, 所以安裝時需要連同 VNC 一起安裝(只需 minimal) dnf -y install xrdp tigervnc-server-minimal system...
-
SQL injection 是個老東西,但 20 幾年過去,它依然健在! 在所有 Web 攻擊,弱點佔比仍然是最高的 NEITHNET 精選講座-資安教室:SQL injection - CYBERSEC 2021 臺灣資安大會 NEITHNET_SQL_injection.pp...
-
本例是從 8.0U3 升到 8.0U3d,若從更舊的版本升級,不確定是否適用 先把所有 VM 關機,進入維護模式 把 depot 升級檔 VMware-ESXi-8.0U3d-24585383-depot.zip 放到機器內 ssh ESXi 先查看 depot 有那些 Prof...
-
現在自架的 Mail Server 若沒有簽章,寄出的信件有很大的機會被擋或歸類在垃圾信 所以 SPF + DKIM 已經是必要的設定 環境 CentOS + Postfix,文中的域名均以 yourdomain.com 作為範例 安裝所需套件 yum -y install py...
-
RouterOS 在 7 版以後支援 WireGuard 註: WireGuard 在 Linux Kernel 5.6 版開始內建 設定滿簡單的,在選單 WireGuard New Interface,Private Key 及 Public Key 不用填,會自動產生 在 I...
-
Bracketed Paste Mode 是 Terminal 為了區分手動輸入及剪貼簿貼上的一種模式, 啟用此模式,貼上的文字區塊會被起始控制碼 ESC [ 200 ~ 及結束控制碼 ESC [ 201 ~ 包住 例如在編輯器貼上一段已經排版好的程式碼,若沒有啟用 Brack...
-
以前都是用 rp-pppoe 套件裡的 adsl-setup 來設定 PPPoE 現在比較新的 Linux 已經沒有這個套件了,要用 NetworkManager 的 nmcli 來設定 設定也很簡單,準備帳號、密碼及網路卡就行了 以下範例帳號是 xxxx@hinet.net 密...