關於網路那些事...

Marketing, SEO, Web trends, Programming tutorial, Web design, and Life event...

防駭,資料庫遭入侵勒索的安全應對機制

近期,公司營運多年的舊有專案,十幾套系統發生同時無法連線問題,查明原因發現資料庫被入侵,資料被清空,root密碼被更改,以及留下一個 PLEASE_READ_ME_MXG 資料表,內容如下:

WARNING
To recover your lost data : Send 0.05 BTC to our BitCoin Address and Contact us by eMail with your server IP Address or Domain Name and a Proof of Payment. Any eMail without your server IP Address or Domain Name and a Proof of Payment together will be ignored. Your File and DataBase is downloaded and backed up on our servers. If we dont receive your payment,we will delete your databases.

Bitcoint_Address
xxxxxxxxxxxxxxxxxxxxxxxxxx

Email
xxx@hello-database.xyz

在搜尋過相關類似攻擊 Your File and DataBase is downloaded and backed up on our servers 的真實性不高,事實上,在連線後資料就已經被刪除 ref

所以,如果你也遇到同樣遭遇,千萬別充值!

回歸到話題,關於系統資料庫由於每天都有做雲端備份,所以接下來要復原其實不是太大的問題。

慘痛之中,還是必須保持鎮定,掌握處理的步調

先開出任務清單,召集幾個 MIS 進行研擬狀況及對策,進行處理

Continue Reading

CSS3 將背景圖套用在文字上的做法 (文字作為圖片遮罩)

CSS3 -webkit-background-clip:text;

CSS3 -webkit-background-clip:text; 將背景套用在文字上的做法,首先透過外層設定背景圖片,內部文字顏色調整為透明 color: transparent; ,即可達成文字作為 mask 遮罩裁剪圖片,呈現出文字樣式。

Continue Reading

GCP 輪動更新,haproxy 鎖定固定 IP 方式

在我們現有產品中,GCP 的測試機IP是固定的,輪動更新則會變動IP 這裡透過 haproxy 讓輪動更新的 3306 都會指向測試機,再由測試機連向 SQL SQL 只要將白名單設定為測試機IP即可

Continue Reading

研發技術團隊如何訂立 KPI 指標及抉擇

研發技術團隊如何訂立 KPI 指標及抉擇

最近公司針對整體專案系統及KPI再進行整頓,因此被上級問到:研發部門團隊是否有適當的KPI指標可以作為參考?

針對這個問題,大致花了一點時間,整理了目前軟體管理的論述及自身想法:

公司經營靠 KPI 管理

公司組織,通常都會透過KPI來讓公司朝向成功事業的方向前進,而不是只單純看軟體開發的狀態。

流程大致是,由公司設定目標,並且由各層組織進行分配建立相對應KPI,公司會依照KPI作為獎懲依據,以利於整體效率管理。

那軟體開發的 KPI 呢?

Continue Reading

解決RAM不足問題 - 在 Linux 新增 Swap 虛擬記憶體

解決RAM不足問題 - 在 Linux 新增 Swap 虛擬記憶體

建立 Swap 虛擬記憶體儲存空間

一般建立 Swap 記憶體,大小通常會設定在實體記憶體的 1到 2倍。

以一台 1Gb 記憶體的主機而言,我們在這裡建立 2G的 Swap 虛擬記憶體儲存空間。

首先,在 var 透過 fallocate 建立 swapfile 資料夾,fallocate 可指定預留資料夾空間,以及權限設定為 root 可讀寫

Continue Reading

CSS 限制內容字數寬度或行數,超過顯示刪節號...

CSS 限制內容字數寬度或行數,超過顯示刪節號…

簡單記錄透過 CSS 來限制字數寬度或行數做法,可以將長篇的文章進行截斷,並且結尾以點點點方式呈現

在版面需要對其實,是相當好用的方式。

Continue Reading

使用正確 ssh pem keygen 仍無法登入問題:Host key verification failed. 解決方式

在某次更換主機的公鑰之後,拿變更後的 ssh keygen 登入主機,卻發生登入錯誤訊息

ssh -i ~/.ssh/mykeygen.pem root@xxx.xx.xxx.xx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Please contact your system administrator.
Add correct host key in /Users/elite/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/elite/.ssh/known_hosts:10
ECDSA host key for xxx.xx.xxx.xx has changed and you have requested strict checking.
Host key verification failed.

Continue Reading

Mac OS 安裝 Python 3 方法及建議

Mac OS 安裝 Python 3 方法及建議

Mac OS X 預設安裝了 Python 2.7.10 版本

$ python --version
Python 2.7.10

這裡說明如何安裝 python3

Continue Reading

Goaccess Nginx日誌分析

Goaccess Nginx日誌分析

Mac 安裝

brew install goaccess

Continue Reading

Kubernetes 簡介 - 初體驗

K8s 簡介 K8s 是以 Google 的內部使用十多年的容器編排管理平台 Borg 為基礎原形所實現 萬個機器節點,以及幾千個到幾十萬個 pod (容器組),每週都會部署20多個容器 容器編排管理 部署微服務架構 雲平台可移植的層 容器編排管理 單一個 container 並不能提供開發者太多的好處,因為開發及生產場景往往需要複雜的交互,需要多個容器同時並行協同工作,以及跨組織的管理 因此,K8s 就作為 container 編排,可跨主機管理的最佳利器 K8s 以 Pod 為基本容器組,每個 Pod 只做一件事,可以將 Pod 進行編排調度,以及聲明他的物件配置模型(Controller, configmap, secret…)

