neversoft 发表于 2018-5-17 09:35:18

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
页: [1]
查看完整版本: linux基线