iptables

Linux三阶段之一:架构介绍及环境部署

|▌冷眼眸甩不掉的悲伤 提交于 2020-05-02 11:39:10
一、架构介绍及环境部署 (一)了解集群架构服务器组成 基本架构组成:(用于让用户进行访问) 1、前端服务部分: 1)顾客-用户 是一个访问者,请求访问网站页面 2)保安-防火墙设备 对访问架构用户进行策略控制,正常访问网站用户,可以放行进入;非法人员(黑客)访问网站,禁止进入 3)对讲机-交换机(外网) 提供架构中服务器相互通讯交流的需求(提供外部人员访问) 4)迎宾人员-负载均衡服务器 对用户的访问请求进行调度处理 5)服务员-网站web服务器 对用户的请求进行响应处理 2、后端服务部分: 1)对讲机-交互机(内网) 提供架构中服务器相互通讯交流的需求(提供内部局域网服务器通讯交流) 2)厨师-数据库服务器 主要用于存储用户提交文字(字符串)数据信息 3)厨师-存储服务器 主要用于存储用户上传视频、音频、图片、附件等数据资料 4)厨师-备份服务器 主要用于对用户存储(上传)数据信息进行统一备份管理 5)厨师-缓存服务器 主要用于存储用户经常访问的数据信息,提升请求数据信息的响应效率。 3、扩展架构组成:(用于让运维人员远程管理架构中的服务器) 1)员工-运维人员 可以远程管理架构中服务器 2)审计-跳板机服务器 用于监管内部运维人员操作记录信息,一旦出现架构问题,可以快速定位问题原因,进行相应人员失误问责 3)经理-批量管理服务器 通过批量管理服务器可以批量管理架构中多台服务器

Linux三阶段之二:备份服务(rsync)

て烟熏妆下的殇ゞ 提交于 2020-05-02 11:38:50
二、备份服务(rsync) (一)rsync服务介绍 Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性。Rsync软件适用于unix/linux/windows等多种操作系统平台。 Rsync是一个快速和非常通用的文件复制工具。它能本地复制,远程复制,或者远程守护进程方式复制。它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制。它以其delta-transfer算法闻名。减少通过网络数据发送数量,利用只发送源文件和目标文件之间的差异信息,从而实现数据的增量同步复制。 (二)rsync服务命令简单应用 1、Rsync复制同步数据原理 在同步备份数据时,默认情况下,Rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限,属主等属性的变化同步,但需要指定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以可以实现快速的同步备份数据,即采用增量复制方法对数据信息进行同步,与传统cp,scp拷贝工具的全量拷贝复制截然不同,增量同步复制数据,在效率上远远高于全量复制。 2、Rsync备份软件7大特性总结: 支持拷贝普通文件与特殊文件如链接文件,设备等。

kubernetes基础概念知多少

…衆ロ難τιáo~ 提交于 2020-05-02 11:07:20
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用、高扩展性和可预测性的方式来管理容器应用的生命周期。通过k8s,用户可以定义程序运行方式、部署升级策略、动态伸缩容,使得用户以一种更灵活可靠的方式来管理应用程序。 关于k8s,是一种对应用服务的打包、部署、监控等一整套生命周期的自动化管理平台,目前各大公司已在生产环境部署使用,同时k8s社区比较活跃,在未来一段时间内会越来越流行,可以说是以后服务部署的事实标准,对于Java开发者来说,你可以不直接使用它,但是不能不了解它。 总结来看,k8s特点如下: 自动装箱 :基于容器,结合调度策略将多种应用部署到同一节点上,提高资源利用率; 自我修复 :支持故障转移/重启,具有健康检查机制; 水平扩展 :通过命令手动执行扩容,可基于CPU等资源负载率来动态实现伸缩容; 服务发现/负载均衡 :通过KubeDNS(或CoreDNS)为系统内置了服务发现功能,为每个service配置DNS名称,service通过iptables或ipvs内建了负载均衡机制; 自动部署 :自动发布和回滚,支持灰度、增量发布等; 配置管理 :ConfigMap实现了配置数据与Docker镜像解耦,为开发部署提供了良好的灵活性; 批处理 :除了管理服务型应用之外,Kubernetes还支持批处理作业及CI(持续集成)

