堡壘機介紹
在一個特定網絡環境下,為了保障網絡和數據不受外界入侵和破壞,而運用各種技術手段實時收集和監控網絡環境中每一個組成部分的系統狀態、安全事件、網絡活動,以便集中報警、及時處理及審計定責。
我們又把堡壘機叫做跳板機,簡易的跳板機功能簡單,主要核心功能是遠程登錄服務器和日志審計。
比較優秀的開源軟件jumpserver,認證、授權、審計、自動化、資產管理。
商業堡壘機:齊治,Citrix XenApp
搭建簡易堡壘機
具備堡壘機的條件是,該機器有公司和私網,其中私網和機房其他機器互通
設計堡壘機思路
跳板機安全設置(iptables端口限制、登錄限制sshd-config)
用戶、命令權限限制(iailkit)http://blog.chinaunix.net/uid-28310119-id-3503318.htm
客戶機器日志審計t http://www.68idc.cn/help/server/1inux/2014042190951.html
搭建簡易堡壘機 - jailkit chroot
源碼安裝jailkit
cd /usr/local/src/ wget https://olivier.sessink.nl/jailkit/jailkit-2.19.tar.bz2 tar -jxvf jailkit-2.19.tar.bz2 cd jailkit-2.19/ yum install gcc -y ./configure make && make install
創建虛擬系統的根目錄,並把常用命令添加到虛擬系統的根目錄下
jk_init -v -j /home/jail/ basicshell jk_init -v -j /home/jail/ editors jk_init -v -j /home/jail/ netutils jk_init -v -j /home/jail/ ssh ]# cd /home/jail/ ]# ls bin dev etc lib64 usr
創建用戶
]# useradd zhangsan;echo '123456' | passwd --stdin zhangsan 更改用戶 zhangsan 的密碼 。 passwd:所有的身份驗證令牌已經成功更新。
創建sbin目錄,拷貝虛擬系統 shell
]# mkdir /home/jail/usr/sbin ]# cp /usr/sbin/jk_lsh /home/jail/usr/sbin/jk_lsh
剛剛創建的用戶更改為虛擬系統用戶
[root@test1 jail]# jk_jailuser -m -j /home/jail zhangsan [root@test1 jail]# cat /home/jail/etc/passwd root:x:0:0:root:/root:/bin/bash zhangsan:x:1001:1001::/home/zhangsan:/usr/sbin/jk_lsh
修改虛擬用戶登陸 shell
]# sed -ir '/^zhangsan/s@/usr/sbin/jk_lsh@/bin/bash@' /home/jail/etc/passwd ]# cat /home/jail/etc/passwd root:x:0:0:root:/root:/bin/bash zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
安全優化
# 只允許密鑰登陸 vim /etc/ssh/sshd_config PasswordAuthentication no # 添加規則 iptables 略 # 允許哪些ip 鏈接 vim /etc/hosts.allow sshd: 172.16.0.20/24 1.1.1.1 # ssh 除了允許ip之外的ip都拒絕 vim /etc/hosts.deny sshd: ALL
# 服務器設置 只允許從那天跳板機登陸過來
vim /etc/hosts.allow sshd: 172.16.0.20 # 跳板機 IP
vim /etc/hosts.deny
sshd: ALL
日志審計
[root@test1 ~]# mkdir /usr/local/records [root@test1 ~]# chmod 777 /usr/local/records [root@test1 ~]# chmod +t /usr/local/records [root@test1 ~]# vim /etc/profile if [ ! -d /usr/local/records/${LOGNAME} ] then mkdir -p /usr/local/records/${LOGNAME} chmod 300 /usr/local/records/${LOGNAME} fi export HISTORY_FILE="/usr/local/records/${LOGNAME}/bash_history" export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE' [root@test1 ~]# source /etc/profile
開源堡壘機 Jump Server
介紹
- 官網 www.jumpserver.org
- jumpserver 是一款使用 Python,Django 開發的開元跳板機系統,助理 互聯網企業高效,用戶,資產,權限,審計,管理
- CMDB 資產管理
- Auth 統一認證
- 統一授權
- 日志審計
- 自動化運維(ansible)
安裝jump server
http://docs.jumpserver.org/zh/docs/setup_by_centos.html
Jump Server 用戶管理
- 修改管理員密碼
右上角用戶管理 --->> 快速修改 --->> 修改密碼
創建管理用戶(遠程機器執行命令)
~]# ssh-keygen -f jumpserver ~]# sz jumpserver
創建系統用戶,用於跳轉到其他機器
創建管理用戶
~]# useradd jumpserver ~]# cd /home/jumpserver/ ]# su - jumpserver ~]$ mkdir .ssh ~]$ vim .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDic8ywYiwEft4qDUR8fZQWgCkitHfw/dP9UdJajJ5/eoEA1Vcp1TvEL/WCnIYe5/PY8qKj8lx3QUxJy2TYJZy2eza8UTkowpS4x0ZGbg2UdKIZ0s3AIxPtwbs+ODbWiEGQ5AtUKftkm3aZpdB6O8wZhldkjIEcdjgVr4M4Bugw67FdLf4WFqClC1aQd2vUTyoY41dU6+/i1NSJL0BZPr2Ez+js4KN6LQROuWkBsDFG69bsh5qM2AyTnDre0TLZe8MrrXOuXB6/SsUwdlWS7sW9sMKbfDfEvmUkolaGi8PYf4X1fFjKfOdQ+AnWrYgZatgdjOLUQw5e0QjxRPMbZYNp root@mysql-master ~]$ cd .ssh
~]$ chmod 700 .
~]$ exit [root@mysql-master jumpserver]# visudo jumpserver ALL=(ALL) NOPASSWD: ALL
資產管理
創建資產 添加主機
作業中心檢查
創建資產授權 授權系統用戶