2023年9月7日 星期四

OpenProject專案匯出中文無法顯示問題

 OpenProject可以匯出專案成以下格式:


我OpenProject是架設在Ubuntu 20.04上,查了一下OpenProject處理匯出的功能,從網路上找到這篇文章:

https://feifacunzai.github.io/2022/11/29/OpenProject%E7%9A%84PDF%E4%BA%82%E7%A2%BC%E5%95%8F%E9%A1%8C/#more

但我的OpenProject是13.0.1版本,設定方式稍微不太一樣。我使用的方式如下:

一、找到view.rb這個程式的路徑,如果是採用apt install的方式,應該會是在這個位置:

        /opt/openproject/app/models/work_package/pdf_export$

        

二、找到放置字型的資料夾:

        /opt/openproject/public/fonts/noto$
        

因為用apt install fonts-noto-cjk安裝的字型檔格式為TTC,不確定是否能相容,所以我到這個網站下載繁中TTF字型再上傳到主機。
https://fonts.google.com/noto/specimen/Noto+Sans+TC?preview.text=bold&preview.text_type=custom

我作法如下,將需要的字型放置到OpenProject的字型資料夾,然後到編輯view.rb這個程式,修改幾個地方。
這是預設值:

我調整完的設定:

調整完後,我是作openprojcet configure,重跑設定再去執行匯出中文有成功出現了。
留意一件事,如果在修改view.rb前有習慣先備份一下檔案的人,記得不要把那個備份檔案放置在同一資料夾,會造成openproject configure執行錯誤,要留意。








2021年11月18日 星期四

Ubuntu18.04 Route Table

前言:

  因主機有雙網卡,一張對外,一張對內,原本是用Route指令設定,但可能是我比較笨,沒找到可以永久寫入的指令,因此重開機之後,加的Route Rule會不見,後來改設定到Netplan中就好了。


    ens192:

            addresses:

            - 192.168.0.138/24

            - 192.168.10.15/24

            routes:

                    - to: 172.16.1.1/24      (你要溝通的網段)

                      via: 192.168.0.254    (可以到那個網段的GW)

                      metric: 10                  (Route Table的權值,可參考網路上教學)

            dhcp4: false

            nameservers:

                addresses: []

                search: []


參考資料:https://www.twblogs.net/a/5ca19a96bd9eee5b1a06a6cf

2021年5月3日 星期一

Ubuntu Apache2.4網站資安修補

  一、Directory listings

        修補方式:

        編輯這個檔案/etc/apache2/apache2.conf。

        sudo vi /etc/apache2/apache2.conf

        找到這個內容:

        <Directory /var/www/>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

</Directory>

        修改此行

        Options Indexes FollowSymLinks

        修改成

        Options -Indexes +FollowSymLinks

        重啟Apache2

        sudo systemctl restart apache2

參考資料:

https://www.vultr.com/docs/how-to-disable-directory-browsing-on-apache


二、TLS 1.0 enabled

        修補方式:

       編輯這個 /etc/apache2/mods-available/ssl.conf 檔案。

        找到以下此行設定,加入你不想要開放的,如SSL3.0、TLS1.0等。

        SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

        重啟Apache2

        sudo systemctl restart apache2

參考資料:

https://blog.ijun.org/2017/10/disable-tls-10-and-11-in-apache-24.html


三、Clickjacking: X-Frame-Options header missing

        修補方式:

        找到這個檔案/etc/apache2/conf-available/security.conf

        將此行的註解取消

        #Header set X-Frame-Options: “SAMEORIGIN”

        取消後,執行此一指令

        a2enmod headers

        重啟Apache2

        sudo systemctl restart apache2

參考資料:

http://programmer.hsinchi.info/1999


四、Cookies with missing, inconsistent or contradictory properties、Cookies without HttpOnly flag set、Cookies without Secure flag set

        修補方式:

        執行指令

        a2enmod rewrite

        a2enmod headers

        編輯此一檔案/etc/apache2/apache2.conf

        如果只跑HTTP,請加入此一行

        Header edit Set-Cookie ^(.*)$ $1;HttpOnly

        如果只跑HTTPS,請加入此一行

        Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

        重啟Apache2

        sudo systemctl restart apache2

參考資料:

https://techexpert.tips/apache/apache-enable-httponly-secure-headers/


五、HTTP Strict Transport Security (HSTS) not implemented

        修補方式:

        a2enmod headers

        修改/etc/apache2/sites-enabled/000-default-ssl.conf(請根據自已的環境更改檔案)

        找到<VirtualHost *:443></VirtualHost> 這個區段,在其中加入這行設定:

        Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

參考資料:

https://websiteforstudents.com/lesson-39configure-http-strict-transport-security-hsts-on-apache2/       


        


2021年1月27日 星期三

手動申請Let's Encrypt憑證記錄

 前言:

  申請Let's Encrypt憑證的教學很多,而且大部份都是集中在自動結合Apache等網頁伺服器,或是提供憑證申請的平台,但是因為我的主機是利用Synology NAS中的Web服務來供內網使用,所以不想要讓外部網路能連線到NAS,Synology雖然有提供Let's Encrypt服務,但是都會被我的防火牆阻擋,為了不想要讓使用者瀏灠時,出現憑證不安全的訊息,只好自已手動申請了,一開始是用SSL For Free平台,後來跟ZERO SSL合併,ZERO SSL現在一個免費帳號只提供三個網址,之後就得付費,為了省錢(公司應該不會想要付這筆錢),只好自已手動作了

  我是利用Centos7安裝Certbot來處理的,Centos7要先安裝epel-release:

