目錄
0x00 产品定位
0x01 国外竞争产品分析
0x02 产品目标
0x03 市场机会
3.1 我们的机会在哪里
3.2 如何成功?
3.3 项目里程碑
0x04 产品功能详细架构设计(Product Proposal)
4.1 产品定位
4.2、产品功能详细设计
0x05 产品技术架构设计
0x06 Demo搭建
6.1 服务器端
6.1.1 Nginx安装部署
6.1.2 Django&uwsgi安装配置
6.2 Web后端
6.2.1 Php-fpm安装
6.2.2 Mysql扩展安装
6.2.3 Yaf扩展安装
首頁 後端開發 php教程 云服务器安全设计

云服务器安全设计

Jun 23, 2016 pm 01:16 PM

0x00 产品定位

目前越来越多的初创企业把自己的业务系统架设在公有云上,包含:阿里云、Ucloud、青云、华为云和AWS。在云上的安全怎么保证,是目前摆在我们面前的最大问题,因为,互联网公司业务系统在不断迭代,迭代周期最少的有3天,而且架构也不断在改变。在这种频繁改变的过程中,云安全应该怎么保证?,云主机安全服务平台(Cloud security as a service),为多租户提供云主机安全服务的产品,减少用户业务系统攻击面,防止恶意的定向攻击(APT)。造成企业敏感信息泄露等,避免影响企业业务的安全事件的发生。

0x01 国外竞争产品分析

目前在云主机安全ToB的国外厂商归纳总结有以下几家:

技术方向 厂商
云安全信息和事件管理产品 Splunk、AlienVault
云主机安全产品 CloudPassage、Illumio、vArmour、FortyCloud
私有云服务器安全 TrendMicro、Symantec、McAfee
厂家 描述
Illumio 自适应安全
FortyCloud Cloud Network Firewall as a Service
vArmour 利用大数据分析技术,通过扫描进入网络的每一块数据来筛查疑似非法数据并对其进行标记,跟踪。
CloudPassage 服务器的安全配置管理、托管防火墙管理、入侵检测、服务器账号审计、事件报告与告警
Splunk 从海量机器数据中提取有价值的信息,并进行实时分析和展现
AlienVault 为客户提供SIEM解决方案。同时,AlienVault结合众包威胁情报平台提供了一个混合威胁管理解决方案。
TrendMicro,McAfee,Symantec VMware、Hyper-v、Linux KVM私有云虚拟机安全解决方案

0x02 产品目标

针对互联网金融中小企业用户。获取用户改进产品,互联网金融目标用户行业分析如下:

业务模式名称 业务模式详细描述 代表企业:安全业务需求
第三方支付企业模式 第三方支付企业指在收付款人之间作为中介机构提供网络支付、预付卡发行预受理、银行卡收单以及其他支付服务的非金融机构 支付宝、易宝支付、拉卡拉、财付通为代表的互联网支付企业,快钱、汇付天下为代表的金融型支付企业。
P2P网络小额信贷模式 通过P2P网络融资平台,借款人直接发布借款信息,出借人了解对方的身份信息、信用信息后,可以直接与借款人签署借贷合同,提供小额贷款,并能及时获知借款人的还款进度,获得投资回报。 代表企业:美国的prosper和lendingclubP2P公司,国内的人人贷、拍拍贷、红岭创投等 陆金所
众筹融资模式 所谓众筹平台,是指创意人向公众募集小额资金或其他支持,再将创意实施结果反馈给出资人的平台。网站为网友提供发起筹资创意,整理出资人信息,公开创意实施结果的平台,以与筹资人分成为主要赢利模式 代表企业:国外最早和最知名的平台是kickstarter,国内有点名时间、众筹网、淘梦网等 京东众筹、人人投、追梦网、大家投
虚拟电子货币模式 虚拟货币是一种计算机运算产生或者网络社区发行管理的网络虚拟货币,可以用来购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,也可以使用像比特币这样的虚拟货币购买现实生活当中的物品。 代表企业:国外的比特币、亚马逊币、Facebook币,国内的Q币等。
基于大数据的金融服务平台模式 通过打造类似去哪儿这样的金融产品垂直搜索引擎的方式,把有借款需求的个人和有放款需要的中小银行和小贷机构在一个平台上进行对接;然后通过广告费或者交易佣金的方式获得收入。 代表企业:国外的Bankrate(银率网),国内的融360、好贷网、金融界理财等
互联网银行模式(Internet bank or E-bank) 借助现代数字通信、互联网、移动通信及物联网技术,通过云计算、大数据等方式在线实现为客户提供存款、贷款、支付、结算、汇转、电子票证、电子信用、账户管理、货币互换、P2P金融、投资理财、金融信息等全方位无缝、快捷、安全和高效的互联网金融服务机构。互联网银行的便利性、高效性将给传统银行带来较大的挑战
互联网理财 通过互联网进行更高效的更便捷的钱生钱的事业 铜板街、格上理财、招财宝 - 蚂蚁金服、积木盒子、火球

0x03 市场机会

3.1 我们的机会在哪里

国内云主机安全服务平台有以下几家:

