千古八方的博客

  • 程序开发
    • Android
    • Spring Boot
  • 数据私有化
    • NAS
    • 私有云
    • 内网穿透
    • 服务器
  • 留言
  • 搞事
进学
为学无间断,如流水行云,日进而不已也
  1. 首页
  2. NAS
  3. 正文

自建 NAS,系统安全防护配置(二)扫描探测篇

2022年5月24日 218点热度 0人点赞 0条评论

系统:Ubuntu20.04

自建NAS后,为了保护数据安全,以下是我从无目的攻击、针对性攻击两个阶段进行的防护策略。

应对宽泛的无目的服务探测扫描:

1. 对于无目的的IP段的扫描,尽可能的开放少的端口,或者把服务放到不常用端口(如果条件允许的话)。

使用Nginx反向代理后台服务,如果条件允许,通过多域名、子路径、以及端口转发的方式映射多个服务到一个端口。并且限制仅允许域名访问,如下:

server_name www.helloworld.com; # 同一个端口,指定不同的域名,共用一个端口

当大规模扫描某个IP网段时,对方无法探测到Nginx后面的服务,让这种宽泛扫描成为瞎子。

2. 国家级IP范围限制,通过 iptables 限定只允许或者禁止某些国家的IP数据访问。比如明确不会去某个国家则可使用ipset把该国家的地址ban掉,或者只在某些国家范围活动,则仅允许该国家IP访问。

下面是我用的下载中国的IP段脚本,iptables 读取保存的ipset网段,限定非国内IP数据丢弃。  

#!/bin/bash
wget --no-check-certificate -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' > chnroute.txt

# ipv4
echo "process ipv4-------------------";
ipset create chnroute4 hash:net family inet maxelem 65535
cat chnroute.txt | awk -F \| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute4.txt
ipset flush chnroute4
ipset add chnroute4 127.0.0.0/8
ipset add chnroute4 192.168.0.0/16
ipset add chnroute4 172.16.0.0/12
ipset add chnroute4 10.0.0.0/8
while read ip;do
ipset add chnroute4 $ip
done < chnroute4.txt
ipset save chnroute4 > chnroute4.conf


# ipv6
echo "process ipv6-------------------";
ipset create chnroute6 hash:net family inet6 maxelem 65535
cat chnroute.txt | awk -F \| '/CN\|ipv6/ { printf("%s/%d\n", $4, $5) }' > chnroute6.txt
ipset flush chnroute6
ipset add chnroute6 fe80::/10
ipset add chnroute6 2a01:4f9:2b:29dc::149
ipset add chnroute6 2a01:4f9:2b:29dc::153
while read ip;do
ipset add chnroute6 $ip
done < chnroute6.txt
ipset save chnroute6 > chnroute6.conf

 

应对针对主机的攻击:

如黑客知道你的域名及提供的服务,然后用爬虫爬取了你的NAS目录,用Nmap等一系列工具,针对性的探测到了系统版本、Nginx版本、SSH版本号、PHP版本号;如群晖v6.2.2、unraid v6.9.2等服务的信息,发起了针对该版本的攻击,应对策略如下:

1. 给予该服务最小的权限

  • 运行该服务的账号,禁止登录 /sbin/nologin。如果条件允许,禁止符号链接,nginx配置如下:
  • disable_symlinks on;
  • 配合apparmor ,限定该服务允许的访问范围。
  • 假如服务有可执行漏洞,哪怕被攻破,损失也控制在一定范围内;

2. 系统更新源使用官方源,或者可信的源。尽可能不要安装来路不明,或盗版的软件。Ubuntu服务版,默认启用定期自动升级更新,配置好apt源就行了。

3. DDOS攻击,自家用的NAS服务,应该没人用这种方式攻击,亏本不划算呀,不考虑。

4. 避免密码的泄露,Web服务使用HTTPS,因为HTTPS是在HTTP与TCP之间进行的SSL加密,所以哪怕HTTPS的Get明文请求也是由下层加密过的,即使嗅探到数据包也无法解密的,如果使用中间人拦截HTTPS,那么客户端检测到证书与域名不同的话,会给出不安全的证书提示。

5. 应对暴力破解,即穷举服务的密码。

  •  情况一,NAS服务自带防暴力破解功能的,可以启用服务的防暴力破解。如Nextcloud登录失败后,打开网页的速度一次比一次慢,多次后会提示下面的错误,禁止登录。

nextcloud多次无效登录

Nextcloud可以通过config/config.php 文件里开启或关闭防暴力破解选项:

