本文原地址: http://www.feitianzhi.com/boke/index.php/archives/19/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


本文纯探讨技术实现,请大家抱着学习交流之目的进行阅览。

测试环境:
服务器端:CentOS 7.0、openvpn-2.3.10
客户端 :Fedora 23

服务器端安装与配置:
安装obfsproxy
1、[root@1st ~]# yum install gcc python-pip python-devel
2、[root@1st ~]# pip install obfsproxy
3、[root@1st ~]# obfsproxy
usage: obfsproxy [-h] [-v] [–log-file LOG_FILE]
[–log-min-severity {error,warning,info,debug}] [–no-log]
[–no-safe-logging] [–data-dir DATA_DIR] [–proxy PROXY]
{managed,obfs2,dummy,obfs3,scramblesuit,b64} …
以上三步,我们就完成了obfsproxy的安装工作,接下来我们开始配置。obfsproxy一般使用obfs3或者scramblesuit模式,scramblesuit是obfs3的加强版,使用密码加密。这样就无法模拟obfs客户端来探测被混淆的是什么。下面以scramblesuit作为示范。
注意:scramblesuit的密码必须为BASE32字符。
BASE32字符是由:ABCDEFGHIJKLMNOPQRSTUVWXYZ234567组成,且必须为32位。

[root@1st ~]# obfsproxy –data-dir ~/.obfs/ scramblesuit –dest 127.0.0.1:1194 –password ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 server 0.0.0.0:1234 &

由于我们是通过obfsproxy来实现服务器端与客户端之间的加密通信,所以openvpn不用监听在服务器端的IP地址上,可以监听在127.0.0.1这样的本地地址。上面的命令中:127.0.0.1:1194就是需要被混淆的端口(协议),0.0.0.0:1234是混淆后对外监听的端口。如果不需要后台运行则去掉最后的 & 。

运行成功后应该会提示:

2015-08-21 22:54:12,282 [WARNING] Obfsproxy (version: 0.2.13) starting up.
2015-08-21 22:54:12,282 [ERROR]

Do NOT rely on ScrambleSuit for strong security!

至此服务端已经配置完成。

客户端安装与配置
关于在Windows和Fedora 23下的openvpn客户端配置,不再本文的讨论范围之内。
Windows客户端
首先:需要在python官方网站上下载你windows对应python版本,本文中下载的是python-2.7.11.amd64,因为测试系统是windows 7 64位。
其次:需要在http://www.voidspace.org.uk/python/modules.shtml这个网站下载pycrypto-2.6.win-amd64-py2.7,如果没有这个文件,将会在安装obfsproxy是报错。
第三:在正确安装上述两个软件后,需要从新启动一下你的操作系统。
第四:在命令行状态下执行:C:\>pip install obfsproxy,如果一切顺利,就可以执行下面的命令了:
c:>obfsproxy scramblesuit –dest xxx.xxx.xxx.xxx(此处是openvpn所在服务器的IP地址):1234 –password ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 client 127.0.0.1:56789 &

fedora 23客户端
首先,用dnf命令检查python-crypto.x86_64、gcc.x86_64、redhat-rpm-config软件包是否安装,如果没有安装,请参照下面的命令进行安装。
[root@f23 ~]# dnf install python-crypto.x86_64
[root@f23 ~]# dnf install gcc.x86_64
[root@f23 ~]# dnf install redhat-rpm-config
[root@f23 ~]# sudo dnf install redhat-rpm-config
此命令解决:gcc: error: /usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory的报错

[root@f23 ~]# pip install obfsproxy
[root@f23 ~]# obfsproxy scramblesuit –dest xxx.xxx.xxx.xxx(此处是openvpn所在服务器的IP地址):1234 –password ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 client 127.0.0.1:56789(此处的端口号何以随意指定,不超出范围就好)

在本地客户端,我们通过obfsproxy将所有流量发给服务器端obfsproxy监听的端口,再由obfsproxy重定向到 OpenVPN,这样OpenVPN客户端就不知道服务器IP是多少,没办法对到 OpenVPN 服务器的流量进行特殊处理,所以我们需要手动将到服务器的路由固定下来,假设你的服务器端IP为xxx.xxx.xxx.xxx,本地客户端的网关地址是192.168.1.1,我们以fedora 23为例,添加路由的命令:
[root@f23 ~]# route add -host xxx.xxx.xxx.xxx gw 192.168.1.1(这一点非常重要)