Linux命令集锦:ansible命令

允我心安 提交于 2020-05-02 10:31:43
ansible 命令主要用于批量管理,来实现自动化管理。常用批量操作包括:主机分组管理、实时批量执行命令或脚本、实时批量分发文件或目录、定时同步文件等。 一、安装 ansible yum install ansible 安装完成后 /etc/ansible/ 目录下有个 hosts 文件,对主机实现批量管理主要是通过配置 hosts 文件。 二、ansible 命令参数介绍 基本使用: ansible命令格式:ansible <host-pattern> [options] 常用 options 参数: -m, NAME, --module-name=NAME: 指定执行使用的模块。 -a, 'ARGUMENTS', --args='ARGUMENTS': 模块参数。 -k, --ask-pass SSH: 认证密码。 常用 -m (module) 参数: shell、copy、script、file、yum、user、service <host-pattern> 主机列表配置: 编辑 /etc/ansible/hosts 文件,添加要批量执行的主机,可以指定分组。 [GROUP1] #组名 10.111 . 17.119 : 22 # 主机:端口,不指定端口则默认 ssh 端口为22 10.111 . 17.120 : 22 [GROUP2] 10.111 . 18.119 :

Linux内核的TCP协议栈和内核旁路的选择?

北城以北 提交于 2020-05-02 10:18:05
 【前言】最近在实习公司用到了solarflare的万兆网卡,用到了网卡的openonload技术还有TCPDirect模式代码的编写,其理论基础都是内核旁路。网上关于内核旁路技术的介绍基本就两篇,我结合solarflare的技术文档,总结一下。   原文地址(需要翻墙):https://blog.cloudflare.com/why-we-use-the-linux-kernels-tcp-stack/   转:最近的一篇文章提出了“我们为什么使用Linux内核的TCP协议栈”的问题,并在Hacker News引发了非常有意思的讨论。我的经验绝大部分来自于在这里和生产环境中成千的机器打交道,我可以试着从这个角度回答这个问题。   让我们从一个更宽泛的问题开始 – 到底什么才是运行一个操作系统的意义?如果你打算运行一个单独的应用,那使用一个包含几千万行代码的内核听起来就像一个负担。但实际上,我们绝大多数的人都决定要使用某种类型的操作系统,并且我们这么做主要有两个原因。首先,操作系统层带来了硬件的独立性和容易使用的API。有了这些我们可以专注于编写适用于任何机器的代码 – 而不只是我们目前所拥有的特定的硬件。其次,操作系统添加了一个时间分享的层。这让我们能同时运行多个应用。不管是一个额外的HTTP 服务器还是一次Bash会话,这个能在多个进程之间共享资源十分重要

[后渗透]Linux下的几种隐藏技术【转载】

我的未来我决定 提交于 2020-05-02 08:21:30
原作者:Bypass 原文链接: 转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术。 0x01 隐藏文件 Linux 下创建一个隐藏文件: touch .test.txt touch 命令可以创建一个文件,文件名前面加一个 点 就代表是隐藏文件,如下图: 一般的Linux下的隐藏目录使用命令ls -l是查看不出来的,只能查看到文件及文件夹,查看Linux下的隐藏文件需要用到命令:ls -al 这里,我们可以看到在/tmp下,默认存在多个隐藏目录,这些目录是恶意文件常用来藏身的地方。如: /temp/.ICE-unix/、/temp/.Test-unix/、/temp/.X11-unix/、/temp/.XIM-unix/ 0x02 隐藏权限 在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。 这个技巧常被用在后门,变成了一些难以清除的后门文件,令很多新手朋友感到头疼。 chattr +i evil.php 锁定文件 lsattr evil.php 属性查看 chattr -i evil.php 解除锁定 rm -rf 1.evil.php 删除文件 0x03 隐藏历史操作命令

linux安装mysql5.7.22,tomcat,jdk

