20个Linux服务器安全强化建议(三)

简介: #11、配置iptables和TCPWrappers。   iptables 是一个Linux内核提供的,运行在用户空间的程序,它允许用户配置自己的防火墙策略。我们可以使用防火墙将不必要的流量过滤出去。
#11、配置iptables和TCPWrappers。
 
iptables 是一个Linux内核提供的,运行在用户空间的程序,它允许用户配置自己的防火墙策略。我们可以使用防火墙将不必要的流量过滤出去。使用 iptables 能够避免很多拒绝服务(DoS)攻击。
 
#12、内核配置文件优化(/etc/sysctl.conf)。
 
/etc/sysctl.conf 文件用来修改服务器的运行时内核参数配置。Linux在启动时从配置文件中读取相关配置,一般内容如下:
 
# Turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter=1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route=0
# Ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
# Make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1
 
#13、合理安排磁盘分区。
 
将不同的系统文件分配到不同的磁盘分区上有助于构建一个安全的系统,确保下面这些文件目录都被挂在到单独的磁盘分区上。
 
/usr
/home
/var、/var/tmp
/tmp
 
为Apache和FTP服务的根目录创建单独的分区,检查 /etc/fstab 文件确保增加了以下配置
 
noexec:该分区不允许执行任何二进制文件(但是允许脚本运行)。
nodev:该分区不允许字符设备或特殊设备。
nosuid:该分区不允许设置SUID/SGID。
 
下面的例子限制用户进入到 /dev/sda5 中。
 
/dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2
 
#13.1、磁盘配额。
 
确保对所有用户都启用了磁盘配额限制,实现磁盘配额的具体步骤可以查看 这里
 
#14、关闭IPv6。
 
IPv6提供替代IPv4的新的TCP/IP协议,但是目前还没有太好的工具来检查IPv6网络的安全性。大多数Linux发行版开始默认使用IPv6协议。而黑客可以利用IPv6网络来发送一些管理员无法监测的内容,除非是网络配置需要,否则禁止使用IPv6。
 
#15、禁用不需要的SUID和SGID二进制。
 
所有启用了SUID和SGID位的二进制文件可能会造成系统的安全问题或者BUG,从而让所有本地或远程的用户使用这些文件。下面的命令可以找到这些文件
 
#See all set user id files:
find / -perm +4000
#See all group id files:
find / -perm +2000
#或者一起查询
find / \(-perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls
 
#15.1、World-Writable文件。
 
因为安全原因,所有人都可以修改World-Writable文件,使用下面的命令可以找到所有此类文件。
 
# find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
 
#15.2、无属主文件。
 
如果一个文件没有任何的用户或者组权限,那么可能会造成安全问题,使用下面的问题来找到此类文件,并进行后续的修复。
 
# find /dir -xdev \( -nouser -o -nogroup \) -print
 
#16、使用集中的授权服务。
 
如果没有集中的授权认证系统,用户的权限数据将会变得不完成,从而导致一些过期的口令或者不用的用户一直保留下来。集中地授权认证服务允许我们控制Linux/Unix用户和授权数据,不要使用 NIS 服务, OpenLDAP是一个很好的选择。
 
#17、日志和审计。
 
为了收集黑客攻击行为,我们需要配置系统的日志和审计功能。默认情况下,syslog在 /var/log 目录下记录数据。这些数据也能帮助我们发现那些容易导致系统遭受攻击的错误配置,可以参考  这个文章 来了解更多的内容。
 
#17.1、使用Logwatch 或 Logcheck 监控可疑的日志信息。
 
使用  Logwatch 或者  Logchek 读取日志文件,这些工具改善了阅读日志文件的体验。他们会将结果以邮件的形式进行报告,而我们只需要检查日志中的不常见项目就可以了。
 
#17.2、使用 auditd 服务。
 
auditd是系统提供的审计服务,负责将审计数据记录到磁盘中。在服务器启动期间,/et/audit/audit.rules的规则会被应用。我们修改配置文件来定义日志存放位置以及其他的选项。使用这个服务可以解决以下问题:
 
1、系统启动和关闭时间(reboot/halt)
2、事件的日期和时间
3、事件用户
4、事件类型
5、事件是否成功
6、记录事件发生变化的日期和时间
7、找出修改系统网络配置的账户
8、记录修改用户/用户组信息的事件
9、记录文件修改信息
 
具体可以查看 这篇文章了解更多内容。
 
#18、加固 OpenSSH 服务器。
 
SSH协议经常用来进行远程登录和文件传输,同时SSH也是暴露在外的,使用 以下方法可以对OpenSSH服务器进行加固。
 
 
#19、安装和使用入侵检测系统。
 
网络入侵检测系统可以检测到恶意的活动或者拒绝服务共计、端口扫描等类似的黑客行为。最好在系统上线前能够部署一套类似的系统,如果可能在系统接入网络前就安装配置好。 AIDE就是一个非常好的例子。 Snort也可以用来做实时的网络流量分析和入侵检测。
 
#20、保护文件、目录和邮件。
 
Linux系统提供了非常好的非授权的数据访问保护机制。文件权限和MAC确保数据不会被未授权的用户访问。但是,如果黑客具有物理的访问途径,那他还是能够很容易通过其他方式访问磁盘上的数据。我们可以使用将文件进行加密、使用密码、加密文件夹等方式来保护我们的重要数据。
相关文章
|
10天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
13天前
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
28 4
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
2月前
|
监控 关系型数据库 Linux
|
28天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
30天前
|
域名解析 存储 网络协议
Linux中搭建主从DNS服务器
搭建主从DNS架构以提升DNS服务的高可用性、负载均衡和数据冗余。主服务器配置涉及编辑`/etc/named.conf`,设置监听IP和允许查询的范围,并定义主区域及允许的数据传输。从服务器配置需指定为奴隶类型,并指明主服务器的IP。测试表明正反向查询解析均正常。注意配置文件的语法正确性和权限设置。
|
6天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1192 6
|
18天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
18天前
|
Linux
Linux安装bind9搭建自己的域名服务器
Linux安装bind9搭建自己的域名服务器
11 0
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0