Continue Reading

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式

Laravel - PHP 將 Textarea 文字內容轉出 Word docx 格式 最近,需要處理學生考試系統希望能將筆試的內容轉出為 word 格式,以利於批改老師能夠使用追蹤修訂功能進行批改。 在這裡做一個紀錄及範例,如何將 Textarea 文字內容 安裝 Library 首先,在Laravel 專案直接安裝 PHPWord Library composer require phpoffice/phpword 輸出文字為 Word 檔案 先建立好 Controller 之後,直接實作範例如下:

Continue Reading

AWS 擴充 EBS 動態硬碟容量流程

AWS 目前系統工作流程已經非常簡單 對於EBS硬碟容量不夠,需要擴充時,只要三個步驟就能完成: instance 停機 Elastics block store > Volumes > 勾選 volume,並於 Action 下拉選單選取 Modify volume > 調整數值(單位GB) 啟動 instance

Continue Reading

MySQL 搜尋並取代 http 為 https 方法

MySQL 搜尋並取代 http 為 https 方法 在資料庫存取的連結,需要將所有 http 開頭的連結改為 https 可以透過以下方法直接一次完成 UPDATE table_name set url_columns = REPLACE(url_columns, 'http:', 'https:') WHERE url_columns like 'http:%'; 例如 pdf 資料表的 path 欄位需要行搜尋http並取代為https: UPDATE pdfs set path = REPLACE(path, 'http:', 'https:') WHERE path like 'http:%'; 如果有些欄位並非單純連結,例如,用 json 來存取網址

Continue Reading

避免SSH連線超時自動中斷設定

避免SSH連線超時自動中斷設定

這裡說明如何避免 SSH 連線超時自動中斷的問題

這裡使用的方式,是透過固定時間發送一個“Keep Alive”訊號給 server

設定方式,MAC OS 及遠端server 都要設定

先在 ~/.ssh/ 新增或編輯 config 檔案

Continue Reading

GO-Trust ID 讓手機成為登入的鑰匙

GO-Trust ID 讓手機成為登入的鑰匙

ID is me, even my door key.

GO-Trust 是 FIDO (Fast Identity Online)聯盟的成員,聯盟的主要目的是以“消滅密碼”為首要任務。

目前,GoTrust 已擁有9項認證及25項專利,並且在2018年獲得阿里巴巴創投基金融資,有望讓未來無密碼登入有更近一步的突破。

Continue Reading

Gmail (G Suit) SMTP 發信人數限制用量說明

Gmail (G Suit) SMTP 發信人數限制用量說明

Google 提供了免費的寄信服務,但天下沒有白吃的午餐

在每日寄信的數量還是有一定的限制

只要超過指定數量,就會收到 Google 寄來的提示信,說明「您已經達到郵件傳送數量上限」

關於服務,則主要可以區分為 Gmail 一般用戶與 G Suit Gmail 用戶

Continue Reading

小程序發展簡記

小程序未來發展簡記

用完即走概念

以 HTML5 技術進行開發,點開即玩的軟體概念,在微信的小程序, Facebook的 Instant Games, Line 的 Line Quick Game(LQG)都是如出一徹。

但這項軟體開發利多,後來產生了一些變革,原因主要在於蘋果針對支付方面的策略進行調整,導致多提供相關服務的平台,不得不跟著調整或者下架。

Facebook 由於以自家廣告盈利為主,因此在iOS策略還是小心翼翼的方式配合著蘋果策略演進,但 Line Quick Game 在 2018年10月遇過支付的問提,進行停擺一段時間,而微信也難免受到影響,以下進行大致說明:

Continue Reading

Kubernets dashboard

Kubernets dashboard Kubernets (k8s) 是一個開源的系統,可以用於自動部署,彈性拓展,以及管理容器應用程式。 可以將 containers 統整成 group,並且統一放到一個 Node 的邏輯單元進行管理,及直接用在各種正式的 server 環境。而 Google 就是以這樣的管理模式,每週管理超過數十億個容器,並且在不增加負擔的情況下,輕鬆地完成擴大規模。 在 Docker for mac 預設就提供了 k8s 的安裝 只要開啟 preferences 介面,就會看到 k8s 選項 在這裡我們將它直接啟動,並且同時勾選 Show system containers(advanced) ,就能看到自動安裝 Kubernetes 相關的 containers

Continue Reading

如何設定 laradock nginx & php 上傳檔案限制

如何設定 laradock nginx 上傳檔案限制 (error 413 Request Entity Too Large)

在 laradock 包含的 nginx 預設最大上傳檔案限制在 20Mb

假設需要將限制調整到 40Mb

作法如下:

Continue Reading

Page Keygen 防止使用者同時開啟多視窗瀏覽同一個頁面

Page Keygen 防止使用者同時開啟多視窗瀏覽同一個頁面

在現有維護的專案中,其中一個教學系統提供影片單元,

可以讓學生觀看教學影片,並且紀錄學生在各單元影片的學習進度及完成度。

卻發現有部分學生透過開啟多個瀏覽器,或者跨不同裝置來同時播放教學影片的方式快速累積完成度。

為了防止這種狀況,針對這個問題,設計了 Page keygen 的方式來進行處理:

Continue Reading