yum install epel-release

  安裝Certbot:

yum install certbot

因為我們公司自已有DNS主機,所以我沒有跟一些有提供Let's Encrypt的DNS服務商利用他們的平台來自動提供驗證,我是用自已的DNS主機作驗證的。

手動產生憑證指令:

certbot -d example.com  --manual --preferred-challenges dns certonly --server https://acme-v02.api.letsencrypt.org/directory

說明一下,-d後面是要輸入你要的網址,你也可以申請萬用字元的網址,那就是*.example.com,

另外要留意的是--preferred-challenges,因為我是要用DNS驗證,所以後面是帶dns,如果你要用別的方式,就不能用dns。

在驗證的過程中,會要你輸入一組Mail,建議就是利用公司的,之後會再有兩個問題,就按Y就好了,之後會出現這個畫面:


這時候要就要把_acme-challenge.example.com這個網址及它的Value值加到DNS Record中:

_acme-challenge.example.com.       IN      TXT     "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

如果你是自架的DNS Server,要記得網址後面的那個(.)點,我之前就常卡死在這。
加完之後,重啟DNS服務就可以作驗證了。重新Reload Dns服務就能驗證了。

systemctl reload named

驗證完之後,它就會在/etc/letsencrypt/live/中產出一個你申請網址的資料夾,裡面就會有你要的憑證檔再自已人工上傳就可以了。

每90天手動更新憑證指令:

certbot certonly -d example.com --manual --preferred-challenges dns


參考網址:
Certbot安裝:https://www.opencli.com/linux/rhel-centos-install-certbot-get-lets-encrypt-certs
Certbot自產憑證指令:https://www.ichiayi.com/wiki/tech/ssl_letsencrypt
Certbot原廠文件:https://certbot.eff.org/docs/using.html#manual


2020年7月21日 星期二

利用軟體防火牆架設Proxy Server

  因有限制Youtube、Facebook等流量比較大的網站,所以利用一套軟體防火牆來作Proxy Server,主要是為了降低一些防火牆負載,以及頻寬的的佔用。
  這篇文章並沒有此套防火牆的安裝資料,如果有需要,我再另外Po上來。
  為了架設Proxy Server,我試了不少套的軟體防火牆,都各自有一些問題,試到後來就選了這套,相對而言比較穩定一點。那要留意的是,因為原本就有防火牆了,我只是要利用軟體防火牆中的Proxy的功能,所以防火牆這些功能是不要開啟的,一開啟防火牆功能反而會造成內部網路架構更復雜。
  如下圖:我安裝好系統後,是不作Routed、Bridged。

  這是登入後的Dashboard,可以從這邊看到系統資訊,點選Proxy,就能到設定頁面。

  因為我只拿來作HTTP的Proxy,所以只作這個功能的設定,在這些功能中,我只用到「Configuration」、「Access Poilcy」、「Web Filter」這三個,「Authentication」、「AD join」、「HTTPS Proxy」這三個沒有用,因為此套軟體防火牆的Proxy可以驗證完User後才能使用Proxy,它的驗證功能開啟是在「Access Poilcy」中,但是要用什麼樣的方式驗證是在「Authentication」中設定,那「AD join」不用多說,就是可以讓你的帳號驗證跟AD結合,但是我沒試成功,不知道是不是因為我的AD版本太新(Server 2016版),「HTTPS Proxy」並不是它字面上意思,要連到HTTPS並不需要開啟這個服務,因為我英文不是很好,我怕我解說錯誤,總歸來說,要連上HTTPS的網站,並不需要開啟這個服務。

  如果有特殊定義的Port,可以在「Configuration」中的Allowed Ports and ssl ports ?設定,因為Proxy也會影響到內部的Web 服務,如果內部有Web服務是走特別的Port,要記得來這邊增加,不然會連不上。
  另外,如果有網站一直都是顯示一樣的頁面,沒有更新,可以試著到Cache management ?將Cache作Clear cache。

  在開啟「Access Poilcy」之前,要先到「Web Filter」設定Rule,我會建議設定一組Allow、一組Deny,我在測試這套系統的時候,發覺它的Filter Profiles中的自訂名單,修改後套用很容易出問題。


  「Web Filter」建完後,就可以到「Access Poilcy」設定你要開啟或拒絕能上網的網路區段或IP,有修改設定的話,記得作Update policy。

  另外,因為它有提供Web Filter的功能,我有測試了一下,綠色的箭頭代表開放,紅色是拒絕。

  我用「Game」這個單字用Google搜尋後,出現的第一個網站。
  未開啟Web Filter                                                               

  開啟Web Filter後











OpenProject專案匯出中文無法顯示問題

 OpenProject可以匯出專案成以下格式: 我OpenProject是架設在Ubuntu 20.04上,查了一下OpenProject處理匯出的功能,從網路上找到這篇文章: https://feifacunzai.github.io/2022/11/29/OpenProje...