php 开源 堡垒机,开源跳板机(堡垒机)Jumpserver v0.2.0 部署篇

201601 更新:新版本3.0已经发布,此文档已经不适用最新版本。

更新: 安装视频 http://v.youku.com/v_show/id_XOTM5OTk3MDU2.html?from=y1.7-1.2

* 强烈建议第一遍所有密码账号等与文档相同 **

百度云相关软件: http://pan.baidu.com/s/1i3kne6p

交流群:399218702

如果您对该项目感兴趣,熟悉Django或前端编程,加入我们吧! ibuler@qq.com

环境说明:

Centos6.5mini,iptables,selinux关闭

jumpserver:192.168.20.130

测试机testserver:192.168.20.131

一.部署ldapserver

1.1安装ldapserver

# rpm -ivhhttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install -y vim automake autoconf gcc xz ncurses-devel \

patch python-devel git python-pip gcc-c++# 安装基本环境,后面依赖

# yum install -y openldap openldap-servers openldap-clients openldap-devel

1.2准备配置文件

# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf## 该文件是slapd的配置文件

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG## 数据库的配置文件

1.3修改配置文件# vim /etc/openldap/slapd.conf...loglevel1...suffix"dc=jumpserver,dc=org"rootdn"cn=admin,dc=jumpserver,dc=org"rootpw          secret234...#说明:loglevel:设置日志级别  suffix:其实就是BaseDN

rootdn:超级管理员的dn

rootpw:超级管理员的密码

1.4修改系统日志配置文件

# vim /etc/rsyslog.conflocal4.*/var/log/ldap.log

# local7.*下添加一行

# service rsyslog restart

1.5启动slapd,查看启动情况

# service slapd start

# rm -rf /etc/openldap/slapd.d/*

# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

# chown -R ldap:ldap /etc/openldap/slapd.d/

# service slapd restart

# netstat -tulnp | grep slapd#说明:第一次启动生会初始化ldap数据库,在/var/lib/ldap中,如果想删除ldap数据库就删除该目录,保留DB_CONFIG配置文件。新版的ldap使用的是/etc/openldap/slapd.d 下的配置文件,删除原来的配置文件,slaptest是重新生成新的配置文件

1.6导入ldif数据库框架和测试用户,可以使用migrationtools导出框架,也可以用我导出好的.

base.ldif,group.ldif,passwd.ldif 将其中的dc=jumpserver,dc=org替换成你的baseDN,然后导入,密码是rootpw设置的 secret234  这些文件百度云中下载 http://pan.baidu.com/s/1i3kne6p

# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f base.ldif

# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f group.ldif

# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f passwd.ldif

二.testserver部署ldapclient

---CentOS6设置---

2.1安装LDAP客户端

# yum -y install openldap openldap-clients nss-pam-ldapd pam_ldap

2.2设置自动创建目录

# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth

2.3备份原来authconfig,然后设置使用LDAP认证

# authconfig --savebackup=auth.bak

# authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --disablesssd --disablesssdauth --ldapserver=192.168.20.130 --ldapbasedn="dc=jumpserver,dc=org" --update

---CentOS5设置---

2.1安装LDAP客户端

# yum -y install openldap openldap-clients nss_ldap

2.2设置自动创建目录# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth

2.3设置使用LDAP认证

# authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.20.130 --ldapbasedn="dc=jumpserver,dc=org" --update

2.4从jumpserver连接testuser测试# ssh testuser@192.168.20.131# 密码是testuser123 如果连接成功则继续

生产中部署注意建立灾备账户这里就不再说明

三.LDAP负责sudo

3.1拷贝sudo schema,centos版本不一样,可能sudo的版本不是1.8.6,其他的也可以

# cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema

3.2修改文件导入schema# vim /etc/openldap/slapd.confinclude/etc/openldap/schema/sudo.schema

3.3重新生成配置文件,重启slapd

# rm -rf /etc/openldap/slapd.d/*

# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

# chown -R ldap:ldap /etc/openldap/slapd.d/*

# service slapd restart

3.4导入sudo.ldif到ldapserver

# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f sudo.ldif#说明:将sudo.ldif中的dc=jumpserver,dc=org换作你的baseDN

3.5testserver设置sudo使用ldap

说明:centos6上sudo-1.7.4p5的使用的ldap配置文件是/etc/sudo-ldap.conf,sudo版本不同使用的配置文件可能也有所不同,sudo-V|grep'ldap.conf'查看

# sudo -V | grep 'ldap.conf'

...

ldap.conf path:/etc/sudo-ldap.conf# 已知有的版本是 /etc/nslcd.conf,下面应该做出对应改变...

---CentOS6---

# echo -e "urildap://192.168.20.130\nSudoers_baseou=Sudoers,dc=jumpserver,dc=org" > /etc/sudo-ldap.conf

