堡壘機 第5章 堡壘機動態記錄審計日誌

2021-09-29 14:10:28 字數 4110 閱讀 4507

日誌監控指令碼

通過輪循模式獲得每個程序對應的標識,從而輸出對應的日誌

通過資料庫生成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

:print

("\033[32;1mwelcome %s\033[0m"

.center(50,

'-')

,user)

self.user = user

return

true

else

:print

("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)

:print

("%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)

)print

('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

)print

('----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)

:print

("%s.\t%s[%s]"

%(index,

group_obj,

group_obj.bind_hosts.select_related(

).count())

)print

("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 ...