OK,万事具备,祝大家有一个愉快的开始!

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/18/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

对一个软件的运行占用的资源进行统计,可得到资源占用的"均值"和"峰值",从性能的角度评估软件的框架,自认为可分三个层次:

  1. 峰值架构:按这种架构设计的软件需要按资源使用的峰值配置硬件,一些云服务商(如阿里云)评估的cpu均值与峰值比为2:10,基于此数据,云服务器商可提供更高的突发性能(这也是阿里云服务器测试时感觉比其他云服务器商快的原因);
  2. 总线式峰值架构:如选用高于软件资源消耗均值但低于软件资源消耗峰值的硬件,在软件峰值时不仅会卡顿影响体验且会丢失数据,影响最终结果;"总线式峰值架构"是把数据采集(数据采集的资源消耗肯定是低于均值的)和处理分开,把采到的数据进行缓存再分发给各处理模块处理(处理模块排队完成);
  3. 均值架构:目标是可选用性能略大于软件资源消耗的均值的硬件,实现硬件资源的利用最大化;"总线式峰值架构"相对"峰值架构"会增加业务流程,增大储存资源消耗,而"均值架构"相对"峰值架构"不会增加业务处理流程,同时可合并同类业务的排列顺序,让数据更好地类数组化,增加cpu或储存设备cache的命中率,进一步提升性能,降低软件资源消耗的均值;

直接均值架构

"小雉视频系统"采用"均值架构",同时"小雉视频系统"是单进程设计,数据在多模块之间传递采用引用方式完成,所有操作都能直接完成;
合理的算法让数据的移除和插入使用位于链表的头和尾,保持数据的数组特性,提高cpu缓存命中;
合理的业务分解让数据快速被过滤,大大减少堆积数据量,据统计视频中可能感兴趣的数据不足10%;
采用"直接均值架构"的"小雉视频系统"的硬件利用率可达90%,即cpu均值达90%不会影响使用体验;

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/17/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

Google Authenticator是Google开发的二次认证工具,本功能是基于Google Authenticator开发,让小雉系统的本地登录和ssh,telnet登录支持动态认证,其中本地登录和"ssh,telnet"可以单独设置是否开启动态认证.

背景

  1. 常规的服务器密码配置为固定密码,在工程人员离职时,需要验证工程人员交接的主机用户名密码的正确性,同时为了安全需要修改密码,对有成百上千的服务器环境这将是一个苦力活,在某些情况下这个工作衔接不一定做得好(如没有招到下一个工程人员上一个已离职).
  2. 现代的项目很难有一个公司能独立完成的,大多都需要多公司配合(可能是后期功能扩展,有新公司进场),在有多公司配合的项目中,避免不了联调测试,在联调中能否把自己公司的服务器root密码提供给其他公司是一个纠集的事(不提供root密码,需要自己公司派专业的人协助调试,提供root密码,以后项目服务器的安全又存在风险(调试过程中,对方人员可信,不存在风险)).

为解决以上两个问题,把系统设计为动态认证,具体使用时

  • 本地直接插键盘登录时使用固定密码,这样不会增加公司内部装机的工作量,本地为物理隔离,使用固定密码不存在风险;
  • 远程登录(ssh和telnet)使用动态认证,这样员工离职后将无法获取动态认证的密码,提供给第三方的root密码为一次性密码,使用后(或到一定期限还不使用)就无效了,保证系统远程登录的安全.

操作

本功能的开关是通过激活码的方式开启,且动态认证只能升级不能降级,如一旦开启"ssh,telnet"的动态认证功能,将不能使用没有开启"ssh,telnet"功能的激活码;如需体验请与我联系免费获取激活码.

功能演示

  • ssh动态认证


操作人员把动态码:ZEEG0715及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

  • telnet动态认证


操作人员把动态码:ZLMD8HC7及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

  • 本地动态认证


