linux 安全基线

1.物理防护

BIOS设置密码

引导grub.conf添加密码

2.系统安装时采用最小化原则,只安装base services

3.应用数据分区与系统隔离

4.禁用开机不需要启动的服务

5.隐藏系统信息

6.服务器和互联网时间同步

7.sudo对普通用户权限精细控制

8.密码策略:有效期90天 复杂度16位

8.ssh安全加固

9.优化Linux内核,增加系统文件描述符、堆栈等配置

10.清除无用的默认系统帐户或组(非必须)

11.文件权限

限制全局默认权限为0750,文件夹 umask 027

限制敏感文件,使用chattr命令给下列文件加上不可更改的属性

# chattr +i /etc/passwd

# chattr +i /etc/shadow

# chattr +i /etc/group

# chattr +i /etc/gshadow

# chattr +a .bash_history      避免删除.bash_history或者重定向到/dev/null

# chattr +i .bash_history

# chmod 700 /usr/bin           恢复 chmod 555 /usr/bin

# chmod 700 /bin/ping          恢复 chmod 4755 /bin/ping

# chmod 700 /usr/bin/vim       恢复 chmod 755 /usr/bin/vim

# chmod 700 /bin/netstat       恢复 chmod 755 /bin/netstat

# chmod 700 /usr/bin/tail      恢复 chmod 755 /usr/bin/tail

# chmod 700 /usr/bin/less      恢复 chmod 755 /usr/bin/less

# chmod 700 /usr/bin/head      恢复 chmod 755 /usr/bin/head

# chmod 700 /bin/cat           恢复 chmod 755 /bin/cat

# chmod 700 /bin/uname         恢复 chmod 755 /bin/uname

# chmod 500 /bin/ps            恢复 chmod 755 /bin/ps

限制非root用户执行/etc/rc.d/init.d/下的系统命令

# chmod -R 700 /etc/rc.d/init.d/*

# chmod -R 777 /etc/rc.d/init.d/*    恢复默认设置

12.禁止使用Ctrl+Alt+Del快捷键重启服务器

# cp /etc/inittab /etc/inittabbak

# vi /etc/inittab #注释下面两行

#start on control-alt-delete

#exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

13.禁止yum update更新系统时不升级内核,只更新软件包

由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,没有特别的需要,建议不要随意升级内核。

14.调整history大小,删除MySQL历史记录

15.计划任务

16.实时监控

查询系统端口及服务状态

web 服务端口 8081

文件监控

检查具有suid、sgid权限的文件

# find / -perm -4000 -o -perm -2000

# find 24小时内更改过的文件

检测Rootkit

17.应用基线

keepalive 15秒

错误页面重定向,出于安全方面的考量,为了避免敏感信息的外泄

上传文件大小

18.日志 logstash

 常用的日志文件如下:

      access-log   纪录HTTP/web的传输

      acct/pacct   纪录用户命令

      aculog     纪录MODEM的活动

      btmp      纪录失败的纪录

      lastlog     纪录最近几次成功登录的事件和最后一次不成功的登录

      messages    从syslog中记录信息(有的链接到syslog文件)

      sudolog     纪录使用sudo发出的命令

      sulog      纪录使用su命令的使用

      syslog     从syslog中记录信息(通常链接到messages文件)

      utmp      纪录当前登录的每个用户

      wtmp      一个用户每次登录进入和退出时间的永久纪录

      xferlog     纪录FTP会话

用户登入的信息,安全性和验证性的日志

last、lastb、lastlog

utmp文件中保存的是当前正在本系统中的用户的信息。

wtmp文件中保存的是登录过本系统的用户的成功信息。

btmp文件中保存的是登录失败的信息。

#使用last命令可以查看btmp文件:例如,”last -f /var/log/btmp | more“

#1、当前登录用户的信息记录在文件utmp中;======who、w命令

#2、登录和退出记录在文件wtmp中;========last命令

#3、登录失败的记录在文件btmp中========lastb命令

#4、最后一次登录可以用lastlog命令

#5、messages======从syslog中记录信息

