系统安全加固

article/2025/8/14 1:17:12
                                                    已申请专利,仿冒必究 作者:Xiwu Liu


系统安全加固



文章目录

  • 系统安全加固
    • @[toc]
      • 3.1系统登录策略加固
        • 1.密码策略(Log,Web,Data)
          • Log
          • Web
          • Data
        • 2.登录策略(Log,Web,Data)
          • Log
          • Web
          • Date
        • 3.用户安全管理(Web)
      • 3.2 数据库安全加固(Data)
      • 3.3 IIS信息服务安全加固(Web)
      • 3.4 网站审核与日志信息(Web,Log)
          • Log
          • Web
      • 3.5 常见服务加固VSFTP/SSH(Data)
      • 3.6 本地防火墙安全策略(Web,Log)


3.1系统登录策略加固

1.密码策略(Log,Web,Data)

a. 设置最短密码长度为8,密码的使用期限7-30天

b. 密码策略必须同时满足大小写字母、数字、特殊字符。


Log
#CentOS7/RHEL7 开始使用pam_pwquality模块进行密码复杂度策略的控制管理。pam_pwquality替换了原来Centos6/RHEL6中的pam_cracklib模块,并向后兼容。password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1
retry=3  //重试次数minlen=10  //密码最小长度difok=3  //密码是否和以前相同 ucredit=-1  //大写字母lcredit=-2  //小写字母dcredit=-1  //数字ocredit=-1   //标点符号
安装PAM的cracklib模块,cracklib能提供额外的密码检查能力sudo apt-get install libpam-cracklib 
设置最短密码长度和复杂度 sudo vim /etc/pam.d/common-password 

在这里插入图片描述

sudo vim /etc/login.defs

在这里插入图片描述


Web

搜索本地安全策略

在这里插入图片描述

设置

在这里插入图片描述

满足的要求

在这里插入图片描述


Data

以centos为MySQL(可以用Ubantu)

Centos 7安装Mysql详细步骤

Variable_name                                 Value validate_password_check_user_name             OFF          
validate_password_dictionary_file                        //密码文件保存路径
validate_password_length                      8          //密码长度,默认为8
validate_password_mixed_case_count            1          //密码中英文字母的个数,默认为1
validate_password_number_count                1          //密码中数字的个数,默认为1
validate_password_policy                    MEDIUM   //密码强度(LOW、MEDIUM、STRONG)默认为MEDIUM
validate_password_special_char_count         1          //密码中特殊符号的个数,默认为1
default_password_lifetime = 30               30         // mysql用户的密码过期时间为30天

SHOW VARIABLES LIKE ‘validate_password%’; //查询密码策略

关于 mysql 密码策略相关参数;1)、validate_password_length  //固定密码的总长度;2)、validate_password_dictionary_file  //指定密码验证的文件路径;3)、validate_password_mixed_case_count  //整个密码中至少要包含大/小写字母的总个数;4)、validate_password_number_count  //整个密码中至少要包含阿拉伯数字的个数;5)、validate_password_policy  //指定密码的强度验证等级,默认为 MEDIUM;关于 validate_password_policy  //的取值:0/LOW:只验证长度;1/MEDIUM:验证长度、数字、大小写、特殊字符;2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;6)、validate_password_special_char_count  //整个密码中至少要包含特殊字符的个数;
mysql> SET GLOBAL default_password_lifetime=30;  //修改语句

在这里插入图片描述



2.登录策略(Log,Web,Data)

a.在用户登录系统时,应该有“For authorized users only”提示信息;

b.一分钟内仅允许3次登录失败的尝试,超过3次,登录帐号锁定1分钟;

c.远程用户非活动会话连接超时应小于等于5分钟。


Log

交互式提示信息

vim /etc/issue-----------warning------------- 
For authorized users only 
------------------------------ 
vim /etc/issue.net -----------warning------------- For authorized users only 
------------------------------ 
vim /etc/motd -----------warning------------- For authorized users only 
------------------------------ 

在这里插入图片描述

在这里插入图片描述

sshd

vim /etc/ssh/sshd_config

在这里插入图片描述

vim /etc/ssh/Banner  //在ssh目录下新建一个文件Banner和sshd_config里的对应

在这里插入图片描述

service sshd restart 

在这里插入图片描述

登录失败限制

