2024年10月5日 星期六

MySQL Workbench 管理資料庫

 MySQL Workbench 管理資料庫

  1. 說明

使用 MySQL Workbench 工具,透過 SSH 通道來連接遠端 MySQL 伺服器的安全方式管理遠端資料庫。

  1. 環境

遠端伺服器

  • Ubuntu 22.04

  • MySQL 8.0.38

    • /etc/mysql/mysql.conf.d/mysqld.cnf,bind-address = 127.0.0.1, 此設定為限本機連線。

  • SSH

Local 機器

  • Windows 11

  • MySQL Workbench


  1. 設定

  • SSH 伺服器設定「AllowTCPForwarding yes」

AllowTCPForwarding 是 SSH 伺服器的一個設定項目,用來控制是否允許客戶端透過 SSH 連線建立 TCP 轉發。

當此設定為 yes 時,SSH 客戶端可以建立 SSH 隧道,將本地端口轉發到遠端伺服器的其他端口。這意味著,你可以透過 SSH 連線,將本地應用程式(例如 MySQL Workbench)連接到遠端伺服器的 MySQL 資料庫。


安全性考量

風險: 允許 TCP 轉發可能會帶來一些安全風險,例如,惡意使用者可能利用 SSH 隧道進行端口掃描或其他攻擊。

建議:

  • 限制訪問: 只允許特定的用戶或 IP 地址進行 SSH 連接。

  • 使用 SSH 密鑰: 避免使用密碼,使用 SSH 密鑰進行身份驗證。

  • 定期更新 SSH 服務器: 及時修復安全漏洞。

  • 監控 SSH 日誌: 定期檢查 SSH 日誌,發現異常活動。



$ sudo vim /etc/ssh/sshd_config 

AllowTCPForwarding yes  #將此行之註解符號刪除,如未使用在註解。

$ sudo sshd -t

$ sudo systemctl restart sshd


  •  MySQL Workbench 中設定 SSH 連線

建立新連線:

開啟 MySQL Workbench,點擊「+」按鈕建立新的連線。

選擇「Standard TCP/IP over SSH」作為連線類型。


填寫連線資訊:

  • SSH 主機名: 輸入 SSH 伺服器的 IP 地址或域名,以及端口號(通常為 22)。

  • SSH 用戶名: 輸入用於 SSH 連線的用戶名。

  • SSH 密碼: 輸入 SSH 密碼。建議使用 SSH 密鑰來增強安全性。

  • SSH 密鑰文件: 如果使用 SSH 密鑰,指定密鑰文件的路徑。

  • MySQL 主機名: 通常為 127.0.0.1,表示連接本地 MySQL 伺服器。

  • MySQL 伺服器端口: 通常為 3306。


測試連線:

點擊「Test Connection」按鈕測試連線是否成功。


2022年8月5日 星期五

Windows Server 2022 、 IIS 10、遠端桌面,停用TLS 1.0、TLS 1.1協定、停用3DES加密套件、停用Diffie Hellman KeyExchangeAlgorithms。

停用TLS 1.0、TLS 1.1協定、停用3DES加密套件、停用Diffie Hellman KeyExchangeAlgorithms。

環境:
Windows Server 2022

IIS 10
已啟用HTTPS或主機有啟用遠端桌面

修改方式:
透過修改機碼的方式,先執行regedit.exe,並至路徑[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL]。

停用TLS 1.0
1.在Protocols目錄下新增機碼,名稱輸入「TLS 1.0」。
2.在TLS 1.0目錄下新增機碼,名稱輸入「Client」及「Server」。
3.於Client目錄中新增DWORD(32位元值),名稱輸入「DisabledByDefault」,確認值為1。
4.於Server目錄中新增DWORD(32位元值),名稱輸入「DisabledByDefault」,確認值為1。
5.於Server目錄中新增DWORD(32位元值),名稱輸入「Enabled」,確認值為0。

停用TLS 1.1
1.在Protocols目錄下新增機碼,名稱輸入「TLS 1.1」。
2.在TLS 1.1目錄下新增機碼,名稱輸入「Client」及「Server」。
3.於Client目錄中新增DWORD(32位元值),名稱輸入「DisabledByDefault」,確認值為1。
4.於Server目錄中新增DWORD(32位元值),名稱輸入「DisabledByDefault」,確認值為1。
5.於Server目錄中新增DWORD(32位元值),名稱輸入「Enabled」,確認值為0。

停用3DES加密套件
1.在Ciphers目錄下新增機碼,名稱輸入「Triple DES 168」。
2.於Triple DES 168目錄中新增DWORD(32位元值),名稱輸入「Enabled」,確認值為0。

停用 Diffie Hellman KeyExchangeAlgorithms
1.在KeyExchangeAlgorithms目錄下新增機碼,名稱輸入「Diffie-Hellman」。
2.於Diffie-Hellman目錄中新增DWORD(32位元值),名稱輸入「Enabled」,確認值為0。

2022年5月10日 星期二

Ubuntu SFTP設定

環境:
OS:Ubuntu 22.04 Server