厂商名称 产品介绍
乌云唐朝巡航 借助众测试等社区运营模式产生的云主机安全解决方案,主要是及时响应服务器安全漏洞。
阿里云盾 DDoS防护,主机入侵防护,以及漏洞检测、木马检测等一整套安全服务
安全狗 基于主机WAF 和anti-DDoS功能
知道创宇 加速乐、云安全监控平台、ZoomEye大数据安全扫描平台
百度安全宝 云WAF企业版、DDoS云防护、应急响应
青藤云安全 自适应安全理念的产品化的国内第一家厂商

面对这些公司的竞争,我们的竞争力在于获得种子用户,完全开源的策略。提供安全运维服务。二次开发等服务。

3.2 如何成功?

支持云方式部署方式,快速获取用户。免费安装模式。

如果用户打算使用我们的解决方案,可以独立部署或者开放源代码。

KPI考核

统计安装用户数量、留存率,月付费用户转化率。免费用户

3.3 项目里程碑

0x04 产品功能详细架构设计(Product Proposal)

4.1 产品定位

通过以上国内外云安全公司产品分析,我认为云主机安全平台需要具备以下四个大功能模块。

开发的优先级如下:

  1. 基于日志大数据收集分析平台(P1)
  2. 基于基于Agent收集云主机相关精确的安全信息 (P2) 本模块需要大量的开发人员完成,如果获得天使轮融资后可以开发。
  3. 威胁情报模块(P2) 威胁情报这部分可以对接国内的威胁情报系统 例如:微步等。
  4. SDN网络安全防火墙模块(P2)防火墙模块目前还需要做更多的研究才能集成,建议使用linux主机上自带iptable实现。

4.2、产品功能详细设计

针对P1需要完成的功能,建立基于大数据分析平台,防范APT攻击。产品概念设计可以 为:基于日志的态势感知功能。

处理Web日志数据结构如下:

所选择的实现技术手段:

由于前期数据量没有到达一定的数量级,可以使用传统的关系型数据实现。当然如果本系统应用到大公司的时候可以迭代技术架构、hadoop或者storm来解决问题。

业务流程图:

核心界面设计:通过visio原型图表现。

核心界面首先,要画出原型图,那么,和用户接触最多的是web前端,所以,设计要精致。

(1)Web前端

Web前端分为四大功能模块

  1. Dashboard:显示攻击类型和攻击源
  2. Analysis:图形化分析详细的攻击方式
  3. Reporting: 以数据形式展示攻击类型、攻击源和详细攻击方式
  4. Configuration:参数配置(非核心模块就不展示了)

(2)Web管理后台

交互流程设计:正常应该通过Axure动画表现,由于本次设计不是特别复杂,只是几个功能模块的切换就不画交换流程图了。

0x05 产品技术架构设计

由于目前产品设计需要考虑高扩展性,所以技术选型大致如下:

0x06 Demo搭建

根据技术选型后,需要建立Demo 环境技术难点集中在服务器端和Web后端。那么下面说明一下这两部分搭建:

6.1 服务器端

组件名称 详细描述
操作系统 Centos 6.7 Final
Web前端服务器 Nginx/1.8.1
Web服务器 Django/1.7
Python解析器 uwsgi
Python语言 Python 2.7.10
Restful API架构 Tastypie

看到这个架构其实很多小朋友会问为啥要这么设计,太繁琐了?其实设计原则主要是为了将来的扩展性。Web前端服务器:本系统是一个公有云安全平台,用户量将来要不断的增加,使用Nginx可以做到横向扩展。

6.1.1 Nginx安装部署

Nginx部署过程:

  1. rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
  2. yum -y install nginx
  3. service nginx restart
  4. chkconfig nginx on

配置nginx在/etc/nginx/conf.d/中增加MyPythonServer.conf,内容如下:

#!bashhttp {    #负载均衡    upstream production_site{        server web1.xxx.com:8080 weight=6 max_fails=3 fail_timeout=20s;        server web2.xxx.com:8080 weight=3 max_fails=3 fail_timeout=20s;        server web3.xxx.com:8080 weight=7 max_fails=3 fail_timeout=20s;        server web4.xxx.com:8080 weight=8 max_fails=3 fail_timeout=20s;    }    server {    listen      8090;    server_name web1.xxx.com,web2.xxx.com,web3.xxx.com,web4.xxx.com;    charset     utf-8;    client_max_body_size 75M;    location / {        uwsgi_pass  django;        include     uwsgi_params;    }}
登入後複製

6.1.2 Django&uwsgi安装配置

#!bash[root@localhost venv]# pip install Django安装uWSGI[root@localhost venv]# pip install uwsgi[uwsgi]home=/data/Mydata/envchdir=/data/Mydata/uid=rootgid=rootwsgi-file=/data/Mydata/wsgi.pysocket=127.0.0.1:8001master=trueworkers=8pidfile=/data/Mydata/uwsgi.pidvacuum=truethunder-lock=trueenable-threads=trueharakiri=30post-buffering=4096daemonize=/data/Mydata/uwsgi.loglogger=file:/data/Mydata/uwsgi.log
登入後複製

6.2 Web后端