sudo vim /etc/pam.d/login 
写入
auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60
参数
even_deny_root    也限制root用户;
deny              设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time       设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time  设定root用户锁定后,多少时间后解锁,单位是秒;

在这里插入图片描述

在第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的

sudo vim /etc/pam.d/sshd auth required pam_tally2.so deny=3 unlock_time=60 even_deny_root root_unlock_time=60

在这里插入图片描述

service sshd restart

远程用户非活动会话连接超时

vim /etc/ssh/sshd_config

在这里插入图片描述


Web

做交互式提示

交互式登录消息文本和标题

在这里插入图片描述

在这里插入图片描述

登录失败限制

在这里插入图片描述

在这里插入图片描述

远程用户非活动会话连接超时

(打开管理工具,找到远程桌面服务,进入远程桌面会话主机设置,右键RDP-Tcp属性,在会话栏目进行修改)

在这里插入图片描述


Date

(做交互式提示,登录失败限制,远程用户非活动会话连接超时)



3.用户安全管理(Web)

a.设置user1用户只能在上班时间(周一至周五)的9:00~18:00可以登录(Web)

b.设置操作系统中的关键目录(system32、hosts、Program Files、Perflogs)的权限为最优状态,即仅允许管理员用户进行读取及运行。

创建用户user1

在这里插入图片描述

设置上班时间

net user user1 /time:m-f,9am-6pm

在这里插入图片描述

查看net user user1

在这里插入图片描述

设置操作系统关键目录权限

找到hosts文件位置C:\Windows\System32\drivers\etc,右键hosts文件属性 -> 安全 -> 高级 -> 所有者,将所有者改为管理员组

在这里插入图片描述

高级 -> 权限 -> 更改权限,将包括可从该对象的父项继承的权限取消勾选

在这里插入图片描述

弹出窗口,点击删除,点击添加,将Administrators组加入,设置权限为读取和运行

在这里插入图片描述

剩下的system32、ProgramFiles、Perflogs设置方法都一样



3.2 数据库安全加固(Data)

(涉及mysqld服务要记得重启systemctl start mysqld)

1.为防止root用户密钥泄露禁止MySql以管理员帐号权限运行;

找到mysql配置文件; (/etc/my.cnf),在[mysqld]选项下加入user=mysql

//##添加[mysql.server]
user=mysql

在这里插入图片描述


2.为防止非授权用户访问本地文件请禁用相关功能

vim /etc/my.cnf#在[mysqld]下面加入
set-variable=local-infile=0
#local-infile=0

在这里插入图片描述


3.为防止用户在使用漏洞查询相关信息,请禁用使用mysql命令行历史记录

rm -f ~/.mysql_historyvim /etc/profile
在该配置文件末尾添加export MYSQL_HISTFILE=/dev/null

在这里插入图片描述

source /etc/profile

rm -rf /root/.mysql_historyln -s /dev/null /root/.mysql.history

4.控制慢查询日志文件的权限

vim /etc/my.cnfslow_query_log=1  //1:开启; 0:关闭
slow_query_log_file=/usr/java/mysql/db-server-slow.log   //日志文件操作权限
chmod -R 777 /usr/java/mysql
long_query_time=1   //单位为秒, 超过1秒的都记录下来

在MySQL里

开启慢查询日志: set global slow_query_log = on;
设置慢查询阀值:   set global long_query_time = 1;
确定慢查询日志路径:  show global variables like "datadir";
确定慢查询日志的文件名:  show global variables like "slow_query_log_file";

5.为监控使用者信息请开启数据审计功能

vim /etc/my.cnf#在/etc/my.cnf中添加下述配置[mysqld]
general_log = on                                          // on为开启;off为关闭
general_log_file = /var/log/generalLog.log         // 审计信息存储位置
log_timestamps = SYSTEM                                // 设置日志文件的输出时间为地方时systemctl restart mysqld 

6.使用 MySql 内置 MD5 加密函数加密用户user1的密码 (P@ssw0rd1!);

update mysql.user set password=md5("P@ssw0rd1!") where user="user1";

在这里插入图片描述



3.3 IIS信息服务安全加固(Web)


1.为防止攻击者利用页面报错获得网站目录等敏感信息,请关闭asp报错功能;

首先需要打开地址池启动32位应用程序

在这里插入图片描述

接着设置启动父路径设置为true

在这里插入图片描述

