Fearchen's Blog

把我的过程记录下来,以免以后忘了


  • 首页

  • 归档

  • 关于

RHCA-RH413(服务器固化)学习笔记

发表于 2017-01-06 | 分类于 RHCA

413-1-operating system update:

  1. CVES and Red Hat Errata
    a. Red Hat Security Advisory(RHSA)
    b. Red Hat Bug Fix Advisory(RHBA)
    c. Red Hat Enhancement Advisory(RHEA)
  2. Check update informaton
    a. yum updateinfo
    b. yum updateinfo –security
    c. yum updateinfo –security list
  3. Apply certain type of update
    a. yum update –security
    b. yum update –bugfix
  4. BugTraq
  5. Package Integrity Check
    a. rpm –import gpa-key-file
    b. rpm K rpm-file
    c. rpm -qa | grep gpg-pubkey
    d. rpm -e gpg-pubkey-keyed
    e. gpgcheck=1 in /etc/yum.conf0
    f. gpgkey=/path/to/file
    g. rpm -qpl rpm-file
    h. rpm -qp –scripts rpm-file
    i. rpm -qp –tiggers rpm-file
    413-2-ecryption:
  6. Linux Unified Key Setup(LUKS)
    a. cryptsetup luksFormat /dev/vg/lv
    b. cryptsetup luksOpen /dev/vg/lv name
    c. mkfs.ext4 /dev/mapper/name
    d. mkdir /secure
    e. mount /dev/mapper/name /secure
    f. umount /secure
    g. cryptserup liksClose name
  7. Persistently Mount Encrypted Volume
    a. dd if=/dev/urandom of=/path/to/password/file bs=4096 count=1
    b. chmod 600 /path/to/password/file
    c. cryptsetup luksAddKey /dev/vg/lv /path/to/password/file
    d. /etc/crypttab
    i. name  /dev/vg/lv  /path/to/password/file
    
    e. /etc/fstab
    i. /dev/mapper/name  /secure  ext4  defauls 0 0
    
  8. File System Defauls Mount Options
    a. dev,exec,suid,rw…
    b. nodev
    c. noexec
    d. nosuid
    e. ro
  9. Manae Superblock Mount Options
    a. tune2fs -l /dev/vda1
    b. tune2fs -o ^acl /dev/vda1
    c. tune2fs -o acl /dev/vda1
  10. File System Attributes
    a. chattr +a file(append only只读)
    b. chattr +i file(Immutable免疫)
    c. chattr +j file(Journal)
    d. chattr +S file(Synchronous立即同步磁盘)
    e. lsattr file
  11. Review Specia Permissions
    a. SUID on executables
    b. SGID on executables
    c. SGID on directories
    d. Sticky Bit on directories(or files)
  12. Search special files
    a. find /bin -type f -perm -4000(SUID文件)
    b. find /usr/bin -type f -perm -2000(SGID文件)
    c. find /var -perm -1000
    d. find /usr/bin -perm /7000(所有带特殊位文件
  13. Default File Permissions
    a. umask
    b. Default user mask is 002
    i. file will be:777-002-111=664
    ii. directory will be:777-002=775
    
    c. Default root mask is 022
    i. file will be:777-002-111=644
    ii. directory will be:777-022=755
    
    d. Global change
    i. /etc/profile
    ii. /etc/bashrc
    
    e. Individual change
    i. ~/.bash_profile
    ii. ~/.bashrc
    
  14. ACLs
    a. setfacl -m … dir
    b. setfacl -m d:… dir
    c. serfacl -x … dir
  15. Intrusion Detection
    a. AIDE
    i. yum install aide
    ii. vim /etc/aide.conf
    iii. aide --init;
    iv. mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
    v. aide --check
    
    413-3-password policy
  16. chage passwd
    a. chage -m 3 -M 90 -W 7 -l 356 username
    b. chage -l username
    c. chage -d 0 username
    d. defaults passwd defined in /etc/login.defs
    i. PASS_MAX_DAYS 60
    ii. PASS_MIN_DAYS 3
    
  17. PAM
    a. ls /lib64/security/
    b. ls /etc/pam.d/

    i. more system-auth
    ii. more passwd-auth
    

    c. pam_cracklib.so

    i. minlen
    ii. lcredit,ucredit,dcredit,ocredit
    iii. minclass
    iv. vi /etc/pam.d/system-auth
    v. vi /etc/pam.d/passwd-auth
    

    d. pam_tally2.so

    i. pam_tally2
    ii. pam_tally2 --reset -u username
    
  18. /etc/security/limits.conf
    a. more /etc/security/limits.d/90-nproc.conf
    b. ulimit -a
    413-4-ipa server

  19. IPA project(Identity,Policy,Audit)
    a. LDAP
    b. MIT Kerberos KDC
    c. Dogtag project
    d. NTP service
    e. DNS service
  20. Install IPA Server
    a. chkconfig NetworkManager off
    b. service NEtworkManager stop
    c. config static ipaddr
    d. chkconfig network on
    e. service network restart
    f. yum install ipa-server
    g. ipa-server-install –help
    h. ipa-sever-install –hostname=server1.example.com -n example.com -r EXAMPLE.COM -p redhat123 -a redhat123 -idstart=5000 -idmax=7000 -N -U
    i. service sshd restart
    j. kinit admin
    k. klist
    l. firefox
    m. http://server.example.com
    n. configure browser for SSO
  21. Install IPA Client
    a. yum install ipa-client
    b. ipa-client-install –domian=example.com –server=server.example.com –realm=EXAMPLE.COM -p admin -w redhat123 –mkhomedir -N -U
    c. kinit username
    d. ssh username@server1
  22. Uninstall IPA Client
    a. ipa-client-install –uninstall
    b. rm -rf /etc/ipa/ca.crt
    c. reboot
    413-5(1)-log srver and client:
  23. vi /etc/rsyslog.conf
  24. vi /etc/rsyslog.d/filter.conf
    a. :fromhost, isequal, “desktop1.example.com” /var/log/desktop1.log
    b. :fromhost, isequal, “desktop1.example.com” ~
    413-5(2)-log srver and client:
  25. vi /etc/rsyslog.d/ssl.conf
    413-6-audit file access:
  26. auditd
  27. /vat/log/audit/audit.log
  28. ausearch -i -a 28708
  29. auditctl
  30. vi /etc/audit/audit.rules
  31. /etc/init.d/auditd restart
  32. pam_tty_audit.so
  33. vi /etc/pam.d/system-auth
    a. session required pam_tty_audit.so enable=root
  34. vi /etc/pam.d/passwd-auth
    a. session required pam_tty_audit.so enable=root
  35. /etc/init.d/auditd restart
  36. aureport –tty
    413-7- firewall:
  37. iptables
    a. setup
    b. iptables -L -v -n
  38. /etc/sysconfig/iptables-config
    a. IPTABLES_MODULES=”nf_conntrack_ftp”
    b. /etc/init.d/iptables restart

Tomcat安全配置参考

发表于 2017-01-03 | 更新于 2018-04-25 | 分类于 安全配置参考

0x01 基本配置
1 删除默认目录
安装完tomcat后,删除$CATALINA_HOME/webapps下默认的所有目录文件 rm -rf /srv/apache-tomcat/webapps/*
2 隐藏tomcat版本信息
修改$CATALINA_HOME/conf/server.xml,在Connector节点添加server字段,示例如下


server=”WVS1.1”

3 自定义错误页面
修改tomcat/ conf/web.xml,自定义40x、50x等容错页面,防止信息泄露。
(1)配置tomcat/conf/web.xml文件:
在最后一行之前加入以下内容:

404

/noFile.htm

……………

java.lang.NullPointerException

/ error.jsp

第一个之间的配置实现了将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其多的错误代码导向页面,如403,500等。
第二个之间的配置实现了当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面,还需要在第个jsp网页中加入以下内容:
<%@ page errorPage=”/error.jsp” %>
典型的error.jsp错误页面的程序写法如下:
<%@ page contentType=”text/html;charset=GB2312”%>
<%@ page isErrorPage=”true”%>

错误页面

出错了:

错误信息: <%= exception.getMessage() %>

Stack Trace is :
<%
java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
java.io.PrintWriter pw = new java.io.PrintWriter(cw,true);
exception.printStackTrace(pw);
out.println(cw.toString());
%>



当出现NullPointerException异常时tomcat会把网页导入到error.jsp,且会打印出出错信息。
(2)重新启动tomcat服务
4 更改tomcat服务器默认端口
1、参考配置操作
(1)修改tomcat/conf/server.xml配置文件,更改默认管理端口到8800
<Connector
port=”8888” maxHttpHeaderSize=”8192” maxThreads=”150”
minSpareThreads=”25” maxSpareThreads=”75”、
enableLookups=”false” redirectPort=”8443” acceptCount=”100”
connectionTimeout=”300” disableUploadTimeout=”true” />
(2)重启tomcat服务
2、补充操作说明
② 备注事项,登陆http://127.0.0.1:8888 ,进行验证配置。
0X02 安全配置
1 用户权限
在服务器设备权限配置范围内,根据我们的业务需要,配置其所需的最小权限。同时应删除或锁定与设备运行、维护等工作无关的账号。例如admin, 666等。还有使用单独的账号允许,不能使用与系统账号一样的账号密码。
1、Tomcat 4.x和5.x版本用户角色分为:role1,tomcat,admin,manager四种。
role1:具有读权限;
tomcat:具有读和运行权限;
admin:具有读、运行和写权限;
manager:具有远程管理权限。
Tomcat 6.0.18版本只有admin和manager两种用户角色,且admin用户具有manager管理权限。
2、Tomcat 4.1.37和5.5.27版本及以后发行的版本默认除admin用户外其他用户都不具有manager管理权限。
① 建议配置
编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限 ,例如




② 登陆http://ip:8080/manager/html页面,使用tomcat账号进行本地登录,进行验证配置。
2 口令安全要求
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
① 建议配置
在tomcat/conf/tomcat-user.xml配置文件中设置密码


② 备注事项
检查tomcat/conf/tomcat-user.xml配置文件中的帐号口令是否符合移动通过配置口令复杂度要求。
(1)人工检查配置文件中帐号口令是否符合;
(2)使用tomcat弱口令扫描工具定期对Tomcat Web服务器进行远程扫描,检查是否存在弱口令帐号。
3 禁止列目录(高版本默认已禁止)
① 建议配置
(1) 编辑tomcat/conf/web.xml配置文件, 注意原文件和下面的区别。


listings
false

(2)重新启动tomcat服务
② 备注事项
当WEB目录中没有默认首页如index.html,index.jsp等文件时,不会列出目录内容,直接访问http://ip:8800/webadd
4 定时账户自动登出
对于类似web具备字符交互界面的设备,应支持定时账户自动登出。登出后用户需再次登录才能进入系统。
① 建议配置
编辑tomcat/conf/server.xml配置文件,修改为30秒

<Connector
port=”8080” maxHttpHeaderSize=”8192” maxThreads=”150”
minSpareThreads=”25” maxSpareThreads=”75”、
enableLookups=”false” redirectPort=”8443” acceptCount=”100”
connectionTimeout=”6000” disableUploadTimeout=”true” />
② 备注事项
登陆tomcat默认页面http://ip:8080/manager/html ,使用管理账号登陆,10分钟无操作或者关闭浏览器自动退出。
5 启用cookie的HttpOnly属性
修改$CATALINA_HOME/conf/context.xml,添加
配置cookie的secure属性,在web.xml中sesion-config节点配置cooker-config,此配置只允许cookie在加密方式下传输。

<session-config>
    <session-timeout>30</session-timeout>


true


6 AJP端口管理
AJP是为 Tomcat 与 HTTP 服务器之间通信而定制的协议,能提供较高的通信速度和效率。如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。前端如果是由nginx做的反向代理的话可以不使用此连接器,因此需要注销掉该连接器。
0x03 其他事项
1 日志记录
应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。
① 建议配置
编辑server.xml配置文件,在标签中增加记录日志功能
将以下内容的注释标记< ! – – >取消


② 备注事项
classname:This MUST be set to
org.apache.catalina.valves.AccessLogValve touse the default access log valve. &<60
Directory:日志文件放置的目录,在tomcat下面有个logs文件夹,那里面是专门放置日志文件的,也可以修改为其他路径;
Prefix: 这个是日志文件的名称前缀,日志名称为localhost_access_log.2008-10-22.txt,前面的前缀就是这个localhost_access_log
Suffix: 文件后缀名
Pattern: common方式时,将记录访问源IP、本地服务器IP、记录日志服务器IP、访问方式、发送字节数、本地接收端口、访问URL地址等相关信息在日志文件中
resolveHosts:值为true时,tomcat会将这个服务器IP地址通过DNS转换为主机名,如果是false,就直接写服务器IP地址
2 HTTPS加密协议
① 建议配置
(1)使用JDK自带的keytool工具生成一个证书
JAVA_HOME/bin/keytool -genkey –alias tomcat –keyalg RSA
-keystore /path/to/my/keystore
(2)修改tomcat/conf/server.xml配置文件,更改为使用https方式,增加如下行:
Connector classname=”org.apache.catalina.http.HttpConnector”
port=”8443” minProcessors=”5” maxprocessors=”100”
enableLookups=”true” acceptCount=”10” debug=”0”
scheme=”https” secure=”true” >
Factory classname=”org.apache.catalina.SSLServerSocketFactory”
clientAuth=”false”
keystoreFile=”/path/to/my/keystore” keystorePass=”runway”
protocol=”TLS”/>
/Connector>
其中keystorePass的值为生成keystore时输入的密码
(3)重新启动tomcat服务
② 备注事项
使用https方式登陆tomcat服务器页面,如果登陆成功,证明配置成功;如果登陆失败,证明配置失败。

参考链接:http://blog.csdn.net/qq_29277155/article/details/52821229

Centos安全配置参考

发表于 2017-01-03 | 更新于 2018-04-26 | 分类于 安全配置参考

0x01 系统安全记录文件

#more /var/log/secure
统计访问IP及次数。

#grep -oP ‘(\d+.){3}\d+’ /var/log/secure |sort |uniq -c
0x02 启动和登录安全性
1.用户口令
修改改密码长度/etc/login.defs

#vi /etc/login.defs
PASS_MIN_LEN 8
2.注释掉不需要的用户和用户组
vi /etc/passwd
vi /etc/group
3.口令文件
chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。

#chattr +i /etc/passwd

#chattr +i /etc/shadow

#chattr +i /etc/group

#chattr +i /etc/gshadow
4.禁止CtrlAltDelete重新启动机器命令
修改/etc/inittab文件,将ca::ctrlaltdel:/sbin/shutdown -t3 -r now”一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:

#chmod -R 700 /etc/rc.d/init.d/*
这样便仅有root可以读、写或执行上述所有脚本文件。
5.限制su命令
当不想任何人能够su作为root,可以编辑/etc/pam.d/su文件,增加如下两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=isd
这时,仅isd组的用户可以su作为root。此后,如果希望用户admin能够su作为root,可以运行如下命令:

#usermod -G10 admin
6 . 更改SSH端口
最好改为10000以上,别人扫描到端口的机率也会下降,不允许使用低版本的SSH协议
vi /etc/ssh/ssd_config
将#protocol2,1
改为protocol2
将PORT改为1000以上端口
vi /etc/ssh/sshd_config
Port 10000
同时,创建一个普通登录用户,并取消直接root登录
useradd ‘username’
passwd ‘username’
vi /etc/ssh/sshd_config
PermitRootLogin no
#取消root直接远程登录
7 . 关闭那些不需要的服务
记住少开一个服务,就少一个危险。以下仅列出需要启动的服务,未列出的服务一律关闭:

#setup
acpid
anacron
cpuspeed
crond
irqbalance\仅当服务器CPU为S.M.P架构或支持双核心、HT技术时,才需开启,否则关闭。
microcode_ctl
network
random
sendmail
sshd
syslog
yum-updatesd
8 . 启用iptables防火墙
对增加系统安全有许多好处。设置好防火墙的规则,例如只允许内网IP访问,禁止对外发送。
/etc/init.d/iptables start
0x03 限制网络访问
1.NFS访问
使用NFS网络文件系统服务,应该确保/etc/exports具有最严格的访问权限设置,也就是意味着不要使用任何通配符、不允许root写权限并且只能安装为只读文件系统。编辑文件/etc/exports并加入如下两行。
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
/dir/to/export是想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。为了使改动生效,运行如下命令。

#/usr/sbin/exportfs-a
2.TCP_WRAPPERS设置
默认情况下,多数Linux系统允许所有的请求,而用TCP_WRAPPERS增强系统安全性是举手之劳,可以修改/etc/hosts.deny和/etc/hosts.allow来增加访问限制。例如,将/etc/hosts.deny设为”ALL:ALL”可以默认拒绝所有访问,然后在/etc/hosts.allow文件中添加允许的访问。
例如,”sshd:192.168.10.10/255.255.255.0 gate.openarch.com”表示
允许IP地址192.168.10.10和主机名gate.openarch.com允许通过SSH连接。
3.登录终端设置
/etc/securetty文件指定了允许root登录的tty设备,由/bin/login程序读取,其格式是一个被允许的名字列表,可以编辑/etc/securetty且注释掉如下的行。
tty1

#tty2

#tty3

#tty4

#tty5

#tty6
这时,root仅可在tty1终端登录。

0x04 防止攻击
1.阻止ping
如果没人能ping通系统,安全性自然增加了,为此,我们可以在/etc/rc.d/rc.local文件中增加如下一行
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
2.防止IP欺骗
编辑host.conf文件并增加如下几行来防止IP欺骗攻击。
order bind,hosts 解析顺序
multi on 允许多面网络(多网卡开启)
nospoof on 拒绝IP欺骗
3.防止DoS攻击
对系统所有的用户设置资源限制可以防止DoS类型攻击,如最大进程数和内存使用数量等。
例如,可以在/etc/security/limits.conf中添加如下几行:

  • hard core 0
    • hard rss 5000
    • hard nproc 20
      然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。
      session required /lib/security/pam_limits.so
      core 0 表示禁止创建core文件,
      nproc 20 把最多的进程数限制到20
    • 表示登录到系统的所有用户
      rss 5000 表示除了root之外,其它用户最多只能用5M内存。这样可以更好的控制系统中用户对进程、core文件和内存的使用情况。

参考链接:http://blog.csdn.net/qq_29277155/article/details/52497113

Nginx安全配置参考

发表于 2017-01-03 | 分类于 安全配置参考

0X01 日志审计
① 参考配置操作
(1)编辑 nginx.conf 配置文件
将 error_log 前的“#”去掉,记录错误日志
将 access_log 前的“#”去掉,记录访问日志
(2)设置 access_log,修改配置文件如下:
log_format formatname ‘$remote_addr - $remote_user [$time_local] ‘
‘ “$request” $status $body_bytes_sent “$http_referer” ‘
‘ “$http_user_agent” “$http_x_forwarded_for”‘; access_log
logs/access.log formantname; #formatname 是设置配置文件格式的名称
② 备注事项
查看 nginx.conf 配置文件中,error_log、access_log 前的“#”是否去掉
0x02 服务
1 限制 IP 访问
对网站或敏感目录的访问 IP 进行限制
① 参考配置操作
(1)修改配置文件

#vi /usr/local/nginx/conf/nginx.conf
具体设置如下:
location / {
deny 192.168.1.1; #拒绝 IP
allow 192.168.1.0/24; #允许 IP
allow 10.1.1.0/16; #允许 IP
deny all; #拒绝其他所有 IP
(2)重新启动 nginx 服务
② 备注事项
根据应用场景,设置合适的 IP 地址,检查配置文件 #more /usr/local/nginx/conf/nginx.conf 中的 server 项
2 控制超时时间
控制超时时间,提高服务器性能,降低客户端的等待时间
① 建议配置
(1)修改配置文件

#vi /usr/local/nginx/conf/nginx.conf
具体设置如下:
client_body_timeout 10; #设置客户端请求主体读取超时时间
client_header_timeout 10; #设置客户端请求头读取超时时间
keepalive_timeout 5 5; #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间
send_timeout 10; #指定响应客户端的超时时间
(2)重新启动 nginx 服务
② 备注事项
需要根据应用场景的需要选择合适的参数值。
1 、符合性判定依据
超时后,服务器返回相应的消息。
2 、参考检测方法
检查配置文件 #more /usr/local/nginx/conf/nginx.conf
3 下载限制并发和速度
限制客户端下载速度,保证服务器负载正常
① 建议配置
例如网站存放路径为/usr/local/nsfocus/ ,服务器名称为:down.nsfocus.com
(1)修改配置文件

#vi /usr/local/nginx/conf/nginx.conf
具体设置如下:
limit_zone one $binary_remote_addr 10m;
server
{
listen 80;
server_name down.nsfocus.com;
index index.html index.htm index.PHP;
oot /usr/local/nsfocus;

#Zone limit;
location / {
limit_conn one 1;
limit_rate 20k;
}
………
}
(2)重新启动 nginx 服务
下载时,不会超过设计的并发连接数和速度限制,同时检查 nginx.conf 文件中的配置
0x03 其他事项
1 卸载不需要的模块
卸载不需要的 nginx 模块, 最大限度地将 nginx 加载的模块最小化
① 建议配置
(1)检查需要禁用的模块
在编译 nginx 服务器时,使用下面的命令查看哪些模块应该启用,哪些模应
该禁用:

./configure –help | less

一旦处选了要禁用的模块,需要与相关人员沟通确认,并经过测试不影响业
务运行。
(2)例如,要禁用 autoindex 和 SSI 模块,命令如下:

./configure –without-http_autoindex_module –without-http_ssi_module

make

make install

② 备注事项
Nginx 不包含不必要的模块或者输入 ./configure –help | less 进行检查
2 防盗链设置
防止其他网站盗链本网站资源
① 建议配置
(1)修改配置文件

#vi /usr/local/nginx/conf/nginx.conf
具体设置如下:
location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip)$ {
valid_referers none blocked server_names
.nsfocus.com
http://localhost baidu.com;
if ($invalid_referer) {
rewrite ^/ [img]http://www.nsfocus.com/images/default/logo.gif[/img];

return 403;

}
}
根据应用场景,设置合适的域名
(2)重新启动 nginx 服务
② 备注事项
从非法网站访问所保护的资源,出现设置的页面。同时检查配置文件 #more /usr/local/nginx/conf/nginx.conf
3 自定义错误信息
1)修改 src/http/ngx_http_special_response.c,自己定制错误信息

messages with just a carriage return.

static char ngx_http_error_400_page[] = CRLF;
static char ngx_http_error_404_page[] = CRLF;
static char ngx_http_error_413_page[] = CRLF;
static char ngx_http_error_502_page[] = CRLF;
static char ngx_http_error_504_page[] = CRLF;
常见错误:
400 bad request
404 NOT FOUND
413 Request Entity Too Large
502 Bad Gateway
504 Gateway Time-out
(2)重新启动 nginx 服务
② 备注事项
URL 地址栏中输入 http://ip:8800/manager12345,访问出错时,返回自定义的错误页面
4 隐藏 nginx 服务信息头
① 建议配置
修改 nginx解压路径/src/http/ngx_http_header_filter_module.c文件的第48
和 49 行内容,自定义头信息:
static char ngx_http_server_string[] = “Server:XXXXX.com” CRLF;
static char ngx_http_server_full_string[] = “Server:XXXXX.com” CRLF;
添加如下代码到 nginx.conf 配置文件,禁止错误页面中显示 nginx 版本号:
server_tokens off
② 备注事项
服务信息头显示设置的内容,检查 http 服务信息头内容
5 补丁更新
安装系统补丁,修补漏洞
1 、参考配置操作
手动安装补丁或安装最新版本软件,所安装的补丁,应首先在经过测试验证;安装前,要做好数据备份。
2查看版本和编译器信息

参考链接:http://blog.csdn.net/qq_29277155/article/details/52819635

Apache安全配置参考

发表于 2017-01-03 | 更新于 2018-04-25 | 分类于 安全配置参考

date: 2017-01-03 13:30:12

0X01 账号
以专门的非root用户账号和组运行Apache。
操作: 根据需要为Apache创建用户、组。
参考配置操作:
修改httpd.conf配置文件,添加如下语句:
User apache
Group apachegroup
其中apache、apachegroup分别是为Apache创建的用户和组。
检测:检查httpd.conf配置文件,检查用户配置文件。
补充说明:

  1. 根据不同用户,取不同的名称。
  2. 为用户设置适当的家目录和shell。
    0x02 授权
    禁止Apache访问Web目录之外的任何文件。
    操作:
    编辑httpd.conf配置文件,

    Order Deny,Allow
    Deny from all

    检测:访问服务器上不属于Web目录的一个文件,结果应无法显示。
    判定:无法访问Web目录之外的文件。
    补充说明:
    设置可访问目录,
    <Directory /web>
    Order Allow,Deny
    Allow from all

    其中/web为网站根目录。
    0x03 日志
    设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址。
    操作:
    编辑httpd.conf配置文件,设置日志记录文件、记录内容、记录格式。
    LogLevel notice
    ErrorLog logs/error_log
    LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Accept}i\” \”%{Referer}i\” \”%{User-Agent}i\”” combined
    CustomLog logs/access_log combined
    ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误。若要将错误日志送到Syslog,则设置:ErrorLog syslog。
    CustomLog指令设置访问日志的文件名和位置。访问日志中会记录服务器所处理的所有请求。
    LogFormat设置日志格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。
    检测:查看相关日志记录。
    判定:查看logs目录中相关日志文件内容,记录完整。
    0x04 其它
    1 Apache错误页面重定向
    操作:
  3. 修改httpd.conf配置文件:
    ErrorDocument 400 /custom400.html
    ErrorDocument 401 /custom401.html
    ErrorDocument 403 /custom403.html
    ErrorDocument 404 /custom404.html
    ErrorDocument 405 /custom405.html
    ErrorDocument 500 /custom500.html
    Customxxx.html为要设置的错误页面。
  4. 重启Apache服务
    检测方法:URL地址栏中输入http://ip/xxxxxxx~~~(一个不存在的页面)
    判定:指向指定错误页面。
    2 禁止列目录
    操作:
  5. 编辑httpd.conf配置文件,

    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

    将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止 Apache 显示该目录结构。Indexes 的作用就是当该目录下没有 index.html文件时,就显示目录结构。
    2.设置Apache的默认页面,编辑%apache%\conf\httpd.conf配置文件,

    DirectoryIndex index.html

    其中index.html即为默认页面,可根据情况改为其它文件。
  6. 重启Apache服务
    检测:直接访问http://ip:8800/xxx(xxx为某一目录)
    判定:当WEB目录中没有默认首页如index.html文件时,不会列出目录内容。
    3 拒绝服务
    操作:
  7. 编辑httpd.conf配置文件,
    Timeout 10 KeepAlive On
    KeepAliveTimeout 15
    AcceptFilter http data
    AcceptFilter https data
  8. 重启Apache服务
    检测方法:
  9. 检查配置文件是否设置。
    4 删除无用文件
    操作:
  10. 删除缺省HTML文件:

    rm -rf /usr/local/apache2/htdocs/*

    删除缺省的CGI脚本:

    rm –rf /usr/local/apache2/cgi-bin/*

    删除Apache说明文件:

    rm –rf /usr/local/apache2/manual

    删除源代码文件:

    rm -rf /path/to/httpd-2.2.4*

    根据安装步骤不同和版本不同,某些目录或文件可能不存在或位置不同。
    检测:检查对应目录。
    5 隐藏版本信息
    操作:
  11. 编修改httpd.conf配置文件:
      ServerSignature Off
      ServerTokens Prod
    检测:检查配置文件。
    判定:存在ServerSignature Off

参考链接:http://blog.csdn.net/qq_29277155/article/details/52915206

1…567…14

Chen Fei

把我的过程记录下来,以免以后忘了

68 日志
15 分类
40 标签
© 2019 Chen Fei
由 Hexo 强力驱动 v3.7.1
|
主题 – NexT.Mist v6.3.0