`

Linux的系统安全设置Shell脚本

阅读更多

本脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置。使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了!
建议根据自己的实际需要来修改此脚本,不要盲目使用!


#!/bin/sh
# desc: setup linux system security
# author:coralzd
# powered by www.freebsdsystem.org
# version 0.1.2 written by 2011.05.03
#account setup

passwd -l xfs
passwd -l news
passwd -l nscd
passwd -l dbus
passwd -l vcsa
passwd -l games
passwd -l nobody
passwd -l avahi
passwd -l haldaemon
passwd -l gopher
passwd -l ftp
passwd -l mailnull
passwd -l pcap
passwd -l mail
passwd -l shutdown
passwd -l halt
passwd -l uucp
passwd -l operator
passwd -l sync
passwd -l adm
passwd -l lp

chattr /etc/passwd /etc/shadow
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow

# add continue input failure 3 ,passwd unlock time 5 minite
sed -i 's#auth required pam_env.so#auth required pam_env.sonauth required pam_tally.so onerr=fail deny=3 unlock_time=300nauth required /lib/security/$ISA/pam_tally.so onerr=fail deny=3 unlock_time=300#' /etc/pam.d/system-auth
# system timeout 5 minite auto logout
echo "TMOUT=300" >>/etc/profile

# will system save history command list to 10
sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile

# enable /etc/profile go!
source /etc/profile

# add syncookie enable /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

sysctl -p # exec sysctl.conf enable
# optimizer sshd_config

sed -i "s/#MaxAuthTries 6/MaxAuthTries 6/" /etc/ssh/sshd_config
sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config

# limit chmod important commands
chmod 700 /bin/ping
chmod 700 /usr/bin/finger
chmod 700 /usr/bin/who
chmod 700 /usr/bin/w
chmod 700 /usr/bin/locate
chmod 700 /usr/bin/whereis
chmod 700 /sbin/ifconfig
chmod 700 /usr/bin/pico
chmod 700 /bin/vi
chmod 700 /usr/bin/which
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/make
chmod 700 /bin/rpm

# history security

chattr +a /root/.bash_history
chattr +i /root/.bash_history

# write important command md5
cat > list << "EOF" &&
/bin/ping
/bin/finger
/usr/bin/who
/usr/bin/w
/usr/bin/locate
/usr/bin/whereis
/sbin/ifconfig
/bin/pico
/bin/vi
/usr/bin/vim
/usr/bin/which
/usr/bin/gcc
/usr/bin/make
/bin/rpm
EOF

for i in `cat list`
do
if [ ! -x $i ];then
echo "$i not found,no md5sum!"
else
md5sum $i >> /var/log/`hostname`.log
fi
done
rm -f list

来源:http://www.freebsdsystem.org/linux_security_shell_v2/

 : http://www.ha97.com/4134.html

分享到:
评论

相关推荐

    一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下

    Linux系统一键安全加固shell脚本及使用说明.rar

    Linux系统一键安全加固shell脚本及使用说明。已经在centos7上验证后的,欢迎大家下载。

    Linux系统安全基线检查脚本

    Linux系统安全基线检查脚本

    2018年Linux系统安全检查、加固shell脚本

    2018年最新Linux系统安全检查、系统加固shell脚本,可过三级等保脚本。

    Linux下清理数据库shell脚本

    综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...

    linux shell 脚本入门

    Linux Shell脚本是Linux系统中用于自动化任务的强大工具,它基于Bash或其他Shell解释器,允许用户编写一系列命令,以实现批处理、任务调度或任何需要自动化的工作流程。本PDF文档"shell-script-entry.pdf"提供了18页...

    LINUX SHELL 脚本攻略

    Bash(Bourne Again SHell)是Linux系统中最普遍使用的Shell,本书应该也会重点介绍bash Shell脚本的编写技巧。 Shell脚本的基本构成包括:变量、环境变量、命令执行、流程控制(如if语句、for循环、while循环等)...

    Linux学习资料及shell脚本实例

    这份“Linux学习资料及shell脚本实例”涵盖了Linux的基础知识和实用技巧,旨在帮助初学者快速入门并深入理解Linux系统。 首先,Linux是一个开源的操作系统,它的内核由林纳斯·托瓦兹开发,全球各地的开发者共同...

    Linux shell 脚本攻略

    **Linux Shell脚本攻略概述** Linux Shell脚本是Linux操作系统中一种强大的自动化工具,它允许用户通过编写脚本来执行一系列命令,实现系统管理和...这本书将引导初学者逐步成为一名熟练的Linux系统管理员或开发者。

    linux系统安全shell脚本第二版.docx

    linux系统安全shell脚本第二版.docx

    Linux操作系统shell脚本

    Linux 操作系统 shell 脚本相关知识点 Linux 操作系统 shell 脚本是指使用 shell 语言编写的脚本程序,以实现自动执行某些任务或操作。shell 脚本是 Linux 操作系统中最常用的自动化工具之一。 1. shell 脚本的三...

    linux经典shell脚本

    另一个脚本展示了如何使用bash脚本来实时监控Linux系统的网络流量。 **脚本核心功能:** 1. **自定义查看接口:** 可以指定特定的网络接口进行流量监控。 2. **流量单位转换:** 自动根据流量大小显示B/s、KB/s或...

    Linux云计算-Shell脚本100例

    在IT行业中,Linux云计算与Shell脚本编程是两个至关重要的技术领域。Linux作为开源操作系统,广泛应用于服务器管理、云计算平台以及自动化任务执行等场景。Shell脚本,作为Linux环境下的命令解释器,允许用户编写一...

    android系统中调用shell脚本

    在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...

    LINUX+SHELL脚本攻略.pdf

    根据提供的文件信息,“LINUX+SHELL脚本攻略.pdf”似乎是一份关于Linux系统下的Shell脚本编程指南。这里我们将从几个方面对这份资料可能涵盖的关键知识点进行总结与扩展。 ### Linux简介 Linux是一种免费开放源...

    Linux shell脚本编写基础

    环境变量是由export关键字处理过的变量,它们在shell脚本中的使用并不频繁,多数用在登录脚本中以设置环境配置。例如: ```sh export PATH=$PATH:/new/path ``` 这行代码将新路径/new/path添加到环境变量PATH中,...

    Linux shell 脚本攻略源代码第二版

    Shell脚本的基础在于Bash(Bourne-Again SHell),它是Linux系统中最常用的Shell。Bash提供了许多内置命令、控制结构和变量,使得编写脚本变得简单而强大。例如,你可以使用`echo`命令打印文本,`if`语句进行条件...

    Shell脚本学习指南_中文版,shell脚本基础,LINUX

    通过阅读“Shell脚本学习指南_中文版.pdf”,你可以逐步掌握这些知识点,并运用到实际工作中,提升Linux系统管理的效率和自动化水平。记住,实践是检验学习效果最好的方式,多写脚本,多动手操作,才能真正掌握Shell...

    给linux的shell脚本加密(ZT).rar_Linux shell_shell 脚本_shell加密_shell脚本

    在Linux系统中,Shell脚本是一种非常强大的工具,它允许用户编写自动化任务,执行系统管理操作,甚至构建复杂的程序。然而,随着脚本的复杂性和重要性增加,保护脚本内容的安全变得至关重要,特别是当脚本包含敏感...

    统信信操作系统PXE部署SHELL脚本

    "统信桌面操作系统PXE部署SHELL脚本"涉及到的主要知识点包括:SHELL脚本编程,PXE网络部署原理,DHCP和TFTP服务配置,ISO镜像处理,initrd和vmlinuz的创建,kickstart自动化安装,以及客户端网络启动设置。...

Global site tag (gtag.js) - Google Analytics