建立可用來呼叫鼎新電子表單easyflow web service的開發環境
鼎新電子表單EasyFlow GP版本, 提供 web service 呼叫 .但是鼎新只會給web service的說明文件, 並不會技轉建立開發環境., 我因此研究了數天, 將建立開發環境的說明文件製作出來,
接下來如何開發, 就是自身能力的問題, 網路很多資源, 可幫助學會這10多年前就已經成熟的web service,
鼎新電子表單EasyFlow GP版本, 提供 web service 呼叫 .但是鼎新只會給web service的說明文件, 並不會技轉建立開發環境., 我因此研究了數天, 將建立開發環境的說明文件製作出來,
接下來如何開發, 就是自身能力的問題, 網路很多資源, 可幫助學會這10多年前就已經成熟的web service,
我的主機要從黑蘋果換到白蘋果(MacMini 2018), 雖然效能變差了, 但穩定性變好了, 更新也不用擔心, 有好有壞,
因為MacMini無法擴充原本的硬碟, 只好外掛usb硬碟(我是買外面需要外掛電源的擴充座,效果很不錯)
最後安裝TeraCopy這個軟體, 就可以快速把原本的資料複製過去囉
我遇到的是防毒軟體造成的, 使用的是先前建議 comodo antivirus, 它會造成登入異常緩慢, 但是我找不到解決方式, 最後只好更換防毒軟體. 改成 AVG antivirus , 這個軟體有個特異功能, 可設定開機之後再啟動, 這樣就可以解決登入時, 防毒軟體立即啟動, 造成登入緩慢的狀況, 當然既然使用了vm , 雖然安全上要注意一定要安裝防毒軟體, 但有時候也是視情況通融, 讓延遲啟動的動作出現小小的空窗期.
昨天晚上新北市發生了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, 並不需要參考外面的時間服務器, 這樣就可以讓所有的網域服務器時間都一致了.
** 設定檔案要備份
** 若原本設定檔案沒有以下建議的設定值,可以不要強制加上去
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
}
先前曾經遇到有的人excel能看到一維條碼, 有些人卻不行,
原來是沒有相對應的字型, 只要裝上字型, 就可以在excel的內容前後要加上米字符號「*」,再點選該欄位的字型為free3of9,
就能顯示出條碼了
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>
https://pasztor.at/blog/fixing-rdns_none-with-spamassassin/
原本很開心找到這個判斷 RDNS_NONE , 可以透過檢查該ip是否有反解名稱reverse dns, 若沒有反解名稱, 大概就能確定絕對不是正規的郵件伺服器.
可是後來發現很多時候會造成誤判, 例如寄信的電腦ip是10.x.x.x 是內部ip, 本來就無法取得rdns, 但是還是被認定是RDNS_NONE, 無奈下, 只好把這判斷拿掉.
就連我都會誤解!
以為只要在postfix的main.cf裡面設定各式各樣的擋廣告方式(包含參考黑名單網站),就可以高枕無憂了,
可是事情並不是我們憨人想得這麼簡單
擋廣告總有順序的.
我的設定, 就是讓amavisd可以定義黑白名單, 接下來才是設定postfix本身的名單限制
推薦看一下我製作的docker mail server設定
https://github.com/WilliamFromTW/docker-Postfix-AD