# echo "Sudoers: files ldap" >>  /etc/nsswitch.conf

---CentOS5---

# echo "Sudoers_base ou=Sudoers,dc=jumpserver,dc=org" >> /etc/ldap.conf

# echo "Sudoers: files ldap" >> /etc/nsswitch.conf

3.6测试sudo

# ssh testuser@192.168.20.131

# sudo su#说明:密码是testuser123,sudo su如果不提示输入密码,则成功

3.7删除测试用户

# ldapdelete -x -D "cn=admin,dc=jumpserver,dc=org" -w secret234 "uid=testuser,ou=People,dc=jumpserver,dc=org"

# ldapdelete -x -D "cn=admin,dc=jumpserver,dc=org" -w secret234 "cn=testuser,ou=Sudoers,dc=jumpserver,dc=org"

四.部署jumpserver

4.1安装mysql数据库,创建库

# yum -y install mysql mysql-server mysql-devel

# service mysqld start

# mysql

mysql>create database jumpserver charset='utf8';

mysql>grant all on jumpserver.*to'jumpserver'@'127.0.0.1'identified by'mysql234';

4.2下载最新Jumpserver项目

# cd /opt

# cd jumpserver

4.3安装依赖模块

# cd /opt/jumpserver/docs

# rm -rf /usr/lib64/python2.6/site-packages/Crypto # 不是mini安装,默认带的版本不兼容

# pip install -r requirements.txt

#  说明:如果报错请手动安装每个模块4.4修改Jumpserver配置文件

# cd ..

# vim jumpserver.conf#coding: utf8[base]ip=192.168.20.130port=80key=88aaaf7ffe3c6c04[db]host=127.0.0.1port=3306user=jumpserver

password=mysql234

database=jumpserver[ldap]ldap_enable=1host_url=ldap://127.0.0.1:389

base_dn=dc=jumpserver,dc=org

root_dn=cn=admin,dc=jumpserver,dc=org

root_pw=secret234[websocket]web_socket_host=192.168.20.130:3000[mail]email_host=smtp.exmail.qq.com

email_port=25email_host_user=noreply@jumpserver.org

email_host_password=jumpserver123

email_use_tls=False# 说明:# [base] ip, port是访问web的ip和端口号, key是用来加密的随机字符串,如果更改请确保是16位# [db]里是数据库的设置,相信你看一眼就知道了# [ldap] ldap_enable启用ldap, host_url是ldapserver的地址, base_dn root_dn root_pw与前面配置的ldapserver保持一致# [websocket] websocket的地址,是允许node index.js程序的服务器地址,通常和web运行在一起,端口号默认是 3000# [mail] 配置mail服务器,用来发送邮件,本版本添加用户会自动发邮件给用户的email

4.5建立logs目录并修改权限

# cd /opt/jumpserver/

# mkdir logs; chmod 777 logs

4.6django sync db 到数据库

# python manage.py syncdbWould you like to create one now?(yes/no):no

4.7测试运行

# python manage.py runserver0.0.0.0:80

# cd /opt/jumpserver/

# python log_handler.py#说明:两个窗口分别打开

4.8初始化jumpserver浏览器打开http://192.168.1.209/install

显示安装成功测继续

五.安装node.js

为了实现实时监控,使用了node.js来完成websocket

5.1yum安装node.js

# yum -y install nodejs npm  # 好多依赖啊

# cd websocket

# npm install#说明:可能下载需要几分钟,也可以使用我已经下载好的模块,将node_modules.tar.bz2 移动websocket目录解压即可# tar xvf node_modules.tar.bz2# 如果运行上面的install可以不解压提供的模块

5.2测试启动websocket

# cd /opt/jumpserver/websocket

# node index.js

六.使用jumpserver

6.1登陆

账号密码:admin admin

6.2新建部门

6.3新建用户

6.4新建IDC

6.5添加主机

6.6建立用户组

6.7建立主机组

6.8将主机组授权给用户组

6.9授权sudo

6.10新建部门管理员

6.11授权主机给部门

6.12部门管理员登陆

6.13部门管理员添加用户和授权

6.14查看监控

6.15查看统计

6.16普通用户登录

七.收尾

7.1修改sshd配置,禁止密码登录

# vim /etc/sshd/sshd_config...PasswordAuthentication no...# service sshd restart

7.2让用户登录jumpserver自动运行系统

# cd /opt/jumpserver/docs

# vim zzjumpserver.sh...if[$USER=='guanghongwei'];then# 修改特殊用户,结束后不退出,便于维护...

# cp zzjumpserver.sh /etc/profile.d/

7.3正常运行jumpserver系统

# cd /opt/jumpserver/

# ./service.sh start#说明:如果想结束系统 ./service.sh stop ;# 什么没有运行? 那你有没有加执行权限?

八.生产注意情况

8.1每台服务器最好建立灾备用户,以防由于网络等情况连接不上ldap服务器导致影响维护