注意:wtmp和utmp文件都是二进制文件。

/var/log/messages                               包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。

/var/log/dmesg                                  包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。

/var/log/auth.log                               包含系统授权信息,包括用户登录和使用的权限机制等。

/var/log/boot.log                               包含系统启动时的日志。

/var/log/daemon.log                             包含各种系统后台守护进程日志信息。

/var/log/dpkg.log                               包括安装或dpkg命令清除软件包的日志。

/var/log/kern.log                               包含内核产生的日志,有助于在定制内核时解决问题。

/var/log/lastlog                                记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。

/var/log/maillog /var/log/mail.log              包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。

/var/log/user.log                               记录所有等级用户信息的日志。

/var/log/Xorg.x.log                             来自X的日志信息。

/var/log/alternatives.log                       更新替代信息都记录在这个文件中。

/var/log/btmp                                   记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。

/var/log/cups                                   涉及所有打印信息的日志。

/var/log/anaconda.log                           在安装Linux时,所有安装信息都储存在这个文件中。

/var/log/yum.log                                包含使用yum安装的软件包信息。

/var/log/cron                                   每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。

/var/log/secure                                 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。

/var/log/wtmp或/var/log/utmp                    包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。

/var/log/faillog                                包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

除了上述Log文件以外,/var/log还基于系统的具体应用包含以下一些子目录:

/var/log/httpd/或/var/log/apache2               包含服务器access_log和error_log信息。

/var/log/lighttpd/                              包含light HTTPD的access_log和error_log。

/var/log/mail/                                  这个子目录包含邮件服务器的额外日志。

/var/log/prelink/                               包含.so文件被prelink修改的信息。

/var/log/audit/                                 包含被 Linux audit daemon储存的信息。

/var/log/samba/                                 包含由samba存储的信息。

/var/log/sa/                                    包含每日由sysstat软件包收集的sar文件。

/var/log/sssd/                                  用于守护进程安全服务。

除了手动存档和清除这些日志文件以外,还可以使用logrotate在文件达到一定大小后自动删除。可以尝试用vi,tail,grep和less等命令查看这些日志文件。

19.补丁更新

20.定时备份

21.防火墙

Juniper的Netscreen

H3C的Secpath

华为USG6390

IPTABLES

服务器禁ping

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

SELINUX

# 有外网IP的机器要开启配置防火墙,配置SELINUX

FACL

TCP_Wrappers应用级防火墙

# vi /etc/host.conf),加入下面这行:

  # Lookup names via DNS first then fall back to /etc/hosts.

  order bind,hosts

  # We have machines with multiple IP addresses.

  multi on

  # Check for IP address spoofing.

  nospoof on

  第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

入侵检测

IDS

HIDS: OSSEC 主机入侵检测系统

NIDS: snort 网络入侵检测系统

Filesystem: tripware

AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境

IPS

IDS + Firewall

时间: 2024-08-05 16:53:55

linux 安全基线的相关文章

7.linux安全基线加固

现在大多数企业都是使用linux作为服务器,不仅是linux是开源系统,更是因为linux比windows更安全.但是由于管理员的安全意识不全或者疏忽,导致linux的敏感端口和服务没有正确的配置,可能会被恶意利用,所以需要进行基线加固. 1.基线 即安全基线配置,诸如操作系统.中间件和数据库的一个整体配置,这个版本中各项配置都符合安全方面的标准.比如在系统安装后需要按安全基线标准,将新机器中各项配置调整到一个安全.高效.合理的数值. 2.基线扫描 使用自动化工具.抓取系统和服务的配置项.将抓取

Linux Shell基线配置相关操作

一.输入解析类 1.1 echo解析tab和换行 问题描述:echo默认是原样输出字符串,并不解析\t和\n等反斜杠字符,如下图所示.我们希望echo能解析\t和\n等字符. 处理办法:可以使用-e指示echo识别反斜杠. 1.2 cat将变量写入文件 问题描述:我们经常需要将变量写到配置文件,比如将java相关的几个变量写到~/.profile,追加多行cat是最方便的但cat默认会在插入时解析变量,如下图所示.我们希望就是原样写入而不自动解析变量. 处理办法:可通过给EOF加上单引号来指示c