在这里插入图片描述


2.为防止文件枚举漏洞枚举网络服务器根目录文件,请禁止IIS短文件名泄露;

打开cmd输入fsutil 8dot3name set 1
//1表示禁用,0表示启用。如果不写盘符,则是全局设置,这时可选的有4个值:0(全部启动),1(全部禁用), 2(每个盘符单独设置),3(除系统盘外全部禁用)。全局设置也可以通过注册实现或注册表修改(重启服务器生效)
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem\NtfsDi sable8dot3NameCreation的值为1如果你的web环境不需要asp.net的支持你可以进入Internet 信息服务(IIS)管理器 — Web 服务扩展 – ASP.NET 选择禁止此功能

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


3.为方便收到攻击后搜索黑客记录,请开启审计并修改默认的IIS日志文件配置为 W3C,只记录日期、时间、客户端IP地址、用户名、方法;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


4.为防止攻击者更改文件后缀突破上传限制从而得到webshell,请删除不必要的应用程序扩展只保留.asp;

打开请求筛选 ,设置上传保留扩展名.asp

在这里插入图片描述


5.为防止黑客上传木马后还能执行请限制网站目录权限配置对 picture 和 upload 目录设置执行权限为无;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


6.为了减轻网站负载,请设置网站最大并发连接数为1500;

在这里插入图片描述

在这里插入图片描述



3.4 网站审核与日志信息(Web,Log)

Log

1.为了防止密码在登录或者传输信息时被窃取,仅使用证书登录SSH(Log);