目的:
  • 使用加密連線
  • 使用 SFTP 協定登入 OpenSSH 伺服器時,預設使用者可以任意的在檔案系統間遊走,因安全的理由透過 chroot() 的方法將使用者限制在(chroot) 特定目錄下,讓他不能跑到其他目錄瀏覽資料。
  • 設定完成之帳號,僅可使用SFTP 協定登入,無法使用ssh登入。

步驟:
1.確認openssh版本>4.8
$ ssh -V

2.建立SFTP用群組
$ sudo groupadd sftp_group

3.將使用者加入SFTP用群組
$ sudo usermod -G sftp_group <使用者帳號>

4.查帳號是否正確加入群組
$ grep sftp_group /etc/group

5.確認home目錄與有者權限為root:root,755。
$ ls -ld /home
drwxr-xr-x   8 root root  4096 May 10 01:08 home

6.確認使用者home目錄與有者權限為root,755。
$ ls -ld /home/<使用者帳號>
drwxr-xr-x 6 root <使用者帳號> 4096 Apr 10 03:47 <使用者帳號>

$ sudo chown root /home/<使用者帳號>

7.禁止使用者以ssh登入shell
$ sudo vim /etc/shells
加入/bin/false

$ sudo usermod -s /bin/false <使用者帳號>

8.設定SSH Config檔案
$ sudo vim /etc/ssh/sshd_config

#Subsystem       sftp    /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server

Match Group sftp_group
        ChrootDirectory %h
        X11Forwarding no
        AllowTcpForwarding no
        PermitTTY no
        ForceCommand internal-sftp

9.測試config後重啟sshd
$ sudo sshd -t
$ sudo systemctl restart sshd


10使用FileZilla以22port連線測試

2021年5月25日 星期二

Ubuntu Apache 2.4 設定X-Frame-Options,避免點選劫持 (clickjacking) 的攻擊。

環境:
OS:Ubuntu 20.04 Server
Apache:2.4


設置此標頭將防止其他站點將來自該站點的頁面嵌入為框架。 這可以防禦點擊劫持攻擊,避免點選劫持 (clickjacking) 的攻擊。(防止釣魚網站透過iframe來籤入自己的網站。)


X-Frame-Options回應標頭可用值有:
DENY:瀏覽器拒絕當前頁面載入任何Frame頁面
SAMEORIGIN:frame頁面的地址只能為同源域名下的頁面
ALLOW-FROM:origin為允許frame載入的頁面地址


設定方式:
(1)啟用mod_headers
sudo a2enmod headers
sudo systemctl restart apache2

(2)設定
sudo vim /etc/apache2/conf-enabled/security.conf (預設已啟用此modules)

#將下列一行註解移除
Header set X-Frame-Options: "sameorigin"

(3)重啟服務
sudo systemctl restart apache2

2020年6月17日 星期三

Apache 2.4 新增HTTP VirtualHost

環境:
OS:Ubuntu 18.04 Server
Apache2.4
網站目錄:/www/example1
domain name:www.example1.com

1.增加網站目錄之權限設定
cd /etc/apache2/conf-available/
sudo vim example1.conf

#於example1.conf中加入下列設定,可參考apache2.conf中之<Directory /var/www/>之設定。
<Directory /www/example1>
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

2.啟用設定
sudo a2enconf example1
sudo systemctl reload apache2

3.新增HTTP之VirtualHost
cd /etc/apache2/sites-available
sudo cp 000-default.conf example1.conf
sudo vim example1.conf

#內容設定如下
<VirtualHost *:80>
    ServerName www.example1.com
    ServerAdmin admin@www.example1.com
    DocumentRoot /www/example1

    ErrorLog ${APACHE_LOG_DIR}/error_example1.log
    CustomLog ${APACHE_LOG_DIR}/access_example1.log combined
</VirtualHost>

4.啟用網站
sudo a2ensite example1.conf
sudo systemctl reload apache2

5.試試瀏覽網頁 http://www.example1.com

2019年9月11日 星期三

於windows 10 中讀取副檔名為HLP的說明檔(以Powerbuilder 10.5之說明檔為例)

環境:windows 10 64bit


1. 先取得XP作業系統內之winhlp32.exe,我使用的版本為5.1.2600.5512。(我於windows 7 中取得的winhlp32.exe檔案是無法成功使用,會出現錯誤訊息「(9009)」。)




















2. 取得PowerBuilder 10.5的說明檔,預設路徑如下:
C:\Program Files (x86)\Sybase\PowerBuilder 10.5\Help\PBHLP105.HLP


3. 將PBHLP105.HLP按滑鼠左鍵拖曳到winhlp32.exe上後放開滑鼠左鍵,即會以winhlp32.exe開啟PBHLP105.HLP檔案。









4. 成功於windows 10 中開啟HLP檔。

2018年10月27日 星期六

中油國光牌環保去漬油

在中油直營站購買環保去漬油0.5L只要35元,適用電子、鐘錶、懷爐、家電產品清洗用,其他管道如網購、大賣場、五金行等售價皆高於此價格,中油直營站滿多的,所以有需要的朋友直接去中油直營站購買即可,還會開發票。