建立可用來呼叫鼎新電子表單easyflow web service的開發環境

鼎新電子表單EasyFlow GP版本, 提供 web service 呼叫 .但是鼎新只會給web service的說明文件, 並不會技轉建立開發環境., 我因此研究了數天, 將建立開發環境的說明文件製作出來,

接下來如何開發, 就是自身能力的問題, 網路很多資源, 可幫助學會這10多年前就已經成熟的web service,

https://docs.kafeiou.pw/!/#iammis/view/head/%E6%8A%80%E8%A1%93%E6%96%87%E7%AB%A0/HowTo/10032_eclipse%E5%BB%BA%E7%AB%8B%E5%8F%AF%E5%91%BC%E5%8F%AB%E9%BC%8E%E6%96%B0webservice%E7%9A%84%E7%92%B0%E5%A2%83.docx

Mac上好用的快速複製工具 TeraCopy

我的主機要從黑蘋果換到白蘋果(MacMini 2018), 雖然效能變差了, 但穩定性變好了, 更新也不用擔心, 有好有壞,
因為MacMini無法擴充原本的硬碟, 只好外掛usb硬碟(我是買外面需要外掛電源的擴充座,效果很不錯)

最後安裝TeraCopy這個軟體, 就可以快速把原本的資料複製過去囉

virtualbox 安裝win10 開機正常, 登入卻很異常緩慢

我遇到的是防毒軟體造成的, 使用的是先前建議 comodo antivirus, 它會造成登入異常緩慢, 但是我找不到解決方式, 最後只好更換防毒軟體. 改成 AVG antivirus , 這個軟體有個特異功能, 可設定開機之後再啟動, 這樣就可以解決登入時, 防毒軟體立即啟動, 造成登入緩慢的狀況, 當然既然使用了vm , 雖然安全上要注意一定要安裝防毒軟體, 但有時候也是視情況通融, 讓延遲啟動的動作出現小小的空窗期.

windows server的時間校正

昨天晚上新北市發生了4級地震, 伺服器出了問題, 確認問題在於NAS資料異常, 於是vm就跟著異常.

我修復完成後, VM陸續啟用, 此時發生主要網域伺服器時間錯誤的問題, 慌忙下先手動更新, 但是沒多久時間又錯亂了, 真是困擾.
於是我想起前一陣子我把主要網域主控從A交棒給B, 然後A退位不再使用, 經過檢查(w32tm /monitor) 發現主要網域伺服器B的時間校正, 居然參考A, 而A未開機, 難怪出問題.

最後將B的參考主機改成外面的時間服務器, 就一切正常了.

w32tm /config /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" /syncfromflags:manual /reliable:yes /update


當然其他C,D擔任副網域伺服器, 應該設定成主要網域伺服器B的ip, 並不需要參考外面的時間服務器, 這樣就可以讓所有的網域服務器時間都一致了.

jitsi meet效能調教(ubuntu)

** 設定檔案要備份
** 若原本設定檔案沒有以下建議的設定值,可以不要強制加上去

  1. 啟用硬體加解密功能
    切記一定要啟動硬體編碼 AES , 讓 nginx 能以較優的加解密速度連線


2. 修改相關設定檔案
/etc/jitsi/meet/<網域名稱>-config.js

##強制設定名稱
 requireDisplayName: true,
## 預設只開語音,不開視訊
 startAudioOnly: true,
## 取消測量聲音等級(並且取消顯示等級)
 disableAudioLevels: true,
## 取消偵測是否有聲音模組
 enableNoAudioDetection: false,
## 取消麥克風的雜音偵測
 enableNoisyMicDetection: false,
## 靜音
 startAudioMuted: 1,
 startVideoMuted: 1,    
## 畫質相關
 enableLayerSuspension: true,
 resolution: 360,
 constraints: {
   video: {
     frameRate: {
       max: 10,
       min: 5
     },
     height: {
       ideal: 360,
       max: 360,
       min: 120
     }
   }
 },

/usr/share/jitsi-meet/interface_config.js

SET_FILMSTRIP_ENABLED: false,
DISABLE_VIDEO_BACKGROUND: true,
DISABLE_FOCUS_INDICATOR: true,
DISABLE_DOMINANT_SPEAKER_INDICATOR: true,
DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,

/etc/jitsi/videobridge/logging.properties

.level=WARNING
java.util.logging.FileHandler.level = OFF

/etc/jitsi/videobridge/sip-communicator.properties

org.jitsi.videobridge.DISABLE_TCP_HARVESTER=false

/etc/jitsi/jicofo/sip-communicator.properties
** 改成使用VP9, 建議使用chrome瀏覽器, 而且jitsi-meet要安裝2020-12-10以後的版本

org.jitsi.jicofo.ENABLE_H264=false
org.jitsi.jicofo.ENABLE_VP8=false
org.jitsi.jicofo.ENABLE_VP9=true

/etc/systemd/system.conf

DefaultLimitNOFILE=1024:524288 
DefaultLimitNPROC=65000 
DefaultTasksMax=65000 

3. 重開機

另外也可以在瀏覽器連結的後面加上 #config.p2p.enabled=false

參考連結

我的大意造成一件郵件資安事件

是這樣的, 我前幾個月, 在郵件服務器(postfix+dovecot)上面, 加上一個能支援vacation休假回覆功能的設定 managesieve
在 dovecot掌管認證的10-auth.conf, 開通支援靜態認證的設定 auth-static.conf.ext , 並且在該設定加上