6.2.1 Php-fpm安装

nginx 安装忽略

#!bashcd /usr/local/src/ wget http://php.net/distributions/php-5.6.8.tar.gztar --zxvf  php-5.6.8.tar.gzyum install -y libxml2 libxml2-devel openssl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel mcrypt mhash./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --enable-fpm --disable-ipv6 --enable-pdo --with-pdo-mysql --with-openssl --with-mcrypt --with-mhash --enable-json --enable-mbstring --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --enable-zipmake make installcp /usr/local/php5/etc/php-fpm.conf.default   /usr/local/php5/etc/php-fpm.confcp /usr/local/src/php-5.6.8/sapi/fpm/init.d.php-fpm /usr/local/php5/sbin/ cd /usr/local/php5/sbin/ chmod 755 init.d.php-fpm ./init.d.php-fpm start Starting php-fpm done
登入後複製

配置Nginx来支持PHP

#!bashcd /etc/nginx/vi nginx.conf#打开gzipgzip    on;
登入後複製

配置vhost,假设域名为www.xxx.com

#!bashcd /etc/nginx/conf.d/vi www.xxx.com.conf#内容如下server {        listen 80;        server_name www.xxx.com xxx.com;        location / {                #开启ssi支持shtml                ssi on;                ssi_silent_errors on;                ssi_types text/shtml;                index index.shtml index.php index.htm index.html;                root /data/www/www.xxx.com;                #框架路由设置                if ( !-e $request_filename ) {                        rewrite ^(.*)$ /index.php?url=$1 last;                }        }        location ~.php$ {                root /data/www/www.xxx.com;                fastcgi_pass 127.0.0.1:9000;                fastcgi_index index.php;                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                include fastcgi_params;        }        location ~.(jpg|jpeg|png|js|css) {                root /data/www/www.xxx.com;                expires 30d;        }}
登入後複製

测试一下 配置文件是否有错误

#!bash/etc/init.d/nginx configtestnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful
登入後複製

新建info.php测试文件,内容为

#!php<?phpphpinfo();?>
登入後複製

然后:

#!bashvim /etc/hosts127.0.0.1  www.xxx.comcd /usr/local/src/php-5.6.8cp php.ini-production /usr/local/php5/etc/php.ini
登入後複製

至此nginx+php-fpm设置完成。

6.2.2 Mysql扩展安装

#!bashyum install mysql-devel
登入後複製

由于之前没有安装mysql服务,也没有安装php的mysql扩展,用是PDO方式,为适应老版本的joomla程序,再添加mysql.so扩展

方法如下:

1、进入php源代码目录:

#!bashcd /usr/local/src/php-5.6.8/extcd mysqlyum install autoconf
登入後複製

调用已经编译好的php可执行程序phpize,phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块

phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。

#!bash/usr/local/php5/bin/phpize./configure --with-php-config=/usr/local/php5/bin/php-config --with-mysql --with-zlib-dir=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/make && make install
登入後複製

完成后,可以看到no-debug-non-zts-20131226目录下生成了mysql.so文件

修改php.ini,去掉 ;extension=php_mysql.so 前面的分号。将 php_mysql.so 改成我们生成的 mysql.so 。

重启 php-fpm 后可以从phpinfo看到mysql扩展已经生效。

6.2.3 Yaf扩展安装

#!bashwget https://github.com/laruence/yaf/archive/master.zipunzip master.zip./configure --with-php-config=/usr/local/php5/bin/php-configmake && make installvim /usr/local/php5/etc/php.iniextension=yaf.so
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? 說明PHP中的安全密碼散列(例如,password_hash,password_verify)。為什麼不使用MD5或SHA1? Apr 17, 2025 am 12:06 AM

在PHP中,應使用password_hash和password_verify函數實現安全的密碼哈希處理,不應使用MD5或SHA1。1)password_hash生成包含鹽值的哈希,增強安全性。 2)password_verify驗證密碼,通過比較哈希值確保安全。 3)MD5和SHA1易受攻擊且缺乏鹽值,不適合現代密碼安全。

PHP和Python:比較兩種流行的編程語言 PHP和Python:比較兩種流行的編程語言 Apr 14, 2025 am 12:13 AM

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP行動:現實世界中的示例和應用程序 PHP行動:現實世界中的示例和應用程序 Apr 14, 2025 am 12:19 AM

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP:網絡開發的關鍵語言 PHP:網絡開發的關鍵語言 Apr 13, 2025 am 12:08 AM

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型? Apr 17, 2025 am 12:25 AM

PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

PHP的持久相關性:它還活著嗎? PHP的持久相關性:它還活著嗎? Apr 14, 2025 am 12:12 AM

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。

PHP和Python:代碼示例和比較 PHP和Python:代碼示例和比較 Apr 15, 2025 am 12:07 AM

PHP和Python各有優劣,選擇取決於項目需求和個人偏好。 1.PHP適合快速開發和維護大型Web應用。 2.Python在數據科學和機器學習領域佔據主導地位。

PHP與其他語言:比較 PHP與其他語言:比較 Apr 13, 2025 am 12:19 AM

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

See all articles