堡垒机简介
1.堡垒机的定义
堡垒机,又称运维审计系统或跳板机,是一种位于内部网络与外部网络之间的安全防护设备。它充当了一个“中间人”的角色,所有对内部网络资源的远程访问都必须通过堡垒机进行。堡垒机的核心设计目的在于严格控制和记录所有进出网络的访问行为,确保敏感信息资产的安全。简而言之,堡垒机是企业网络边界的一道坚固防线,为内部网络提供了一层额外的保护屏障。

堡垒机,又称运维审计系统或跳板机,是一种位于内部网络与外部网络之间的安全防护设备。它充当了一个“中间人”的角色,所有对内部网络资源的远程访问都必须通过堡垒机进行。堡垒机的核心设计目的在于严格控制和记录所有进出网络的访问行为,确保敏感信息资产的安全。简而言之,堡垒机是企业网络边界的一道坚固防线,为内部网络提供了一层额外的保护屏障。

通常在数据中心中,我们将其网络流量分为两种类型,一种是数据中心外部用户和内部服务器之间交互的流量,这样的流量称作南北向流量或者纵向流量;另外一种就是数据中心内部服务器之间交互的流量,也叫东西向流量或者横向流量。
南北向流量:指数据流量从数据中心进入和离开的流量,就是客户端和服务器之间,或者是用户与应用之间的这种通信流量。 当一个终端用户访问数据中心内的网站,产生的流量访问就是南北流量。
东西向流量:指数据中心内部的之间的流量,也就是服务器与服务器之间通信产生的流量,通常包括服务器之间的数据同步、备份和虚拟机的迁移,随着云计算、分布式应用和微服务架构的普及和推广,越来越丰富的业务对数据中心的流量模型产生了巨大的冲击,如搜索、并行计算等业务,需要大量的服务器组成集群系统,协同完成工作,这导致服务器之间的流量变得非常大,东西流量在数据中心占比越来越大。
南北向流量通常需要经过边界设备(如防火墙、负载均衡器)进行处理,而东西向流量则由服务网格内部的边车代理(如Envoy)进行处理。
南北向流量需要严格的身份验证、授权和防护措施,而东西向流量也需要身份验证和授权,但在某些情况下可能更注重加密通信。
基于安全原因需升级openssh版本到最新版,同时需对openssl的版本进行升级。为防止卸载ssh后可能无法访问服务器,需安装telnet-server保证ssh升级失败后可继续远程连接。(建议同时开启多个ssh窗口)
将 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 升级为 OpenSSH_9.8p1, OpenSSL 1.1.1w 11 Sep 2023
1. 下载与安装
nginx比较简单直接,到官网下载一个面向window的zip压缩包,解压到自己想安装的地方即可。
本文以 nginx版本1.23.3,根目录 D:\software\nginx-1.23.3 为例。
将本脚本放置到项目目录下,如www,双击则自动遍历www目录下所有项目并拉取代码。
@echo off
setlocal
@REM normalize the relative path to a shorter absolute path.
pushd "%~dp0"
set repos_path=%CD%
popd
call :find_and_pull %repos_path%
echo. & echo Finished. & pause>nul
goto :EOF
::-------------------------------------
:: @name find_and_pull
:: @param %1 base directory to find .git
:: @usage call :find_and_pull %base_dir%
::-------------------------------------
:find_and_pull
for /d %%i in (%1\*) do (
cd %%i
if exist .git (
echo. & echo [ START git pull FROM ] %%i
git pull
) else (
call :find_and_pull %%i
)
)
goto :EOF
Nginx的热更新是通过多条信号命令组合完成,可粗略分为两个步骤:
1、通知老master启动新的master二进制文件。
2、通知老master进程优雅退出。
重命名之前的sbin/nginx文件,将新的nginx文件放到sbin/目录下。
#mv ./sbin/nginx ./sbin/nginx.old
#cp ~/nginx ./sbin/向正在运行的nginx发送USR2信号启动新的nginx,这个时候新老nginx都会接收请求,看哪一个进程能抢到锁,抢到锁的worker进程可以accpet新请求。
#kill -USR2 `cat nginx.pid`观察新的nginx运行无误后,向旧nginx发信号 停止旧nginx的运行。
#kill -WINCH `cat nginx.pid.oldbin`
#kill -QUIT `cat nginx.pid.oldbin` shell脚本提交以前必须用静态代码扫描工具 shellcheck 扫描,根据提示修改代码,需达到扫描后无报错即可通过。
#安装shellcheck
yum install shellcheck
#扫描
shellcheck -x -s bash *.sh
# -s 指定使用bash
# -x 给予shellcheck跟踪文件的权限,例如一个文件中导入了其他文件shellcheck 扫描出的每一个错误,均有其编号,以 SC+4位数字 组成。分为两部分:
网站指定时间段禁止访问,可通过:
准备两份不同的配置文件,经过操作系统定时任务切换;
配置定时任务,每天reload,需要准备两份不同的配置文件,而且需要留意reload是否生效。
通过Nginx的if语句对时间进行判断,如果当前时间为限制时间,则返回其他页面或500;
server中添加配置
# 获取本地时间
if ( $time_local ~ "^(\d+)\/(\w+)\/(\d+):(\d+):(\d+):(\d+) \+(\d+)" ) {
set $hour $4;
}
# 指定时间黑名单,如果为指定时间,返回500
if ( $hour ~ 00|01|05|06|07 ) {
return 500;
}