passdb {
driver = static
args = nopassword=y
}

代表不需要密碼就能通過認證, 專門給 managesieve 休假功能使用的


但是沒想到這是個錯誤的設定, 居然讓所有的帳號以imap方式, 不需要密碼就能登入(發信會失敗, 因為發信一定要密碼正確) , 好險我這系統帳號與email是不一樣的, 很難猜到哪個帳號使用哪個EMAIL ,所以一直都沒有問題.
直到我發現改了自己帳號的密碼, 居然還是可以用舊密碼登入, 看了log 才驚覺問題大了, 趕緊研究問題所在, 本來誤以為是roundcubemail , 或是postfix 被入侵了, 但測試卻不是, 最後才發現是 auth-static.conf.ext 的設定出錯了, 改成以下這樣, 讓外面使用imap登入的帳號無法適用靜態登入, 就沒有安全上的問題了.

passdb {
driver = static
args = proxy=y host=localhost nopassword=y
}

CentOS 7.8 上安裝fail2ban

fail2ban 很好用, 可用來監控server的log, 智慧型增加防火牆設定, 阻擋暴力入侵.

但是google查詢 fail2ban ,可以發現一大堆設定, 嘆為觀止. 實際安裝起來真是“容易卻很艱難, 簡單又極複雜”.

最近我用自製的 docker快速建立支援Active Directory的Mail Server , 透過網域主控站, 管理郵件伺服器的帳號, 非常方便.

但是我卻遇到暴力破解帳號密碼的攻擊.

主機在越南, 該ip以前就曾被列入黑名單, 有可能過去”被用來“做壞事, 在吃好幫相報的效應下, 超級有名氣!
想當然這個ip被白道認定是壞主機要防禦, 黑道認定是好主機要入侵, 名符其實”被欺負又被全世界討厭的感覺”

tail 一下maillog , 真是不得了, 隨時隨地都有ip嘗試暴力入侵, 每分鐘大概有千次sasl auth連線入侵紀錄.

由於先前安裝mail server, docker 並沒有加上 –net=host , 所以log看不出來從哪個ip入侵,
因此使用我的docker mail server , 必須加上 –net=host 的參數, 使用fail2ban才有意義.

此外預設 fail2ban 查看的log跟docker不同, 需要注意一下 , fail2ban的 jail.local 參數backend要改用auto.

以下是安裝紀錄:

1. 安裝套件
***2020-12-10更新, 若系統運行很久才裝, 要考慮之前已預裝的fail2ban, 請先移除先前所有fail2ban套件,以及/etc/fail2ban的目錄後,再重新安裝

yum install epel-release -y
yum install fail2ban fail2ban-all fail2ban-systemd
systemctl enable fail2ban

2. 建立jail.local
postfix-sasl : 30分鐘入侵3次就關進監獄,關一天 ,
recidive: 一個月兩次進監獄的累犯關一年

vi /etc/fail2ban/jail.local
###############################
[DEFAULT]
# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport

[postfix-sasl]
enabled = true
bantime  = 86400
findtime  = 1800
maxretry = 3
filter   = postfix[mode=auth]
logpath = <docker maillog>
backend  = auto

[dovecot]
enabled = true
maxretry = 3
bantime  = 86400
findtime  = 1800
filter = dovecot[mode=aggressive]
logpath =  <docker maillog>
backend  = auto

[recidive]

enabled  = true
bantime  = 31536000  ; 1 year
findtime = 18144000  ; 1 month
maxretry = 2
logpath = /var/log/fail2ban.log
backend = auto
###############################


3. 啟用fail2ban

systemctl start fail2ban


4. 查看狀態

fail2ban-client status postfix-sasl


5.手動解除

fail2ban-client set postfix-sasl unbanip <IP>

spamassassin阻擋廣告信,請不要用 RDNS_NONE

https://pasztor.at/blog/fixing-rdns_none-with-spamassassin/

原本很開心找到這個判斷 RDNS_NONE , 可以透過檢查該ip是否有反解名稱reverse dns, 若沒有反解名稱, 大概就能確定絕對不是正規的郵件伺服器.

可是後來發現很多時候會造成誤判, 例如寄信的電腦ip是10.x.x.x 是內部ip, 本來就無法取得rdns, 但是還是被認定是RDNS_NONE, 無奈下, 只好把這判斷拿掉.

你必須懂的postfix+amavisd擋廣告順序

就連我都會誤解!
以為只要在postfix的main.cf裡面設定各式各樣的擋廣告方式(包含參考黑名單網站),就可以高枕無憂了,
可是事情並不是我們憨人想得這麼簡單
擋廣告總有順序的.

  1. amavisd 優先
    這部分很重要,有時候很多廣告商,都利用gmail , amazons發送廣告信, amavisd 很容易直接pass, 要解決這問題, 就只能土法煉鋼, 將廣告的網域,email寫到amavisd的黑名單上.
  2. postfix 次要
    若amavisd認定pass , 這邊再怎麼設定都沒用, 因為根本不會跑到這裡來.
    若amavisd沒有認定pass, 也沒認定是廣告(分數不足), 就會跑到這裡來,

我的設定, 就是讓amavisd可以定義黑白名單, 接下來才是設定postfix本身的名單限制
推薦看一下我製作的docker mail server設定
https://github.com/WilliamFromTW/docker-Postfix-AD

1 ... 34 35 36 37 38 ... 75