日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

使用python實(shí)現(xiàn)openvpn的登錄次數(shù)限制方法

系統(tǒng) 2245 0

linux上搭建的openvpn

openvpn使用mysql進(jìn)行用戶的驗(yàn)證

通過對(duì)openvpn日志的監(jiān)控,實(shí)現(xiàn)對(duì)openvpn登錄失敗5次的用戶進(jìn)行鎖定,一天后自動(dòng)解鎖

            
#!/usr/bin/env python3
#-*- coding:utf8 -*-
'''腳本對(duì)登錄VPN失敗次數(shù)超過5次的用戶進(jìn)行鎖定'''
import time
import re
import os
file = open('/etc/openvpn/openvpn.log', 'r')
failname = {} #使用字典對(duì)登錄失敗用戶次數(shù)進(jìn)行統(tǒng)計(jì)
def get_blackname(line):
 blackname = []
 e = r"\'([\s\S]*)\'"  #過濾出登錄失敗的用戶名
 fail_name = re.findall(e, line)
 for i in fail_name:
  if i not in failname:
   failname[i] = 1
  else:
   failname[i] += 1
  if failname[i] >= 5: #登錄失敗次數(shù)超過5次使用mysql_ban函數(shù)進(jìn)行處理
   mysql_ban(i)    
   failname.clear()  #禁用后清空字典
#定義處理登錄失敗用戶處理函數(shù)
def mysql_ban(blackname):
 cmd = 'mysql -uroot -pmysql -h 127.0.0.1 -P 4045 -e ' \
   '"update vpnuser set active=0 where name=\'%s\'" vpn ' % blackname
 os.system(cmd)
while 1: #監(jiān)控openvpn的日志文件
 where = file.tell()
 line = file.readline()
 if not line: 
  time.sleep(1)
  file.seek(where)
 elif 'AUTH-PAM' in line:
  get_blackname(line)

          

需要配合crontab執(zhí)行shell腳本才能實(shí)現(xiàn)自動(dòng)解鎖,shell腳本如下

然后根據(jù)需要設(shè)置每天幾點(diǎn)解鎖

            
> /etc/openvpn/openvpn.log
mysql -uroot -pmysql -h 127.0.0.1 -P 4045 -e "update vpnuser set active=1 where active=0" vpn

          

以上這篇使用python實(shí)現(xiàn)openvpn的登錄次數(shù)限制方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 卢湾区| 靖安县| 松溪县| 牙克石市| 泗洪县| 微博| 萨嘎县| 大方县| 和硕县| 金堂县| 饶平县| 政和县| 镇安县| 基隆市| 娄底市| 鄂尔多斯市| 广饶县| 庄浪县| 靖江市| 蕉岭县| 德钦县| 慈溪市| 宁波市| 调兵山市| 五寨县| 化德县| 都昌县| 建瓯市| 兴山县| 青岛市| 沛县| 神池县| 五峰| 讷河市| 林西县| 清涧县| 中山市| 江华| 肇庆市| 保德县| 叙永县|