生成一对密钥 公钥
ssh-keygen -t rsa
得到两个文件 id_rsa(私钥) id_rsa.pub(公钥)
私钥给客户端 公钥存于 /home/user/.ssh/authorized_keys
这样就实现了验证的基础
如多个用户想省去多个公钥管理的烦恼可以将生成的多个公钥合成一个文件,每个公钥之间换行即可。# ssh-keygen -t ed25519 -o -a 100 -C "Your comment here"
# ssh-keygen -t rsa -b 4096 -o -a 100 -C "Your comment here"
-t 表示证书密钥类型;-C 表示给证书添加一句注释的话,一般用于标记证书所有者和用途,免得回头自己都忘了哪个
证书是干什么的了。
ssh-keygen = 用于创建密钥的程序
-m PEM = 将密钥的格式设为 PEM
-t rsa = 要创建的密钥类型,本例中为 RSA 格式
-b 4096 = 密钥的位数,本例中为 4096
-C "azureuser@myserver" = 追加到公钥文件末尾以便于识别的注释。 通常以电子邮件地址用作注释,但也可以使用
任何最适合你基础结构的事物。
-f ~/.ssh/mykeys/myprivatekey = 私钥文件的文件名(如果选择不使用默认名称)。 追加了 .pub 的相应公钥文
件在相同目录中生成。 该目录必须存在。
-N mypassphrase = 用于访问私钥文件的其他密码。
[root@lxw ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:FBdQsW+IZlMKhNhvCiodYm7blvwmaIkvLaGNkG+sdYA root@lxw
The key's randomart image is:
+---[RSA 2048]----+
|   o .. oo=o     |
|  . o.   o .     |
|     .. . o      |
|.oo   oo + o     |
|E=.o o  S . o    |
|*o...  o . .     |
|*BB o            |
|***B .           |
|o*o +.           |
+----[SHA256]-----+
 cat id_rsa.pub >> ~/.ssh/authorized_keysvim /etc/ssh/sshd_config 38 #PermitRootLogin yes39 PermitRootLogin no40 #StrictModes yes41 StrictModes no45 #RSAAuthentication yes46 RSAAuthentication yes47 48 #PubkeyAuthentication yes49 PubkeyAuthentication yes53 #AuthorizedKeysFile     .ssh/authorized_keys54 AuthorizedKeysFile      .ssh/authorized_keys72 #PasswordAuthentication yes73 PasswordAuthentication noservice sshd restart 
编辑 /etc/ssh/sshd_config 文件,进行如下设置: 
RSAAuthentication yes 
PubkeyAuthentication yes 
另外,请留意 root 用户能否通过 SSH 登录: 
PermitRootLogin yes 
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录: 
PasswordAuthentication no 
最后,重启 SSH 服务: 
[root@host .ssh]$ service sshd restart 然后把id_rsa这个私钥导入本机,然后再导入xshell(远程主机)中就可以进行登录

Web

2.请开启 Web服务器审核策略并完成以下需求(Web);

a.登录事件 成功/失败;

b.特权使用 成功;

c.策略更改 成功/失败;

d.进程跟踪 成功/失败;

e.将审核策略的配置界面截图;

cmd输入gpedit.msc回车 ,计算机配置-Windows配置-安全设置-本地策略-审核策略

在这里插入图片描述



3.5 常见服务加固VSFTP/SSH(Data)

(PS:记得重启服务)

1.为加强ssh访问安全请修改ssh服务端口为2000;

 vim /etc/ssh/sshd_config17 Port 2000     //改为2000,修改/etc/ssh/sshd_config配置文件中的Port字段18 #AddressFamily any19 #ListenAddress 0.0.0.020 #ListenAddress ::service sshd restart  //重启sshd服务###如果selinux和防火墙没开,修改端口可以直接改变,否则使用以下操作
如果selinux阻拦
semanage port -a -t ssh_port_t -p tcp 1024 #添加端口
systemctl restart sshd #重启服务
查看防火墙状态
2.为记录登录和注销活动请设置SSH中LogLevel状态;
查看防火墙的状态,关闭则开启
systemctl start firewalld #开启防火墙
systemctl status firewalld #查看防火墙状态
1
2
查看防火墙当前「默认」和「激活」zone(区域)
firewall-cmd --get-default-zone
public
firewall-cmd --get-active-zones
public
interfaces: ens33 #这里是网卡,可以使用ip addr查看你的网卡名称
#若没有激活区域的话,要执行下面的命令。
firewall-cmd --set-default-zone=public
firewall-cmd --zone=public --add-interface=eth0 #eth0 就是网卡名称
firewall-cmd --get-default-zone
public
firewall-cmd --get-active-zones
public
interfaces: ens33 #这里是网卡,可以使用ip addr查看你的网卡名称
#若没有激活区域的话,要执行下面的命令。
firewall-cmd --set-default-zone=public
firewall-cmd --zone=public --add-interface=eth0 #eth0 就是网卡名称
为 public zone 永久开放 1024/TCP 端口
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=1024/tcp
#成功后重载防火墙
firewall-cmd --reload
firewall-cmd --permanent --list-port # 这里看到我们所有暴露出来的端口
这是我们可以看到我们添加的端口生效了,接下来我们使用远程工具测试新端口,如果测试通过,接下来我们将22的端
口删除即可
vi /etc/ssh/sshd_config #将Port22注释
$ systemctl restart sshd #重启服务
$ ss -tnlp | grep ssh # 用 ss 命令检查 ssh 监听的端口,没有 22 证明修改成##然后就可以修改ssh服务端口了

在这里插入图片描述


2.为记录登录和注销活动请设置SSH中LogLevel状态;

确保SSH LogLevel设置为INFO,记录登录和注销活动

编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释):LogLevel INFO

操作时建议做好记录或备份

 vim /etc/ssh/sshd_config33 #LogLevel INFO34 LogLevel INFO

在这里插入图片描述


3.为防止root用户密钥泄露SSH禁止ROOT用户远程登录;

 vim /etc/ssh/sshd_config37 #LoginGraceTime 2m38 #PermitRootLogin yes39 PermitRootLogin no   //修改/etc/ssh/sshd_config配置文件中的PermitRootLogin字段为noservice sshd restart   //重启sshd服务

在这里插入图片描述


4.为保障vsFTPd访问安全仅允许匿名用户进行浏览下载;

