日誌監控指令碼通過輪循模式獲得每個程序對應的標識,從而輸出對應的日誌
通過資料庫生成ssh會話記錄,完成日誌與堡壘機的繫結命令執行檔案補充內容:from web import models
import subprocess
from django.contrib.auth import authenticate
import random
import string
import getpass
class
interactivehandler
(object):
'''負責與使用者在命令列端所有的互動'''
def__init__
(self,
*args,
**kwargs)
:#print(models.host.objects.all())
if self.authenticate():
self.interactive(
)def
authenticate
(self)
:'''使用者認證'''
retry_count =
0while retry_count <3:
username =
input
("username:"
).strip()if
len(username)==0
:continue
password = getpass.getpass(
"password:"
) user = authenticate(username=username,password=password)
if user is
notnone
("\033[32;1mwelcome %s\033[0m"
.center(50,
'-')
,user)
self.user = user
return
true
else
("wrong username or password!"
) retry_count +=
1else
: exit(
"too many attempts."
)def
select_hosts
(self,bind_host_list)
:#exit_flag = false
while
true
:#bind_host_list = host_groups[user_choice].bind_hosts.select_related()
for index, host_obj in
enumerate
(bind_host_list)
("%s.\t%s"
%(index, host_obj)
) user_choice2 =
input
("[%s]>>>"
% self.user)
.strip(
)if user_choice2.isdigit():
user_choice2 =
int(user_choice2)
if user_choice2 >=
0and user_choice2 <
len(bind_host_list)
: bind_host_obj = bind_host_list[user_choice2]
random_tag =
''.join(random.sample(string.ascii_lowercase,14)
('random tag:'
,random_tag)
cmd =
"sshpass -p %s /usr/local/openssh7/bin/ssh %s@%s -p%s -o stricthostkeychecking=no -z %s"
%(bind_host_obj.remote_user.password,
bind_host_obj.remote_user.username,
bind_host_obj.host.ip_addr,
bind_host_obj.host.port,
random_tag)
subprocess.run(cmd,shell=
true
('----logout---'
)else
:if user_choice2 ==
'b':
break
if user_choice2 ==
'exit'
: exit(
"bye"
)def
interactive
(self)
:'''使用者shell'''
exit_flag =
false
while
not exit_flag:
try:
host_groups = self.user.host_groups.select_related(
)for index, group_obj in
enumerate
(host_groups)
("%s.\t%s[%s]"
%(index,
group_obj,
group_obj.bind_hosts.select_related(
).count())
("z.\t未分組主機列表[%s]"
%self.user.bind_hosts.select_related(
).count())
user_choice =
input
("[%s]>>>"
%self.user)
.strip()if
len(user_choice)==0
:continue
if user_choice.isdigit():
user_choice =
int(user_choice)
if user_choice >=
0and user_choice <
len(host_groups)
: self.select_hosts(host_groups[user_choice]
.bind_hosts.select_related())
#print(self.user.bind_hosts.select_related())
else
:if user_choice ==
'z':
self.select_hosts(self.user.bind_hosts.select_related())
if user_choice ==
'exit'
: exit(
"bye."
)except keyboardinterrupt as e:
pass
`
命令執行前,執行操作動作記錄指令碼,提前完成監聽
堡壘機 麒麟堡壘機動態口令使用手冊
一.管理員部分 1.在其它 licenses選單檢視動態口令許可是否開啟,如果未開啟聯絡廠商重新生成許可 2.找廠商生成金鑰檔案,金鑰檔案中包含令牌種子,在其它 動態令牌選單將金鑰檔案匯入即可看到所有的令牌種子,每個令牌可以繫結給多個使用者 3.令牌繫結可以在 資源管理 使用者管理 選單,編輯主帳號...
堡壘機技術
有一句名言 堡壘往往從內部攻破。在資訊化社會,資訊保安發展的程序,已經清晰地印證了這個道理。如何加固組織機構內部網路的 內防體系 有效防範打擊 內鬼 杜絕因為內部隱患而導致的資訊遭竊密 資料被篡改 系統被破壞等嚴重後果,成為近年內國際資訊保安業界在內網安全領域的新課題。資料內控,也自然成為整個行業市...
天融信堡壘機
恢復出廠設定後的網口配置 使用console口登入root,密碼 njhsecxinan 2016 2 或 jhsec iam2015 編輯 vim etc network inte ce 將以下內容貼到裡面 auto lo iface lo inet loopback allow hotplug ...