'auth.bruteforce.protection.enabled' => true
  • 情况二,NAS服务没有自带防暴力破解功能,则可以使用Fail2ban来监听NAS服务的日志,通过正则匹配登录失败的记录,几次后临时ban掉该IP一段时间(次数和时间自己设置)。

6. 自动检查程序文件是否被篡改,Debian系列可以使用debsums命令来检查,如果发生变化,会有如下的提示:

$ sudo debsums -s
debsums: changed file /lib/systemd/system/networking.service (from ifupdown package)

然后,使用cron执行定时任务,如果有错误,发邮件到自己的监控邮箱。

7. Logwatch 定义自己的规则,每天把昨天的日志分析结果发送到监控邮箱。如所有用户执行的命令,ssh尝试信息等等,请自行定义。

.... 其他略 ...

--------------------- pam_unix Begin ------------------------

sudo:
Authentication Failures:
xxxx(1000) -> ttttt: 1 Time(s)
Sessions Opened:
xxxx-> root: 241 Time(s)
xxxx-> www-data: 35 Time(s)

---------------------- pam_unix End -------------------------
--------------------- SSHD Begin ------------------------

SSHD Started: 4 Times

Users logging in through sshd:
xxxxx:
192.168.1.xx: 4 Times
2409:8a3c:444:xxxx:8c88:e89d:33e3:xxxx: 1 Time

**Unmatched Entries**
Timeout, client not responding from user yxh 192.168.1.xxxx port 50273 : 1 Time
error: kex_exchange_identification: Connection closed by remote host : 1 Time
error: kex_exchange_identification: banner line contains invalid characters : 5 Times

 

8. 关于如何初步排查服务器是否遭到黑客攻击,参考这篇文章: 如何检查服务器是否遭到黑客攻击?

 

安全相关文章:

  • 自建 NAS,系统安全防护配置(一) - 防火墙
  • 自建 NAS,系统安全防护配置(二) - 扫描探测
  • 自建 NAS,系统安全防护配置(三) - 数据备份

 

标签: 安全维护
最后更新:2022年7月6日

千古八方

物格而后知至,知至而后意诚,意诚而后心正

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

千古八方

物格而后知至,知至而后意诚,意诚而后心正

最新 热点 随机
最新 热点 随机
火狐下远离内容农场的方法! 中国城市生活成本查询 Debian11 系统备份与灾备盘制作 Debian logwatch 自定义配置文件,根据规则忽略掉某些日志内容 Ampache 5.0 报错 The root Ampache folder has changed to ./public socat 正反向传输文件
一、我为什么想要变得富有? Android 如何把整个页面置为灰色? 自建NAS,Aria2 下载器的安装及配置 自建NAS上,使用ssmtp向外部邮箱发送邮件 ubuntu 更改boot分区格式,重建引导 你到底需不需要一台NAS ?
分类
  • Android
  • Linux
  • NAS
  • Spring Boot
  • Windows
  • 内网穿透
  • 回忆
  • 基于NEAT的瞎几把寻思算法笔记
  • 散篇
  • 普通人的致富之路在哪里
  • 服务器
  • 未分类
  • 私有云
标签聚合
服务器 群晖NAS Windows 私有云 散篇 Android Widgets Spring Boot ubuntu 安全维护 我开源的APP linux NAS Nextcloud Android系统编译 NPS TrueNAS Android Utils 内网穿透
工具/友链

资源导航 – NAS、私有云存储
在线工具 – MD5、SHA、BASE64、URL编解码
在线工具 – 贷款计算器
在线工具 – IPv4/IPv6地址查询

千古八方 在 B站

千古八方 在 知乎

我的微信小程序:
微信小程序-城市生活成本查询
城市生活成本查询
库房物资流水记账簿
最近评论
Avatar photo
千古八方 发布于 1 个月前(12月28日) 重置命令是Nextcloud提供的,和哪个平台没关系。 如果报错,一般是路径或权限的问题导致的。 ...
Avatar photo
aron 发布于 1 个月前(12月24日) 博主你好 我的nextcloud管理员密码过期了 用了occ命令重置但是报错,能请教下是什么原因...
Avatar photo
千古八方 发布于 2 个月前(12月15日) 贝塞尔这个类在这里 https://gitee.com/aityu/AndroidUtils/blo...
Avatar photo
disco 发布于 2 个月前(12月05日) 有demo链接吗?贝塞尔曲线这个关键类没有写出来~
Avatar photo
HJM 发布于 3 个月前(10月20日) 必须点赞!很有效!

COPYRIGHT © 2022 千古八方的博客. ALL RIGHTS RESERVED.

京ICP备14020471号