Linux网络安全的大概学习内容要掌握这么多吧:网络服务:
.网络概述、 TCP/IP 基础 .Linux 下基本网络配置与管理 .Dhcp 服务器的原理、配置与管理 .DNS 服务器的原理、配置与管理 .Linux 与 Windows 互联技术 samba 服务器的配置与管理 .Unix/Linux 经典文件服务 nfs 服务器的配置与管理 .Vsftp 服务器的原理、配置与管理 .Xinetd 超级守护进程服务原理、配置与管理 .WWW 服务器原理、配置与管理
安全管理:
.本机安全 .文件系统的安全 .网络服务器的安全策(dns,dhcp,apache,vsftp,nfs 等) .Linux 网络防火墙的搭建 iptables .配置安全的透明代理服务器iptables+squid .安装配置 OpenSSH 服务器 .Linux 网络环境下的 VPN 构建 .Linux 下的网络扫描和嗅探 nmap sniffer .Linux 下的网络流量监控 cati .Linux 系统日志服务管理 syslog
会了以上的那些,估计网络安全方面就没问题了。
linux安全加固要注意以下几个方面:
1 、 BIOS
在系统启动的时候设置一个BIOS密码和禁用从CD-ROM和软盘引导,可以防止未经允许访问的系统和更改BIOS 设置。
2 、sshd 服务
SSH 是一个协议,利用它可以登录到一个远程系统或远程执行系统命令,默认允许root 登录,并且sshv1 存在缺陷,我们应该在sshd_config 禁止root 访问和使用sshv2 来让ssh更加安全。
3 、 禁用 telnet
早期的Linux 默认开启telnet 服务,telnet,ftp,rlogin 都是明文传输的协议是容易被嗅探到的,这就是为什么推荐使用安全的版本(sftp,scp,ssh )的原因,如果必须要使用telnet ,那么至少应该隐藏banner 信息。
4 、 禁用代码编译
禁用代码编译并且只把编译的权限分配给一个用户组。
5 、ProFTP
修改proftpd.conf 来禁止root 登陆
6 、TCP wrappers
编辑hosts.allow 和hosts.deny 可以限制或允许访问inet 服务。
7 、创建su 用户组
在SSH 禁止了root 用户访问并且禁用了telnet ,应该分配给一些用户su 权限来获取root 特权。
8 、root 通知
当一个具有root 权限的用户登录的时候发mail 。
9 、history 安全
这是一个避免删除.bash_history 或重定向到/dev/null 的好主意,因此他不能清除或删除他最后执行的命令,获取用户的人会知道他的历史命令锁定并且要同意才可以使用服务。
10 、使用欢迎信息
提供一些信息让攻击者知道该系统不对公众开放,在国外有类似案件,攻击者入侵一个系统并且系统没有这些信息,这种情况下法院不能做任何裁决,因为系统说welcome
11 、禁用所有特殊账户
从系统中删除所有默认用户和组。
12 、chmod 危险文件
这可能是限制不具有root 权限的用户执行下面这些命令的好主意。
13 、指定允许root 登陆的TTY 设备
因为/etc/securetty 文件允许你指定root 可以从哪个TTY 设备登录。
14 、选择一个安全的密码
在/etc/login.defs 文件中定义了shadow 密码的具体配置,默认密码长度最短为5 字符,你应该至少设置为8 。
15 、检测Rootkit
用chkrootkit 或rkhunter 。经常检查更新以修复某些缺陷或系统稳定性的改进,否则存在漏洞的系统将会不时的遭受新的攻击。
17 、隐藏Apache 信息
应该隐藏Apache 的banner 信息使攻击者不知道Apache 的版本,从而使他们难以利用漏洞。
18 、隐藏php 信息
应该隐藏php 的banner 信息,原因同上。
19 、关闭不用的服务
把任何未使用的服务关闭,可以在/etc/xinetd.d 文件夹里找到。将显示所有服务开启或关闭的状态,然后根据需要来开启或关闭服务
20 、检测监听的端口
检测是否有必要开放端口是非常重要的。
21 、关闭端口和服务
重点是关闭在系统启动时打开的不需要的端口。
22 、删除不用的rpm 包
首先应该清楚系统的作用,它是web,mail,file 服务器或其他,然后觉得哪些包是必要的,之后删除不需要的软件包。
23 、禁用危险的php函数
应该禁用php 的危险函数防止在网站上执行系统命令。
24 、安装配置防火墙
高级策略防火墙(APF )是一种IP 表(网络过滤),它是基于当今互联网部署服务器防火墙系统的基本需要和客户部署LINUX 安装的唯一需要而设计的。
25 、安装配置BFD (暴力破解检测)
BFD 是一个用于分析应用日志和检测验证失败的模块化shell 脚本,而且安装配置和用法都是非常容易的。使用BFD 的原因很简单,其实在LINUX 领域几乎没有结合防火墙或实时设备来监控不验证和暴力攻击审计的程序。在用BFD 之前必须安装APF 防火墙。
26 、内核加固
sysctl.conf 用来加固内核,目的是避免DOS 和欺骗攻击。
27 、更改SSH 端口
更改SSH 默认端口号在一定程度上可以提高安全性。
28 、/tmp,/var/tmp,/dev/shm 分区的安全
/tmp,/var/tmp,/dev/shm 目录是不安全的,任何用户都可以执行脚本,最好的解决办法是挂载nocexec 和nosuid 选项的参数。