转载Linux开源项目2017最期待发行的版本

如果你经常光顾 Distrowatch 网站,你会发现每一年的 Linux 系统流行度排行榜几乎都没啥变化. 排在前十名的一直都是那几个发行版,而其它一些发行版也许现在还在排行榜中,到下一年年底就有可能不在了. 关于 Distrowatch 的一个大家很不了解的功能叫做候选列表,它包括以下类型的发行版: 还未进行评审 组件缺失或有缺陷 相关的英文资料不够丰富 该项目好像都没人进行维护 一些非常具有潜力,但是还未被评审的 Linux 系统发行版也是值得大家去关注的.但是注意,由于 Distrowa

系统安全——PAM模块

本文为在前辈的文章基础之上学习总的PAM认证机制. Linux提供的安全机制主要有:身份标识与鉴别.文件访问控制.特权管理.安全审计.IPC资源的访问控制.本文为身份标识与鉴别其中的部分. 0x01:PAM简介 PAM 的全称为"可插拔认证模块(Pluggable Authentication Modules)".设计的初衷是将不同的底层认证机制集中到一个高层次的API中,从而省去开发人员自己去设计和实现各种繁杂的认证机制的麻烦.如果没有 PAM ,认证功能只能写在各个应用程序中,一旦

Linux系统安全配置基线

一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在 配置要求:1.系统需按照实际用户分配账号: 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享. 操作指南:参考配置操作:cat /etc/passwd查看当前所有用户的情况: 检查方法:命令cat /etc/passwd查看当前所有用户的信息,与管理员确认是否有共享账号情况存在. 配置方法:如需建立用户,参考如下: #useradd username #创建账号 #passwd username #设置密码 使用

版本基线自动化之Linux

上一篇笔者叙述了如何在windows平台上进行自动化打包,这次采用linux平台 1.start.bat : 调用cleanall.bat脚本 ,从svn服务器中检出代码,并采用7-Zip工具进行压缩并调用teasefile.bat脚本和output_linux.bat脚本: 1.1.cleanall.bat: 清除环境 并利用secureCRT执行vbs脚本> aloneclean.vbs 1.2.teasefile.bat: 将压缩包利用secureCRT工具中的sfxcl命令发送到linu

Linux 中断处理浅析

最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着"重要的事马上做, 不重要的事推后做"的异步处理思想. 于是整理一下~ 第一阶段--获取中断号 每个CPU都有响应中断的能力, 每个CPU响应中断时都走相同的流程. 这个流程就是内核提供的中断服务程序. 在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应, 因为CPU不能假定中断服务程序是可重入的. 中断处理程序的第一步要做两件事情: 1. 将中断号压入栈中; (不同中断号的中断对应不同的中

Linux端口转发的几种常用方法

0x00 背景 端口转发是一个常用的功能,不管是在服务器运维还是在渗透领域,都需要用到.在近期遇到一个问题就是一个服务的端口不能进行配置,但是由于出口硬件防火墙的原因,为了不修改硬件防火墙的策略,所以只能在本地做端口转发.因此尝试和寻找了以下的几种方法. 0x01 iptables和firewall iptables iptables是我第一个想到的方法,但却是最后一个尝试的,因为我对iptables并不熟悉. 1.打开IP转发功能. linux的IP转发功能是默认关闭的,而且根据很多安全加固策

linux常见的服务和对应的漏洞以及防御措施

王讲师教学总结: nginx   反向代理   解析漏洞 redis 未授权访问 DNS 域传送漏洞 rsync 漏洞利用   ? ssh 免密码登录   ? zmap  nmap 扫描   进行筛选?  masscan hydra 密码爆破 thehaversc 信息搜集 弱口令爆破与原理 还有一些其他扫描工具 kali  代理方法 (内网渗透) nessus 基线扫描 linux 加固 windows 加固 apache  防止目录遍历 tomcat - 二. DNS 域传送漏洞    用一