#不允许匿名用户认证
anonymous_enable=NO
#NO表示所有用户都可以跳出家目录,YES表示都不可以跳出,默认为都可以跳出
chroot_local_user=NO
#启用可以或不可以跳出家目录的例外
chroot_list_enable=YES
#当chroot_local_user=NO时,chroot_list里面配置的用户不可以跳出家目录,当chroot_local_user=YES时,
chroot_list里面配置的用户可以跳出家目录
chroot_list_file=/etc/vsftpd/chroot_list
#以下这些是关于Vsftpd虚拟用户支持的重要配置项目。默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配#用户家目录可写,默认是只读的
allow_writeable_chroot=YES
#设定启用虚拟用户功能。
guest_enable=YES
#指定虚拟用户的宿主用户。
guest_username=other
#设定虚拟用户的权限符合他们的宿主用户。
virtual_use_local_privs=YES
#设定虚拟用户个人vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个vsftp虚拟用户个性的配
置文件,一个需要注意的地方就是这些配置文件名必须和虚拟用户名相同。
user_config_dir=/etc/vsftpd/vconf
#如果配置了以下配置,则还需要在user_list里面添加指定的虚拟用户,如ftptest,不然不能登录,如图
#NO表示所有用户均不可以登录ftp,YES表示所有用户均能访问ftp,默认是YES
userlist_deny=NO
#当userlist_deny=NO时,user_list是白名单,当userlist_deny=YES时,user_list是黑名单
userlist_file=/etc/vsftpd/user_listanonymous_enable=YES              #是否允许匿名用户登录
write_enable=YES                  #enable any form of FTP write command
anon_upload_enable=YES            #是否允许匿名用户上传文件
anon_mkdir_write_enable=YES       #是否允许匿名用户创建目录
anon_other_write_enable=YES       #是否允许匿名用户删除、重命名等
anon_umask=022                    #权限掩码,匿名用户上传文档时预设的权限掩码;文件夹权限为 777-022=755,一般的文件权限为 666-022=644;默认权限掩码为077,匿名用户上传之后文件夹权限是700,文件的权限是600。
anon_world_readable_only=YES      #当为YES时,文件的other用户必须有r权限才允许下载,即使文件的属主为ftp且对文件有r权限也无法下载,为了安全考虑,默认为YES;当为NO时,则只要属主为ftp且对文件有r权限即可下载;
#禁用匿名用户上传
anon_upload_enable=NO
#允许匿名用户下载
anon_world_readable_only=YES

在这里插入图片描述


5.为保障vsFTPd访问安全请开启vsFTPd 上传下载日志;

#找到/etc/vsftpd/vsftpd.conf配置文件
vim /etc/vsftpd/vsftpd.conf#将xferlog_enable的值修改为YES,并检查是否有注释    (默认为yes)
xferlog_enable=YES#重启vsftpd服务.

在这里插入图片描述


6.保障vsFTPd访问安全,公司vsFTPd客户端连接时的端口范围在50000和60000之间且本地用户登录活动范围限制在home目录;

vim /etc/vsftpd/vsftpd.conflisten_port=21  #监听端口
pasv_enable=YES  #开启被动模式
pasv_min_port=50000  #被动模式端口范围
pasv_max_port=60000chroot_local_user=YES  #使本地用户登录活动范围限制在home目录

在这里插入图片描述

重启vsftpd服务



3.6 本地防火墙安全策略(Web,Log)

所有服务器开启防火墙,请按需求对防火墙进行策略加固:

1.为防止网络嗅探请在web服务器上禁止ICMP功能;(Web)

方法1:

进入服务器后(快捷键:Win+R) 输入命令: netsh firewall set icmpsetting 8 

在这里插入图片描述

这样就可以在外部 Ping 到服务器了,非常简单实用! 
同样道理,如果想禁止 Ping ,那运行如下命令: netsh firewall set icmpsetting 8 disable 

在这里插入图片描述

方法2:

进入控制面板—>管理工具—>找到 “高级安全 Windows防火墙”

在这里插入图片描述

点击 入站规则,找到 文件和打印机共享回显请求-ICMPv4-In (Echo Request – ICMPv4-In)

在这里插入图片描述

右键该规则 点击“启用规则(Enable)”

禁止 Ping 的方法相同。


2.为减少无用端口请在web服务器上禁止445、5335、139等端口;(Web)

# 防火墙新建入站和出站规则
# 注意:此方法只针对防火墙已开启的情况下才能实现禁用端口
(1)打开控制面板\系统和安全\Windows Defender 防火墙,在左侧选择“高级设置”。
(2)打开“入站规则”窗口,在右侧框中点击“新建规则”,出现如下界面,选择“端口”,点击下一步后,选择‘阻止连接’,继续下一步

在这里插入图片描述

在这里插入图片描述

禁止445、5335、139等端口

在这里插入图片描述

在这里插入图片描述

最后的配置文件全都选择,而且是出站规则和入站规则都要一起创建然后使用nmap就扫描不到端口了

在这里插入图片描述


3.为防止网络嗅探请在log服务器上禁止ICMP功能;(log)