8.2ldap server建立主从或者镜像,这部分内容已超出本话题

客户端指定时需要写上两台的地址--ldapserver=192.168.20.130,192.168.20.xxx

8.3数据库备份或主从

8.4nginx + uwsgi + django 运行,上面的server.sh是开发模式,只能单并发

ThinkSAAS开源社区系统官方下载v2.0,该系统是目前比较流行的一种sns网站系统,也是国内很不错的开源sns项目,ThinkSAAS开源社区功能和特点:1、基于PHP语言开发。2、支持MySQL数据库连接。3、完全UTF-8无bom编码。4、适用于Window,Linux等操作系统。5、支持Apache,IIS,Nginx等服务器环境 6、支持QQ登陆,微博登陆 7、标配10大免费开源功能APP模块: 1)、用户中心模块(user) 2)、系统管理模块(system) 3)、小组模块(group) 4)、相册模块(photo) 5)、资料模块(attach) 6)、动态模块(feed) 7)、标签模块(tag) 8)、邮件模块(mail) 9)、消息模块(message) 10)、微博说模块(weibo) 11)、搜索模块(search) 8、自带7种URL重写形式 9、二次开发简单容易 10、系统扩展性高,APP模块化开发 11、首创面向目录和文件开发方式,看得见的开发 ThinkSAAS2.0更新内容: Version 2.0 新增功能 . 增加后台用户留言管理 . 增加后台消息管理 . 增加淘贴管理,完善帖子专辑功能 . 增加任务模块 . 增加积分兑换 . 积分完善,积分全部后台配置 . 编辑器更换为umeditor(百度迷你编辑器) . 增加单附件的删除 . 增加文章TAG功能和TAG检索 . 增加后台配置是否开启前台验证码 . 增加后台管理删除动态 . 优化搜索增加文章搜索 优化修复 . 修复提交内容提示后记录消失的问题 . 完善mobile手机web应用 . 修复qq登陆验证错误问题 . 修复个别环境下带有中文Url无法识别的问题 . 更换最新的uploadify上传插件 . 更新图片上传和附件上传 . 修复回复评论的csrf漏洞 . 修复加入和退出小组的csrf漏洞 . 修正微博分页链接错误 . 统一和优化数据库和规范数据库表名命名 . 修复后台换肤功能 . 修复后台插件删除不了的问题 Version 1.96 新增功能 . APP独立域名支持 . APP二级域名支持 . 增加前台编辑帖子同时编辑标签 . 增加后台删除用户功能 . 增加后台底层一键升级功能 . 增加APP一键升级功能 优化修复 . 优化网站Title . 优化标签URL更人性化 . 修复添加和修改信息的CSRF攻击 . 改善图片清晰度 . 修正相册诸多问题 . 修复诸多细节
PermissionBase权限管理系统0.1.2源码 1.概述Permission Base(授权基础,以下简称PB)是一个基于.NET 2.0平台开发的开源项目,使用的协议为:Apache License Version 2.0。 PB是一套适用于一般中小型B/S企业应用系统的“权限控制基础结构”。PB的定位并不是一个通用的组件或者框架,而是一个“半成品的程序”。它包含了一个适用于一般企业应用系统的框架,以及与用户权限管理相关的结构和模块,因此PB可以作为中小型企业应用系统或一般网站系统的实现参考或者项目雏形。 PB包括以下模块:职员登录、模块导航、系统代码管理、模块管理、角色管理、部门管理、职员管理、修改密码、前台用户信息管理。这些功能和模块是大多数企业应用系统中所必须的。 2.适用范围序号 描述 1 PB目前的版本被设计为仅能在单台服务器上运行。 2 PB并不适用于分布式的情况,即所有的横向分层(表现层,服务层,业务逻辑层,数据访问层,……)都仅设计为逻辑的分层,而不是物理的分层,各层只能部署在一台服务器上运行。 3 PB也并不是集群系统,即不能在集群环境下部署,这主要是因为目前使用的缓存策略导致的。 3.使用的技术、工具和产品开发平台 .NET 2.0.50727 IDE Visual Studio 2005 Pro/Team UML设计 Sybase PowerDesigner 12 项目文件夹结构目录 说明 doc 项目文档 lib 项目引用到的第三方程序集(dll) model / oom UML图 model / pdm 数据库设计文档(E – R图) model / sql 数据库创建和删除的脚本 resource 项目使用到的第三方UI控件的完整源码包 描述 1 “职员”和“用户”的登录密码在存入数据库前都进行了SHA1加密。 2 登录时的验证码在放入cookie前进行了DES加密。 3 由于所有的页面跳转全部使用的是相对路径,所以不能对单独的某几个包含密码信息的页面使用SSL。可以对整个Admin目录使用SSL。但如果觉得这样做带来的性能损失太大,则必须重构相关页面跳转的代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值