こ雲淡風輕ζ 提交于 2020-05-01 19:30:35
1,linux安装MySQL5.7.22 (1)linux上有数据库服务器通过rpm -qa | grep mysql查看,需要先卸载掉本机的数据库服务器rpm -e --nodeps mysql-libs-5.1.73-8.el6_ (2)mkdir /usr/local/mysqls用于存放mysql压缩包 (3)下载mysql安装包:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz (4)解压压缩包:tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz (5)移动压缩包:mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/ (6)重命名:mv /usr/local/mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql (7)新建data目录:mkdir /usr/local/mysql/data (8)新建mysql用户,mysql用户组:(1)groupadd mysql (2)useradd mysql -g mysql (9)将/usr/local

通过trace stack检测内核函数是否被hook

末鹿安然 提交于 2020-05-01 13:06:36
Rootkit需要及时发现是否有程序抓它,而侦测程序本身也需要时刻警惕Rootkit的注入,左右互搏。 侦测程序发现Rootkit的手段是非常多的,前面我介绍过通过内核text段互相调用的地址范围来静态扫描的方式: https://blog.csdn.net/dog250/article/details/105474909 本文我将介绍一种动态trace stack的方式来捕捉内核函数的调用异常。 以一个中性程序为例来讲吧。无关褒贬善恶。 上个月,我实现了一个功能,统计被iptables在INPUT链上DROP掉的数据包的数量: https://blog.csdn.net/dog250/article/details/105206753 具体细节请看那篇文章吧。 我的意思是,如何查出ip_local_deliver的中间被hook了呢? 这其实很难,但也不是没有办法。 假设在不考虑性能损耗的情况下,我为内核的每一个函数头部添加一个jmp stub,在该stub中dump当前的stack,那么只要该stack的RBP下面附近有非内核text段地址区间范围的地址,那就需要详查,排除掉回调函数,剩下的就是非法的。 内核text段地址区间大致就是: ffffffff81000000 T _text .. . ffffffff81649abb T _etext 我们摆出DROP统计里的例子

Linux环境搭建2(JDK安装+Mysql安装+Tomcat安装+Linux工程发布)

妖精的绣舞 提交于 2020-05-01 11:29:58
1.JDK安装   步骤:   1) 查看当前 Linux系统是否已经安装java     输入 rpm -qa | grep java      2) 卸载两个 openJDK     输入 rpm -e --nodeps 要卸载的软件       3) 上传 jdk到linux    4) 解压 jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local    5) 配置 jdk环境变量,打开/etc/profile配置文件     vim /etc/profile       JAVA_HOME根据实际目录来:       JAVA_HOME=/usr/java/jdk1.8.0_60       CLASSPATH=$JAVA_HOME/lib/       PATH=$PATH:$JAVA_HOME/bin       export PATH JAVA_HOME CLASSPATH    6) 重新加载 /etc/profile 配置文件,命令:       source /etc/profile    7)查看安装情况:      2.Mysql安装    步骤:   1) 查看 CentOS自带的mysql     输入 rpm -qa | grep mysql      2) 将自带的

桥接和路由模式编译安装open***虚拟专用网络

蓝咒 提交于 2020-04-30 14:57:37
openv_n2.1编译安装 一、服务端安装 1.安装openv_nserver 安装其他版本的v_n2.1版本 2.安装环境: yum -y install pam-devel openssl-devel lzo-devel automake gcc gcc-c++ patch yum install -y pkcs11-helper pkcs11-helper-devel 10.168.10.0/24为 的网段地址 192.168.8.0/24为内网地址段 10.168.10.4 为 的内网地址 下载地址: wget https://static.saintic.com/download/thirdApp/Openv_n/openv_n-2.1_rc21.tar.gz wget https://static.saintic.com/download/thirdApp/Openv_n/openv_n-2.1_rc21_eurephia.patch 百度网盘屏蔽了v_n的程序了 3.编译安装: /usr/local/openv_n tar xvf openv_n-2.1_rc21.tar.gz cd openv_n-2.1_rc21 patch -p1 < ../openv_n-2.1_rc21_eurephia.patch ./configure && make && make