2024年网安最全网站及服务器安全加固常用手段_网站安全加固(1)

  1. SMB服务 - 默认端口为139和445,这是一个Windows共享服务,但它容易受到攻击,因此应该限制访问权限。
  2. RPC服务 - 默认端口为135,这是Windows系统中的远程过程调用服务,但它容易受到攻击,应该限制访问权限。
  3. SNMP服务 - 默认端口为161和162,这是一个用于监控网络设备的服务,但它容易受到攻击,因此应该限制访问权限。
  4. TFTP服务 - 默认端口为69,这是一个轻量级文件传输服务,但它不安全,因为它在明文中传输文件和密码。

以上服务和端口应该被关闭或限制访问权限,以提高系统的安全性。

以下是一些常见的 Windows 服务器安全设置,以及操作示例。

  1. 更新操作系统和应用程序

首先,确保操作系统和所有应用程序都是最新的,以防止已知漏洞被利用。在 Windows 服务器上,可以使用以下步骤检查更新:

  • 打开“控制面板” -> “Windows Update”。
  • 点击“检查更新”按钮,等待系统检查可用更新。
  • 如果有更新可用,点击“安装更新”按钮。
  • 重启服务器以完成更新安装。
  1. 启用防火墙

防火墙可以阻止未经授权的访问和攻击,因此应始终在 Windows 服务器上启用。以下是启用防火墙的示例步骤:

  • 打开“控制面板” -> “Windows Defender 防火墙”。
  • 点击“打开 Windows Defender 防火墙”按钮。
  • 在“公用网络设置”和“专用网络设置”下,确保防火墙已启用。
  • 如果需要,可以配置更详细的规则来控制应用程序和端口的访问。
  1. 禁用不必要的服务和端口

不必要的服务和端口可能会导致安全漏洞,因此应该尽可能禁用它们。以下是操作示例:

  • 打开“运行”对话框(按“Win + R”键)。
  • 输入“services.msc”并按回车键打开“服务”窗口。
  • 禁用不必要的服务,例如“远程注册表”,“Telnet”等。
  • 打开“控制面板” -> “Windows 防火墙” -> “高级设置”。
  • 点击“入站规则”和“出站规则”,禁用不必要的端口,例如“TCP 端口 135”。
  1. 使用强密码

强密码可以降低被破解的风险。以下是一些创建强密码的示例规则:

  • 包含数字、字母、符号。
  • 长度至少 8 个字符。
  • 不要使用字典单词或简单的序列(例如“123456”)。
  1. 禁用默认帐户

默认帐户(例如“Administrator”)容易受到攻击,因此应该禁用或重命名。以下是禁用默认帐户的示例步骤:

  • 打开“计算机管理器” -> “本地用户和组” -> “用户”。
  • 右键点击默认帐户,例如“Administrator”,并选择“属性”。
  • 在“常规”选项卡中,选中“账户已禁用”复选框,然后点击“确定”按钮。
  1. 安装安全软件

安全软件可以帮助检测和防止恶意软件和攻击。以下是一些常见的安全软件:

  • 防病毒软件,例如“Windows Defender”、“Norton”、“McAfee”等。
  • 防火墙软件,例如“Comodo Firewall”、“TinyWall”等。
  • 恶意软件检测和清除工具,例如“Malwarebytes”、“AdwCleaner”等。

4. 保护敏感信息:

使用 SSL 加密传输数据、使用加密算法存储密码和敏感数据、使用 HTTPS、禁用目录列表等。

存储密码时,应该使用密码哈希算法,而不是加密算法。哈希算法是一种单向转化算法,它可以将任意长度的输入数据转化为固定长度的输出数据。因此,哈希算法可以将密码转换为一个固定长度的哈希值。在进行验证时,将输入的密码进行哈希后,将结果与之前存储的哈希值进行比较即可。

下面是一个使用哈希算法进行密码存储和验证的示例(以 Python 语言为例):

```python
import hashlib

# 存储密码
password = "mypassword"
hashed_password = hashlib.sha256(password.encode()).hexdigest()
# 将哈希值存储到数据库或文件中

# 验证密码
input_password = "mypassword"
input_hashed_password = hashlib.sha256(input_password.encode()).hexdigest()
if input_hashed_password == hashed_password:
    print("密码验证通过")
else:
    print("密码错误")

在实际应用中,为了增强密码的安全性,可以在哈希算法的基础上加入 salt 或 pepper。salt 是一个随机字符串,可以与密码混合后再进行哈希,以增加破解密码的难度。pepper 是一个固定字符串,可以在哈希之前或之后加入,以增强密码的安全性。



在 IIS 中禁用目录列表:


1. 打开 IIS 管理器并选择要禁用目录列表的站点或应用程序;  
 2. 在功能视图中,双击“目录浏览”;  
 3. 在右侧的操作面板中,单击“禁用目录浏览”。


在 Nginx 中禁用目录列表:


1. 打开 Nginx 配置文件;  
 2. 在服务器或位置段中,添加以下指令:`autoindex off;`;  
 3. 保存并重新加载 Nginx 配置文件。


这些操作都会禁用该站点或应用程序中的目录列表。



## 5. 加强访问控制:


限制访问权限、使用两步验证、审计所有访问记录、及时移除不必要的账户和权限等。


要在 Python 中进行两步验证,需要使用一个第三方的库。Google Authenticator 是一个常用的两步验证库。


下面是一个简单的示例:


首先,需要安装 `pyotp` 库。



pip install pyotp

然后,可以使用以下代码来生成一个基于时间的一次性密码(TOTP)和一个密钥。



import pyotp

totp = pyotp.TOTP(pyotp.random_base32())
key = totp.now()

print("TOTP:", totp)
print("Key:", key)

接下来,在进行验证时,用户将输入他们从 Google Authenticator App 中获取的 TOTP,可以使用以下代码验证输入的 TOTP 是否正确。



import pyotp

totp = pyotp.TOTP("密钥")

user_input = input("请输入你从谷歌验证程序获得的6位代码:")
if totp.verify(user_input):
    print("验证成功!")
else:
    print("验证失败!")

这样就能够进行两步验证了。请注意,为了更好的安全性,建议尽可能地将密钥保存在安全的地方,并按照最佳实践来确保应用程序和服务器的安全性。


Node.js可以使用两步验证,通常使用TOTP或HOTP。


1. TOTP(基于时间的一次性密码):这是一种基于时间的算法,用户通过移动应用程序(如Google Authenticator)或硬件设备(如YubiKey)来生成动态的一次性密码。在Node.js中,可以使用“speakeasy”模块来实现TOTP。例如:



javascript
const speakeasy = require(‘speakeasy’);
const secret = speakeasy.generateSecret({length: 20});

// Send secret.issuer and secret.base32 to the client

const token = speakeasy.totp({
  secret: secret.base32,
  encoding: ‘base32’
});

// Verify token from client
const verified = speakeasy.totp.verify({
  secret: secret.base32,
  encoding: ‘base32’,
  token: token,
  window: 1
});


2. HOTP(基于计数器的一次性密码):这是一种基于计数器的算法,用户通过硬件设备来生成动态的一次性密码。在Node.js中,可以使用“notp”模块来实现HOTP。例如:





## 写在最后

**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**


需要完整版PDF学习资源私我



**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/topics/618540462)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 16
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值