目的:让ls随时看清文件属性,让rm需要确认后删除目标实施方法
1.修改当前用户的登录启动脚本
vim ~/.bashrc
追加别名命令
alias ls=“ls -alh”
alias rm=“rm -i”
禁止任何人su至root账户
目的:避免任何人使用su切换到root,减少提权风险
1.修改su的配置文件
vim /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so
auth required /lib/security/pam_wheel.so group=wheel
2.如果需要su切换,将用户加入wheel组
usermod -g wheel luobo
去掉所有人SUID和SGID
目的:防止被利用提权
查找具有SUID和SGID的对象
find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -1g {} ;
chmod ugo-s file
对开放目录设置粘滞位
目的:允许小规模开放目录,用户作为暂存目录使用
为/tmp目录添加粘滞位
chmod +t /tmp/
我们都知道,/tmp常被我们用来存放临时文件,是所有用户。但是我们不希望别的用户随随便便的就删除了自己的文件,于是便有了粘连位,它的作用便是让用户只能删除属于自己的文件。
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件。
启用日志记录功能,使用日志服务器
目的:增加审计记录,分布保存日志
机器准备:
主机名 | IP |
---|---|
node01 | 10.0.1.110 |
log(日志服务器) | 10.0.1.111 |
node01操作:
1.修改应用服务器日志配置文件
vim /etc/rsyslog.conf
确认关键日志审计是否存在
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
添加两行转发日志信息
.info;mail.none;authpriv.none;cron.none @10.0.1.111
authpriv. @@10.0.1.111
注释:
@:使用tcp协议
10.0.1.111:把日志内容写入到10.0.1.111机器上
@@:协议udp协议
2.重启rsyslog
systemctl restart rsyslog.service
log(日志服务器):开启配置文件
1.修改应用服务器日志配置文件
vim /etc/rsyslog.conf
15 $ModLoad imudp
16 $UDPServerRun 514
19 $ModLoad imtcp
20 $InputTCPServerRun 514
22 t e m p l a t e R e m o t e , " / v a r / l o g / template Remote,"/var/log/% templateRemote,"/var/log/YEAR%-% M O N T H MONTH%-% MONTHDAY%/%fromhost-ip%.log"
47 #### RULES ####
48 :fromhost-ip, !isequal, “127.0.0.1” ?Remote
49 & stop
2.重启rsyslog
systemctl restart rsyslog.service
3.查看日志是否有时间段的目录,有了则成功
ls /var/log
4.日志服务器实时查看日志,在客户机器输入 logger luobo
tail -f /var/log/2023-05-31/10.0.1.110.log
重要日志权限不应该高于640
防止日志泄露敏感信息
ls -la /var/log/
chmod -R 640 /var/log
设置关键文件底层属性
目的:增强关键文件的底层属性,降低篡改风险
1.修改关键文件的日志和底层属性
chattr +a /var/log/messages
chattr +i /etc/shadow
chattr +i /etc/passwd
chattr +i /etc/group
不只限于上述文件,可用lsattr查看更改结果
通信协议⭐
关闭非加密远程管理telnet
目的:降低被抓包后获取系统关键信息
vim /etc/xinetd.d/telnet
disable=yes
使用加密的远程管理
目的:使用安全套接字层加密传输信息,避免被侦听敏感信息。
1.修改sshd配置文件
vim /etc/ssh/sshd_config
更改默认端口
Port 2020
禁止root远程登录
PermitRootLogin no
开启v2版本
Protocol 2
2.重启sshd服务
systemctl restart sshd.service
设置访问控制列表
设置访问控制白名单,减少被入侵的风险
修改拒绝策略
vim /etc/hosts.deny
ALL:ALL
修改允许策略
vim /etc/hosts.allow
sshd:来访者IP地址
sshd:10.0.1.110
sshd:10.0.1.111
固化常用DNS解析
目的:降低被DNS劫持的可能性
修改hosts文件
vim /etc/hosts
加入解析信息
61.59.123.22 www.baidu.com
访问IP 服务器域名
打开syncookie
目的:缓解syn flood攻击
1.修改系统控制文件
vim /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
2.配置生效
sysctl -p
不响应ICMP请求
大白话理解:你能ping通别人,别人ping不通你。
目的:不对ICMP请求作出响应,避免泄露信息
1.修改网络策略布尔值
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2.配置生效
sysctl -p
禁止处理无源路由
目的:防止被无源数据包利用
1.检查是否开启了路由功能
sysctl -n net.ipv4.conf.all.accept_source_route
2.禁止路由
echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route
防御syn flood攻击优化
目的:修改半连接上线,缓解syn flood攻击
1.查询当前半连接上限
sysctl net.ipv4.tcp_max_syn_backlog
2.修改半连接上限
sysctl -w net.ipv4.tcp_max_syn_backlog=“2048”
FTP使用黑白名单限制
目的:防止非法账户访问ftp
1.检查黑名单文件是否包含高危账户
cat /etc/vsftp/ftpusers
黑名单用户
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
2.使用白名单文件
cat /etc/user_list
cat /etc/vsftpd/vsftpd.conf
配置文件中是否存在
userlist_deny=NO
userlist_enable=YES
FTP设置上传文件后的默认权限
目的:防止被上传执行脚本
检查主配置文件 /etc/vsftpd/vsftpd.conf是否存在如下内容
cat /etc/vsftpd/vsftpd.conf
write_enable=YES
local_umask=022
anon_umask=022
FTP设置banner信息
目的:防止泄露服务信息
检查主配置文件 /etc/vsftpd/vsftpd.conf 是否存在如下内容
cat /etc/vsftpd/vsftpd.conf
ftpd_banner=" Authorized users only. All activity may be monitored and reported. "
配置可信任的NTP服务器,并确保服务开启
目的:保持时间同步,防止某些服务错误
yum install ntp -y
1.检查主配置文件 /etc/ntp.conf 是否存在如下内容
cat /etc/ntp.conf
server X.X.X.X
2.确保服务被启用
systemctl enable ntpd
systemctl status ntpd
检查账户目录是否存在高危文件.netrd、.rhosts
目的:防止被使用远程登录漏洞
脚本执行无返回值表示正常
1.检查.netrc脚本
vim find_net.sh
#! /bin/bash
for DIR in cut -d ":" -f6 /etc/passwd
; do
if [ -e
D
I
R
/
.
n
e
t
r
c
]
;
t
h
e
n
e
c
h
o
"
DIR/.netrc ]; then echo "
DIR/.netrc];thenecho"DIR/.netrc"
fi
done
执行脚本 脚本执行无返回值表示正常
sh find_net.sh
2.检查.rhosts脚本
vim find_rhost.sh
#! /bin/bash
for DIR in cut -d ":" -f6 /etc/passwd
; do
if [ -e
D
I
R
/
.
r
h
o
s
t
s
]
;
t
h
e
n
e
c
h
o
"
DIR/.rhosts ]; then echo "
DIR/.rhosts];thenecho"DIR/.rhosts"
fi
done
执行脚本 脚本执行无返回值表示正常
sh find_rhost.sh
关闭NFS服务
目的:防止被外挂文件系统,导致入侵
检查是否存在敏感进程
ps aux |grep -E “lockd | nfsd |statd |mountd”
检查关闭NFS相关服务
systemctl list-unit-files |grep nfs
systemctl disable nfs-client.target
补丁⭐
补丁装载
可以使用系统版本为最新并解决安全问题
1.使用yum更新(不建议)
yum update
2.使用rpm安装
访问:http://www.redhat.com/corp/support/errata 下载补丁
rpm -Fvh rpm包
注意:所有补丁需要在测试环境测试不影响业务服务后才可更新,下载补丁时,一定对文件进行签名合适。
服务进程与启动⭐
关闭无用服务
目的:关闭无用服务,提高系统性能,减低漏洞风险
1.检查有哪些自启动服务,并记录列表
systemctl list-unit-files |grep enabled
2.禁用无用服务
systemctl stop 服务名
systemctl disabled 服务名
建议关闭的服务
建议:如无需要,建议关闭或者卸载功能
banner与自动注销⭐
隐藏系统提示信息
目的:避免通过系统提示信息获取系统状态
1.查看登录banner信息
cat /etc/issue
2.清空banner文件
echo > /etc/issue
设置登录超时注销
目的:防止疏忽导致命令被他人使用
1.修改 /etc/profile
vim /etc/profile
在HISTFILESIZE下面加入
TMOUT=180
2.生效
source /etc/profile
减少history历史数量
目的:降低之前操作被窃取的风险
1.修改/etc/profile
vim /etc/profile
历史记录条数,建议写30-50就行
HISTSIZE=50
2.生效
source /etc/profile
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
如何自学黑客&网络安全
黑客零基础入门学习路线&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-kx5k3nN9-1712679260203)]