操作人员把动态码:Z0CJ9MZQ及激活码发送给管理员,管理员会提供一个一次性口令给操作者,操作者使用一次性口令登录系统.

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/16/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

参考 http://www.feitianzhi.com/boke/index.php/archives/11/ 安装完系统(虚拟机镜像除外),需要重建硬盘(把硬盘的其他空间格式化后储存数据)

步骤

以刚装好vultr的服务器为例,磁盘截图如下

  1. 使用fdisk对硬盘分区,如下图

  1. 系统重启后登录系统(用户名:root,密码:12345),使用zfs对硬盘进行格式化,如下图


关于zfs的更多使用方法请参考oracle官网:
https://docs.oracle.com/cd/E26926_01/html/E25826/zfsover-1.html#scrolltoc

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/15/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

"小雉系统"采用双系统设计,基于centos定制,对centos系统的网络配置作出了修改,标准的centos系统的网络配置方法在"小雉系统"中不能保存,重启后无效.

准备

下载小雉系统工具,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;
解压升级工具,如解压到D:小雉系统工具-20190419中

使用ifconfig 配置临时IP

本地登录系统(用户名:root,密码:12345);
使用 ifconfig -a 查看所有接口;
使用 ifconfig eth0 192.168.10.254/24 对eth0配置ip;
使用 route add default gw 192.168.10.1 添加默认路由;
使用ifconfig 配置小雉系统临时IP

使用小雉系统工具配置永久IP

如下图配置永久IP
使用小雉系统工具配置永久IP
注:不执行第11步的保存动作,所有的修改都只是在"小雉系统工具"内部,不会影响远程的主机;

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/14/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

"小雉系统"基于centos定制,采用双系统设计,升级过程中掉电不会损坏系统,保证系统的可靠运行,总共占用空间500M,系统的维护采用使用升级包对系统升级的方式完成,支持对grub,内核,虚根,应用程序及所有运行库的升级;
"小雉系统"的升级包采用jpg打包,jpg图片可显示此升级包的摘要信息,方便历史记录查看;
"小雉系统"的升级包采用校验和机制,版本号仅作为工程记录的一个编号,即系统升级可以从任何一个版本切换到其他的任何一个版本,不需要升级包版本的连续,也不会限制只能从低版本升高版本.

升级教程

  1. 下载升级包,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;

*注:下载的升级包需要加.jpg的后缀,如下载文件为"fs-2.128.1228.upt"需重命名为
"fs-2.128.1228.upt.jpg"*

  1. 下载小雉系统工具,见http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html页面;

解压升级工具,如解压到D:\小雉系统工具-20190419中

  1. 使用升级工具打开升级包并填写主机ip,完成"小雉系统"远程升级,如下图
小雉系统升级
新版本的升级工具如下图(增加批量导入导出主机,并支持root密码校验,root密码不为12345的主机必须使用新版本升级工具)
小雉系统升级

猜您可能喜欢
小雉系统安装: http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统安装包制作: http://www.feitianzhi.com/boke/index.php/archives/50/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/
小雉配置工具:http://www.feitianzhi.com/boke/index.php/fslib-config.html
资源下载:http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/13/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


概述

小雉系统中已集成mariadb数据库,但未包含数据库文件,本文是在完整的centos7.3上装好mariadb数据库,把初始化后的数据库文件打包传到小雉系统中.

步骤

  1. 使用ssh或telnet工具远程登录小雉系统(用户名:root,密码:12345),如下图