linux系统默认是允许ping的,为了安全我们可以禁止ping包
临时允许ping
0,代表允许;1,代表禁止echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
永久允许或禁止ping编辑/etc/sysctl.conf文件
文件尾部追加
net.ipv4.icmp_echo_ignore_all=1
1代表禁止,0代表允许 修改完成后保存退出执行sysctl -p使配置生效

在这里插入图片描述

禁止icmp 端口
除192.168.62.1外,禁止其它人ping 我的主机# iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT
# iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP

4.为保障远程访问安全,请使用防火墙禁止telnet对应端口;(log)

栗子🌰:
ubuntu防火墙命令
1.查看防火墙当前状态
sudo ufw status
2.开启防火墙
sudo ufw enable
3.关闭防火墙
sudo ufw disable
4.查看防火墙版本
sudo ufw version
5.默认允许外部访问本机
sudo ufw default allow
6.默认拒绝外部访问主机
sudo ufw default deny
7.允许外部访问443端口
sudo ufw allow 443
8.拒绝外部访问443端口
sudo ufw deny 443
9.允许某个IP地址访问本机所有端口
sudo ufw allow from 192.168.0.1
linux-centos
firewall-cmd --permanent --permanent --remove-port=23/tcp
#firewall-cmd --reload
systemctl restart firewalldlinux-ubuntu
ufw deny 23
ufw reload

5.为保障log服务器不被非法访问请配置防火墙只允许管理员IP 172.16.1.1对其进行SSH访问;(log)

只允许在172.16.1.1上使用ssh 远程登录,从其它计算机上禁止使用ssh
# iptables -A INPUT -s 172.16.1.1 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP



http://chatgpt.dhexx.cn/article/sZ4qdGJV.shtml

相关文章

谷粒商城高级篇上(未完待续)

谷粒商城高级篇(上)保姆级整理 之前整理了基础篇,Typora提示将近20000词,谷粒商城基础篇保姆级整理 在学高级篇的时候,不知不觉又整理了两万多词,做了一阶段,先发出来,剩余部分整理…

旧 WCF 项目迁移到 asp.net core + gRPC 的尝试

一个月前,公司的运行WCF的windows服务器down掉了,由于 AWS 没有通知,没有能第一时间发现问题。所以,客户提出将WCF服务由C#改为JAVA,在Linux上面运行;一方面,AWS对Linux有较多的监控措施&#x…

eBPF编程指北

— 1 — 开发环境 这里以 Ubuntu 20.04 为例构建 eBPF 开发环境: $ uname -a Linux VM-1-3-ubuntu 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux $ sudo apt install build-essential git make libelf-dev clang …

个人博客详细文章目录索引(持续更新)

文章目录 前言关于我个人总结读书笔记个人开源小工具 实用工具一、Java后端Java基础数据结构算法算法知识点合集算法刷题算法竞赛AcWing课程蓝桥杯AB组辅导课合集(更新中…) 数据库SQL ServerMySQLRedis -Canal JUC并发编程JVMNetty日志框架23种设计模式…

6 Linux与Bash课程 - 软件测试

软件测试所有内容笔记正在陆续更新中,笔记已经在本地记录,全部为自己手动记录的笔记及总结,正在开始更新中,后续会逐步更新并完善到 软件测试学习内容总结 专栏。 本节内容:Linux与Bash课程进阶内容 文章目录 1. Linux…

5、C语言——前言(基础知识)

1、计算机的数据存储 计算机中的数据存储分为两大块:数值型数据和非数据型数据的存储 1.1、数值型数据的表示方法: 主要分为:二进制数据、十进制数据、八进制数据、十六进制数据。四种类型可以相互转化 1.1.1、二进制数据: 由…

Java常用框架笔记(1)

Linux操作系统 重点在于使用,理论可以几乎忽略 学习原因: 我们一般是在Windows上开发,Linux上去做部署 市面上的常见的操作系统 Windows系列,unix系统,Linux系统,mac系统 开发场景 Windows系列&…

Windows server 2008 被ntlmssp安装攻击 解决

进行NTLM策略控制,彻底阻止LM响应 转载于:https://www.cnblogs.com/xishi/p/6789246.html

Session Setup Request,NTLMSSP_AUTH, User:Dmain\hostname$

