生活随笔
收集整理的這篇文章主要介紹了
esxi root 密码规则_陌陌风控系统静态规则引擎aswan
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
陌陌風控系統靜態規則引擎,零基礎簡易便捷的配置多種復雜規則,實時高效管控用戶異常行為。
【名詞解釋】
策略原子:基于用戶行為數據進行異常判斷的基礎元素,如設備黑名單、手機號黑名單等
管控原子:用戶命中策略原子后對應的管控措施,如短信驗證碼、滑動驗證碼等;
規則:基于不同業務點建立的規則ID,由多條策略原子+管控原子構成;
錯誤提示碼:用于前端規則命中后的提示,便于運營人員排查問題,解決問題。
【方案設計簡介】
規則配置:用于不同業務點的規則配置;
策略配置:用于設置策略原子及策略原子;
數據源配置:基于業務數據而設置的數據來源key,用于風控策略的運算;
數據統計:用戶命中規則的數據統計與展示;
【使用說明】
當一個業務需要接入風控系統進行管控時,通過以下步驟進行配置
1. 建立該業務數據源,業務方需要向此數據源推送業務相關數據;
2. 建立該業務所需要的策略原子,部分策略原子需要依賴該業務數據源;
3. 新建規則配置,設置策略名稱、權重、策略原子組、管控原子、提示語,完成規則配置;
4. 業務方調用此配置,進行業務風控;
快速啟動
本項目依賴redis, mysql, mongodb,因此需準備環境并更改配置項 # 為了簡單可以使用docker安裝 # docker安裝文檔地址(以ubuntu為例): https://docs.docker.com/install/linux/docker-ce/ubuntu/ mongo: docker run -d --name mongo -v $HOME/docker_volumes/mongodb:/data/db -p 27017:27017 mongo:latest mysql: docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -v $HOME/docker_volumes/mysql:/var/lib/mysql -v $HOME/docker_volumes/conf/mysql:/etc/mysql/conf.d -p 3306:3306 mysql:5.6 redis: docker run -d --name redis -p 6379:6379 -v $HOME/docker_volumes/redis:/var/lib/redis redis:latest
在mysql中創建risk_control庫 docker exec -it mysql mysql -h 127.0.0.1 -u root -p # 后續需輸入密碼 若以上述方式安裝mysql,密碼為root. CREATE DATABASE risk_control CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 創建數據庫時指定編碼格式,規避亂碼問題(注意: 此編碼格式在mysql低版本上可能有兼容性問題)
安裝所需依賴,本項目基于python2.7進行開發,可運行pip install -r requirements.txt安裝依賴包初始化django運行所需的表并創建賬戶,并可以預生成一些數據(可選) # 在www目錄下 python manage.py makemigrations && python manage.py migrate # 創建管理員賬戶 此處詳見 其它操作--增加用戶 python manage.py createsuperuser # 后續 依次輸入用戶名、密碼、郵箱 即可創建一個管理員賬號 # 如果希望對系統有一個直觀的感受,可以使用如下指令來預注入一些數據 python manage.py init_risk_data
啟動服務 # 在aswan下以nohup的方式啟動服務進程、管理后臺、攔截日志消費進程 bash start.sh
后臺介紹
名單管理為名單型策略提供基礎的數據管理功能。名單數據的維度包括:用戶ID、IP、設備號、支付賬號、手機號。后續也可以根據自己的需求擴充其他的維度。名單包含三個類型:黑、白、灰名單名單必須屬于某個項目(用于確定名單的范圍),可以在名單管理-名單項目管理中添加項目。名單型策略描述符為**{參數名:單選,假設是“用戶ID”} {操作碼:在/不在} {XX項目:單選,可選全局} 的 {維度:單選}{方向:黑/白/灰名單}**示例:用戶ID 在 初始項目 的 用戶黑名單 中布爾型策略不傳閾值的布爾型,描述符為 {參數名:單選,假設是"賬號ID"} {操作碼:是/不是} {內置函數:異常用戶} 示例:賬號ID是異常用戶傳閾值的布爾型,描述符為 {參數名:單選,假設是"賬號ID"} {操作碼:大于/小于/等于/不等于} {內置函數:歷史登錄次數} {閾值:170} 示例:賬號ID歷史登錄次數大于100內置函數是什么?就是自定義的一些邏輯判斷函數,只需要滿足要求返回布爾值即可。比如注冊時間是否在某個范圍以內,當前設備是否是常用設備。時段頻控型策略描述符為 同一 {計數維度:單選,假設是“設備”} 在 {時段:時間跨度} 內限制 {閾值:整數N} 次 某動作 示例:同一設備一天內限制操作10次. 可是我怎么知道當前已經有多少次呢?這就需要上報,上報后將計數 詳見第9條 數據源管理限用戶數型策略描述符為 同一 {計數維度:單選,假設是“設備”} 在 {時段:時間跨度} 內限制 {閾值:整數N} 個用戶示例:同一設備當天限10個用戶 此策略同樣需要上報的數據,且由于與用戶相關,因此上報數據中必須包含user_id字段(在數據源中需配置) 詳見第9條 數據源管理規則管理管控原子:命中某條策略后的管控動作,比如攔截... 把上面2--5中所述的策略原子按照優先級組合起來,由上向下執行,直到命中某條策略,則返回對應策略的管控原子。此模塊更多是重交互,完成策略的配置、組合、權重等等日志管理所有命中策略的日志均在此展示,也會包含審計相關的日志,下一期會基于此日志,開放攔截溯源功能。權限配置供權限設置使用,精確限定某個用戶能看哪些頁面的數據。 詳見 其它 -- 權限管理。數據源配置示例策略:同一設備一天內限制登錄1000次 那么每次登陸就需要上報一條數據,系統會分類計數,并分類存儲。 存儲的名字叫啥?就是此處要配置的數據源。對于此策略,只需要配置數據源,命名為login_uid, 字段包含uid, uid類型是string。然后程序就能根據uid為維度計數,并自動計算指定時間窗口內是否超出指定閾值。重要:由于邏輯必然依賴時間信息,為通用且必需字段,timestamp為默認隱含字段,類型是時間戳(精確到秒,整數)調用樣例
調用查詢服務假設存在id為1的規則,則可以通過如下方式查詢是否命中策略curl 127.0.0.1:50000/query/ -X POST -d '{"rule_id": "1
總結
以上是生活随笔為你收集整理的esxi root 密码规则_陌陌风控系统静态规则引擎aswan的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。