ssh或telnet工具远程登录小雉系统

  1. 用ftp登录系统(用户名:admin,密码:12345)上传数据库文件(可下载我提供的https://download.csdn.net/download/zhangrui_fslib_org/11317633,没有密码)到ftp根目录,如下图

上传数据库文件

  1. 解压数据库文件,并启动mariadb数据库(系统每次开机时会自动启动数据库)

    cd /fs/project/data/
    ls
    gzip -cd mysql.cpio.gz |cpio -idvm
    ls
    systemctl restart mariadb
    systemctl status mariadb

解压数据库文件,并启动mariadb数据库

  1. 修改mariadb数据密码,支持远程登录,如下图

    mysql;
    user mysql;
    select user,host,password from user;
    update user set host='%',password=password('12345') where user='root' and host='localhost';
    select user,host,password from user;
    FLUSH PRIVILEGES;

修改mariadb数据密码,支持远程登录
猜您可能喜欢
使用小雉系统搭建可调试的php生产环境:
http://www.feitianzhi.com/boke/index.php/archives/12/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/12/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


功能介绍

  1. 支持nginx,php-fpm,mariadb,ftp;
  2. 支持命令行查看php的异常和错误输出;
  3. 整套系统采用双镜像设计,启动时会校验操作系统的完整性,保证系统从完整的系统启动,彻底解决系统断电后系统启动过程中磁盘自检异常的问题;

系统搭建

  1. 参考http://www.feitianzhi.com/boke/index.php/archives/11/安装系统;
  2. 初始化数据库,参考http://www.feitianzhi.com/boke/index.php/archives/13/;

网站部署

  1. 使用ssh或telnet工具远程登录系统(用户名:root,密码:12345),并创建web所需的目录,如下图

网站部署--创建网站根目录

  1. 用ftp登录系统(用户名:admin,密码:12345)上传web文件,web为网站的根目录,上传文件后用浏览器直接访问,如下图

ftp登录小雉系统

  1. 把网站数据上传存于web目录中(注:web目录为网站的根目录);

特殊功能演示

  1. php-fpm程序的输出记录,如下图

php-fpm程序的输出记录

  1. 支持第三方扩展加载失败提示,如下图

支持第三方扩展加载失败提示

  1. 支持php://stdout,php://stderr的输出,如下图

支持php://stdout,php://stderr的输出

  1. 支持php代码异常捕捉,如下图

支持php代码异常捕捉

  1. 支持thinkphp框架,如下图

支持thinkphp框架

猜您可能喜欢

小雉系统安装:http://www.feitianzhi.com/boke/index.php/archives/11/
小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/11/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


一,使用虚拟机镜像安装

  1. 下载vmware虚拟机镜像,地址:http://download.csdn.net/download/zhangrui_fslib_org/11316868
  2. 使用VMware Workstation 打开虚拟机,如下图

虚拟机打开小雉系统

  1. 开启虚拟机,使用用户名:root,密码12345登录系统,如下图

小雉系统登录

二,云服务器安装

以vultr云(地址:https://www.vultr.com/,可申请免费试用,试验首选)为例(可参考http://www.feitianzhi.com/boke/index.php/archives/40/进行操作)

  1. 云主机安装好centos7.*系统;
  2. 使用ssh远程工具登录系统,必须使用root登录,如下图

  1. 上传"小雉系统安装包"到云服务器(可以使用ssh,ftp等方式),这里使用wget直接下载"小雉系统安装包"(地址:http://mym9.com:16080/__pic/xiaozhios.img.gz,速度慢可在此地址下载:https://download.csdn.net/download/zhangrui_fslib_org/11343895),如下图

  1. 上传小雉系统安装脚本(可以使用ssh,ftp等方式)并加上执行权限,这里使用wget直接下载(地址:http://mym9.com:16080/__pic/xiaozhiosinstall),如下图

  1. 运行xiaozhiosinstall脚本安装上传的xiaozhios.img.gz系统,安装大概需要2分钟,如下图

  1. 系统在重启后,使用用户名:root,密码:12345登录系统(注:虽然系统已配置好网络,但仍要使用小雉的工具配置网络),如下图

猜您可能喜欢

小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/
小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/
小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/
使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/

本文原地址: http://www.feitianzhi.com/boke/index.php/archives/9/

转载请注明出处,有疑问或错误请发邮件到xiaozhi@fslib.org 或加QQ群:869598376


实时截图--应用场景

  1. 网页上显示摄像机的实时图像;
  2. 对多相机视频画面的审计,如有几千个相机,不可能同时显示几千个相机的视频,要全部遍历一次相机的画面非常耗时,而对所有相机的画面进行实时截图,再全部显示在客户端,可提升审计效率;

演示样例:http://www.feitianzhi.com/boke/index.php/archives/7/