网站首页 > 技术教程 正文
安全加固
(需要人工操作)
1.1 使用Centos6.8 作为服务器的指定操作系统,使用64位操作系统
1.2系统安装完成后,必须使用公司的升级源(yum server)升级到最新的安全稳定版,包含最新的安全补丁。
1.3只允许使用公司的yum服务器作为更新源,同时打开PGP校验,并使用在线RHEL的 pgp key进行校验。
1.4.系统只安装公司认可的应用程序,禁止安装编译环境(gcc,automake等),远程管理软件、代理服务器软件(http,socks ),VPN软件,抓包软件tcpdump ethereal wireshark等。(限制只有root用户才可使用)。
1.5.grub使用MD5密码进行保护。
1.6.设置本地控制台超时退出。
1.7.禁止不常用的文件格式、模块
/etc/modprobe.conf 添加以下:
install cramfs /bin/true
install freevxfs /bin/true
install jffs2 /bin/true
install hfs /bin/true
install hfsplus /bin/true
install squashfs /bin/true
install udf /bin/true
install ppp_generic /bin/true
install pppoe /bin/true
install pppox /bin/true
install slhc /bin/true
install bluetooth /bin/true
install ipv6 /bin/true
install irda /bin/true
install ax25 /bin/true
install x25 /bin/true
install ipx /bin/true
install appletalk /bin/true
1.8.崩溃保护。禁止SUID Core Dumps设置sysctl fs.suid_dumpable=0。
1.9.默认启动init级别设置为3。
1.10.禁用ssh 1协议。
1.11.设置LogLevel为INFO。
1.12.忽略rhost请求。(除非备份机器需要)
1.13.禁用TCP转发。(除非备份机器需要)。
1.14.禁止空密码。
1.15.nginx安全加固
a) 约定nginx使用 rpm安装。版本号、安装目录、配置文件需要标准化。
b) 返回自定义版本号。
1.16.php使用rpm。版本号、安装目录、配置文件需要标准化。(5.5.25)
1.17.日志级别设置为 E_ALL,错误日志打到syslog。
1.18.不在页面中显示PHP的错误。
1.19.session.cookie_httponly = 1
1.20.Iptables服务必须启用。
1.21.系统的shell精简。只保留bash。
1.22.Syslog服务必须启动。
1.23.所有Syslog发送到log.eformax.com。
1.24./etc/syslog.conf里添加
kern.* /var/log/kern.log
authpriv.* /var/log/secure
*.* @log.eformax.com
1.25.设置最小基址 sysctl –w vm.mmap_min_addr=4096
1.26.禁用SELINUX
1.27.去掉多余的suid文件
1.28.对system.map文件进行链接,以便主机入侵检测系统进行检查。
1.29.必须启动auditd服务
1.30.卸载prelink。
1.31. 检测openSSH 远程代码执行。
安全监控(无需人工操作)
2.1 监控管理员命令工具
备注:
监控系统命令文件,避免黑客替换系统命令,留下后门。
并对改动的内容进行监控。
2.2 监控系统提权时常用的命令
备注: 避免命令被恶意替换,留下后门。
2.3 监控默认启动的系统服务
相关命令 chkconfig –list
2.4 监控异常设备加载, 与所有进程活动。
2.5 不允许空密码
相关命令
awk -F: '($2 == "") {print}' /etc/shadow
2.6 监控系统变量改动
env | grep -i -e HOME -e PATH -e ROOTPATH -e EDITOR -e SHELL -e TERM
2.7 监控已安装的软件包
相关命令
rpm –qa
2.8 监控系统库文件
2.9 确保只有root 用户的 UID为0
相关命令:awk -F: '($3 == "0") {print}' /etc/passwd
2.10 监控提权记录
lsattr /usr/bin /bin /sbin /usr/sbin 2> /dev/null
2.11 监控系统命令
2.12 监控系统配置文件
2.13 监控关键系统目录
2.14 监控tripwire 配置文件
2.15 监控Root用户目录与用户目录权限
2.16 监控关键系统文件权限变更
2.17 审计root 登录源IP地址。
相关命令
/usr/bin/last root 2>/dev/null | /bin/awk '$2 !~ /^(console|tty1|:0.*)$/ && $3 !~ /^(console|tty1|:0.*)$/{print}'
2.18 监控审计服务器正在监听的端口
相关命令:
/bin/netstat --inet -nl 2>/dev/null | /bin/awk '$1 !~ /^(Proto|Active)/{print "Protocol: " $1 "\t\t\tForeign Address: " $5 "\t\tLocal Address: " $4}' | /bin/sort
2.19 监控 nologin shell的用户,shell不被更改
相关命令
/bin/awk -F: '$1 !~ /^[[:space:]]*#/ {print $1 ":" $3 ":" $4 ":" $6 ":" $7}' /etc/passwd 2>/dev/null
2.20 监控防火墙配置变更
2.21 监控是否存在恶意程序
相关命令(持续维护木马名称更新):
MaliciousFileEntries="55808 Trojan - Variant A:/tmp/.../a,/tmp/.../,/tmp/.../r;ADM W0rm:/tmp/.w0rm;Adore:/usr/lib/lib,/etc/cron.daily/0anacron;BeastKit:/usr/include/rpc/ ../,/usr/include/rpc/ ../kit,/usr/include/rpc/ ../kit2,/usr/doc/.sl,/usr/doc/.sp,/usr/doc/.statnet,/usr/doc/.logdsys,/usr/doc/.dpct,/usr/doc/.gifnocfi,/usr/doc/.dnif,/usr/doc/.nigol,/lib/ldd.so/bktools/;BOBKit:/usr/sbin/ntpsx,/usr/sbin/.../,/usr/lib/.../,/usr/include/.../;CiNIK Worm (Slapper.B variant):/tmp/.cinik;Dica:/var/run/...dica/,/lib/.sso,/lib/.so;illogic:/lib/secuity/.config/;Jynx:/xochikit/,/omgxochi/;Kbeast:/usr/_h4x_/;Knark:/proc/knark/;Phalanx2:/etc/khubd.p2/,/etc/lolzz.p2/,/usr/lib/zupzz.p2/;Ramen Worm:/usr/src/.poop/,/sbin/asp;Scalper Worm:/tmp/.uua,/tmp/.a;Slapper:/tmp/.bugtraq,/tmp/.bugtraq.c,/tmp/.unlock,/tmp/httpd,/tmp/update,/tmp/.cinik,/tmp/.b;T0rn Rootkit:/usr/.lib/,/usr/src/.puta,/dev/.lib/,/usr/info/.t0rn;zaRwT.KiT Rootkit:/dev/ttyn,/dev/ttyp,/dev/ttyf,/dev/ttyl"; SavedIFS="$IFS"; IFS=";"; for FileEntry in $MaliciousFileEntries; do MalwareName=`/bin/echo "$FileEntry" | /bin/awk -F: '{print $1}'`; FileList=`/bin/echo "$FileEntry" | /bin/awk -F: '{print $2}'`; IFS=","; IsExisted=`/bin/ls -d $FileList 2>/dev/null`; if [ -n "$IsExisted" ]; then /bin/echo -e "$MalwareName:\n$IsExisted"; fi; IFS=";"; done; IFS="$SavedIFS";
2.22 监控是否存在恶意程序端口
PortDatabase="65535-#Adore;6660-TCP:6661-TCP:6662-TCP:6663-TCP:6664-TCP:6665-TCP:6666-TCP:6667-TCP:6668-TCP:6669-TCP:6697-TCP:7000-TCP:7001-TCP#Generic IRC Botnet;14856-TCP#TuxKit;52901-UDP#Omega DDoS Tool;27374-#Ramen Worm;2001-UDP#Scalper Worm;2002-TCP:4156-TCP:1978-TCP:1812-TCP:2015-TCP#Slapper;32982-TCP#Solaris Wanuk;2555-TCP:47017-TCP#T0rn Rootkit;60922-TCP#zaRwT.KiT Rootkit"; TCP_Ports=`/bin/netstat -an 2>/dev/null | /bin/awk '/^tcp[[:space:]]+.*/,/^$/ { print $4 }'`; UDP_Ports=`/bin/netstat -an 2>/dev/null | /bin/awk '/^udp[[:space:]]+.*/,/^$/ {print $4}'`; SavedIFS="$IFS"; IFS=";"; for PortEntry in $PortDatabase; do MalwareName=`/bin/echo "$PortEntry" | /bin/awk -F# '{print $2}'`; MalwarePortInfo=`/bin/echo "$PortEntry" | /bin/awk -F# '{print $1}'`; IFS=":"; OpenPort=""; for PortInfo in $MalwarePortInfo; do Port=`/bin/echo "$PortInfo" | /bin/awk -F- '{print $1}'`; Protocol=`/bin/echo "$PortInfo" | /bin/awk -F- '{print $2}'`; TCPOpened=`/bin/echo "$TCP_Ports" | /bin/egrep ":$Port#34;`; UDPOpened=`/bin/echo "$UDP_Ports" | /bin/egrep ":$Port#34;`; if [ "$Protocol" = "TCP" -a -n "$TCPOpened" ]; then OpenPort="$OpenPort $TCPOpened - TCP"; fi; if [ "$Protocol" = "UDP" -a -n "$UDPOpened" ]; then OpenPort="$OpenPort $UDPOpened - UDP"; fi; if [ "$Protocol" = "" ]; then if [ -n "$TCPOpened" ]; then OpenPort="$OpenPort $TCPOpened - TCP"; fi; if [ -n "$UDPOpened" ]; then OpenPort="$OpenPort $UDPOpened - UDP"; fi; fi; done; IFS=";"; if [ -n "$OpenPort" ]; then OpenPort=`/bin/echo "$OpenPort" | /bin/awk '{Content = Content " " $0;}END{print Content}'`; /bin/echo "Malware Name: $MalwareName"; /bin/echo "Open Port(s): $OpenPort"; fi; done; IFS=$SavedIFS;
2.23 监控由未知用户启动的进程
相关命令:
if [ -e "/usr/sbin/lsof" ]; then Cmd="/usr/sbin/lsof"; else if [ -e "/usr/bin/lsof" ]; then Cmd="/usr/bin/lsof"; fi; fi; if [ -n "$Cmd" ]; then UserIDs=`(/bin/cat /etc/passwd 2>/dev/null; /usr/bin/ypcat passwd 2>/dev/null) | /bin/awk -F: -v ORS=';' '$0 !~ /^[[:space:]]*#/{print $3}'`; $Cmd -n -P -l 2>/dev/null | /bin/awk 'BEGIN{UIDs = "'$UserIDs'"}{Regex="(^|;)" $3 "(;|$)" ; if(UIDs !~ Regex){print} }'; else /bin/echo "[lsof] utility is not found."; fi;
2.24 检测重复组ID与UID
可通过伪造重复组ID 进行越权
2.25 应用程序白名单监控,对不信任的进程名进行告警。
2.26 监控nginx/apache 目录配置文件改动
猜你喜欢
- 2024-10-09 web安全-服务端校验(web服务器的安全措施是什么)
- 2024-10-09 Linux系统安全小妙招,这些或许能够帮助到你
- 2024-10-09 最新Nginx安全问题使1400多万台服务器容易受到DoS攻击
- 2024-10-09 Web 环境安全 优化建议例(web安全深度剖析)
- 2024-10-09 第 12 章:NGINX 最佳实践和未来趋势
- 2024-10-09 构建高效安全的Nginx Web服务器(nginx搭建文件服务器)
- 2024-10-09 确保nginx安全,请注意这10点(nginx防护)
- 2024-09-10 网络安全运维掌握这十点核心能力就够了吗?
- 2024-09-10 Nginx暴露危漏洞CVE-2021-23017(nginx渗透测试)
- 2024-09-10 裸机和K8S容器云环境下NGINX性能基准测试
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)