被拦截smb爆破,在主机上抓包,显示使用账号:Dmain\主机名$登录失败,但是"主机名$"这账号根本不存在,测试发现(测试文件不能为空): 如果2台主机在不同域里(例如AA域和BB域,AA域和未加域的主机)&…

NTLM认证协议及SSPI的NTLM实现

转载自:https://www.cnblogs.com/shuidao/p/3634637.html 没错,NTLM就是你听说过的那个NTLM。是微软应用最广泛的认证协议之一。 NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 早期版本的标准安全协议。Windows 20…

linux单独用户挂载,关于Linux上SAMBA服务的权限问题(多用户挂载)

简介:本文探讨关于Samba服务在客户端进行多用户挂载的问题,以及对cifscreds命令的使用效果. 安装配置: (服务器配置要求如下,配置过程在本博客中,本文省略配置过程) 要求 在客户端desktop0配置进行多用户挂载: 1.安装cifs-utils软件包以支持s…

centos7 samba

RHEL7配置samba:开机自动挂载以及多用户挂载 安装samba(centos 7/redhat 7提供的samba版本是samba 4) 开机启动 启动服务 查看监听端口(使用netstat或ss命令查看连接状态) 防火墙放行 然后我们看看配置文件 smb.conf 注意配置任何服务的时候,涉及到权限访问的配置都有一个…

Windows系统安全风险-本地NTLM重放提权

经我司安全部门研究分析,近期利用NTLM重放机制入侵Windows 系统事件增多,入侵者主要通过Potato程序攻击拥有SYSTEM权限的端口伪造网络身份认证过程,利用NTLM重放机制骗取SYSTEM身份令牌,最终取得系统权限,该安全风险微…

samba共享服务的部署及安全优化

TOC 1.samba服务简介 在构建主机时我们需要将主机系统的数据存储在存储服务器中(如下图所示),这样用户在需要访问系统数据资源时,可以通过不同的终端主机访问存储服务器,避免因客户端主机瘫痪导致用户数据丢失&#x…

记录一次紫狐Rootkit应急响应过程

前言:​ ​ ​受保密协议影响,此次仅介绍发现过程、思路、以及该Rootkit行为,以便大家后续的参考,此文章篇幅较长,建议大家穿好纸尿裤观看! ​ 紫狐(Purple Fox)Rootkit概述 紫狐…

基于AD Event日志检测哈希传递攻击

01、简介 哈希传递攻击是基于NTLM认证的一种攻击方式,当我们获得某个管理员用户的密码哈希值,就可以利用密码哈希值进行横向渗透。 在域环境中,只有域管理员的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何…

linux学习笔记-RH135(六):网络文件系统

网络文件系统 一.samba服务1.samba基本信息2.samba的安装与启用3.samba用户的建立4.samba用户访问家目录6.samba访问控制7.samba的常用配置参数8.samba多用户挂载9.samba自动挂载 二.NFS1.nfs的启用2.nfs配置3.nfs配置参数4.nfs自动挂载5.自动挂载参数更改挂载版本更改挂载超时…

工作组与域环境下NTLM协议数据包分析

NTLM协议由来 早起SMB协议以明文口令形式在网络上传输,存在安全问题为了解决这个问题出现了LM协议, 因为LM协议过于简单很容易被破解,于是微软又提出了NTLM协议,以及更新的NTLM第2版。 发展过程:SMB -> LM -> NTLM -> NTLM v2 NTLM的作用:用于工作组…

基于NTLM认证的中间人攻击(含实战)

文章目录 中间人攻击0x01 域和工作组0x02 NTLM认证(Windows)本地认证NTLM Hash的生成 网络认证工作组环境NTLM认证流程域环境NTLM认证 0x03 域名解析协议LLMNR解析过程 NetBIOSWindows系统域名解析顺序 0x04 WPAD工作原理WPAD劫持 0x05 NTLM中继0x06 Responder介绍 攻击演示0x0…

批次更新失败服务器返回的信息,服务器出现大批量登录审核失败/NtLmSsp攻击

问题:服务器出现大批量登录审核失败 详细信息:---重点红色标注 日志名称: Security 来源: Microsoft-Windows-Security-Auditing 日期: 2020/7/28 16:47:37 事件 ID: 4625 任务类别: 登录 级别: 信息 关键字: 审核失败 用户: 暂缺 计算机: VM82 描述: 帐…