#!/bin/bash

## set shortest length of password
filename=/etc/login.defs
if [ -f "$filename" ];then
passminlen=`cat $filename|grep PASS_MIN_LEN|grep -v "#"`
sed -i "s#$passminlen#PASS_MIN_LEN 8#g" $filename
## set password timeout.half of years
passmaxdays=`cat $filename|grep PASS_MAX_DAYS|grep -v "#"`
sed -i "s#$passmaxdays#PASS_MAX_DAYS 180#g" $filename
fi filename=/etc/pam.d/system-auth if [ -f "$filename" ];then
pam_cracklib_so=`cat $filename|grep pam_cracklib.so|grep -v "#"`
if [ -z "$pam_cracklib_so" ];then
## not exist pam_cracklib.so, need to add
echo "password requisite pam_cracklib.so ucredit=-2 lcredit=-2 dcredit=-2" >> $filename
fi
fi ## limit su to root
filename=/etc/pam.d/su if [ -f "$filename" ];then
pam_rootok_so=`cat $filename|grep pam_rootok.so|grep -v "#"`
if [ -z "$pam_rootok_so" ];then
## empty,need add
sed -i '2i auth sufficient pam_rootok.so' $filename
fi wheel_group=`cat $filename|grep pam_wheel.so|grep -v "#"`
if [ -z "$wheel_group" ];then
sed -i '3i auth required pam_wheel.so group=wheel' $filename
fi
fi filename=/etc/profile if [ -f "$filename" ];then ## get the line data
old_val=`sed -n 2p $filename`
new_val="umask 027"
if [ "$old_val" != "$new_val" ];then
## add config in the line
sed -i '2i umask 027' $filename
fi ## add command line timeout quit.
timeout_quit=`cat $filename|grep TMOUT=|grep -v "#"`
if [ -z "$timeout_quit" ];then
echo "export TMOUT=300" >> $filename
fi
fi filename=/etc/ssh/sshd_config if [ -f "$filename" ];then
rootlogin=`cat $filename|grep PermitRootLogin|grep -v "#"`
if [ -z "$rootlogin" ];then
echo "PermitRootLogin no" >> $filename
else
sed -i "s#$rootlogin#PermitRootLogin no#g" $filename
fi if [ -f "/etc/init.d/sshd" ];then
/etc/init.d/sshd restart
fi
fi filename=/etc/rsyslog.conf if [ -f "$filename" ];then
secure_log=`cat $filename|grep "authpriv.* /var/log/secure"|grep -v "#"`
if [ -z "$secure_log" ];then
echo "authpriv.* /var/log/secure" >> $filename
fi
fi filename=/var/log/secure if [ ! -f "$filename" ];then
touch $filename
fi
if [ -f "/etc/init.d/syslog" ];then
/etc/init.d/syslog restart
fi
## delete ftp user
sed -i '/ftp:/d' /etc/passwd filename=/etc/vsftpd.conf
if [ -f "$filename" ];then
anonymous_enable=`cat $filename|grep "anonymous_enable="|grep -v "#"`
if [ -z "$anonymous_enable" ];then
echo "anonymous_enable=NO" >> $filename
else
sed -i "s#$anonymous_enable#anonymous_enable=NO#g" $filename
fi
else
touch $filename
echo "anonymous_enable=NO" >> $filename
fi filename=/etc/vsftpd/vsftpd.conf
if [ -f $filename ];then
anonymous_enable=`cat $filename|grep "anonymous_enable="|grep -v "#"`
if [ -z "$anonymous_enable" ];then
echo "anonymous_enable=NO" >> $filename
else
sed -i "s#$anonymous_enable#anonymous_enable=NO#g" $filename
fi
else
mkdir -p /etc/vsftpd/
touch $filename
echo "anonymous_enable=NO" >> $filename
fi filename=/etc/ftpusers if [ -f "$filename" ];then
root_text=`cat $filename|grep "root"|grep -v "#"`
if [ -z "$root_text" ];then
echo "root" >> $filename
## do not need to replace, due to there are only name in the ftpusers file
fi
else
touch $filename
echo "root" >> $filename
fi filename=/etc/vsftpd/ftpusers if [ -f "$filename" ];then
root_text=`cat $filename|grep "root"|grep -v "#"`
if [ -z "$root_text" ];then
echo "root" >> $filename
## do not need to replace, due to there are only name in the ftpusers file
fi
else
mkdir -p /etc/vsftpd
touch $filename
echo "root" >> $filename
fi p_telnet=`rpm -qa|grep telnet`
if [[ $p_telnet =~ "telnet" ]];then
## have install telnet
filename=/etc/xinetd.d/telnet
if [ -f "$filename" ];then
disable_text=`cat $filename|grep disable|grep -v "#"`
if [ -z "$disable_text" ];then
echo "disable = yes" >> $filename
else
sed "s#$disable_text#disable = yes#g" $filename
fi
service xinetd restart
fi
fi
## delete
netric_file=`find / -maxdepth -name .netrc` if [ ! -z "$netric_file" ];then
mv $netric_file "$netric_file".bak
fi hosts_equiv=`find / -maxdepth -name hosts.equiv` if [ ! -z "$hosts_equiv" ];then
mv $hosts_equiv "$hosts_equiv".bak
fi rhosts=`find / -maxdepth -name .rhosts` if [ ! -z "$rhosts" ];then
mv $rhosts "$rhosts".bak
fi function closeService(){
chkconfig --level $ off > /dev/null >&
} closeService printer
closeService sendmail
closeService ypbind
closeService kshell
closeService lpd
closeService ident
closeService tftp
closeService time
closeService time-udp
closeService ntalk
closeService bootps
closeService chargen
closeService chargen-udp
closeService nfs
closeService daytime
closeService nfslock
closeService echo
closeService echo-udp
closeService discard
closeService discard-udp
closeService klogin filename=/etc/vsftpd/chroot_list if [ -f "$filename" ];then
root_text=`cat $filename|grep "root"|grep -v "#"`
if [ -z "$root_text" ];then
echo "root" >> $filename
## limit root user access with no password
fi
else
touch $filename
echo "root" >> $filename
fi chmod /etc/group
chmod /etc/shadow
chmod /etc/passwd if [ -f "/etc/issue" ];then
mv /etc/issue /etc/issue.bak
fi
if [ -f "/etc/issue.net" ];then
mv /etc/issue.net /etc/issue.net.bak
fi

漏洞扫描,linux配置规范处理的更多相关文章

  1. 2017-2018-2 20155309南皓芯 Exp6 信息搜集与漏洞扫描

    实践内容 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 4.漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞 基 ...

  2. 20155308《网络对抗》Exp6 信息搜集与漏洞扫描

    20155308<网络对抗>Exp6 信息搜集与漏洞扫描 原理与实践说明 实践内容 本实践的目标是掌握信息搜集的最基础技能.具体有: 各种搜索技巧的应用 DNS IP注册信息的查询 基本的 ...

  3. 20155318 《网络攻防》Exp6 信息搜集与漏洞扫描

    20155318 <网络攻防>Exp6 信息搜集与漏洞扫描 基础问题 哪些组织负责DNS,IP的管理. 互联网名称与数字地址分配机构,ICANN机构.其下有三个支持机构,其中地址支持组织( ...

  4. 20145233《网络对抗》Exp6 信息收集和漏洞扫描

    20145233<网络对抗>Exp6 信息收集和漏洞扫描 实验问题思考 哪些组织负责DNS,IP的管理 全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理.全球一共 ...

  5. 20155321 《网络对抗》 Exp6 信息搜集与漏洞扫描

    20155321 <网络对抗> Exp6 信息搜集与漏洞扫描 实验内容 信息搜集 whois 在kali终端输入whois 网址,查看注册的公司.服务.注册省份.传真.电话等信息 dig或 ...

  6. # 20155337《网络对抗》Exp6 信息搜集与漏洞扫描

    20155337<网络对抗>Exp6 信息搜集与漏洞扫描 实践目标 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测 ...

  7. OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务

    OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务   1.  OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...

  8. Nessus漏洞扫描教程之配置Nessus

    Nessus漏洞扫描教程之配置Nessus 配置Nessus 当安装成功Nessus工具后.就可以使用该工具实施漏洞扫描.为了使用户更好的使用该工具,将介绍一下该工具的相关设置.如服务的启动.软件更新 ...

  9. Kali linux安装漏洞扫描工具Nessus指南

    引子:Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是"世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它".虽然这个扫描程序能够 ...

随机推荐

  1. 运行 python *.py 文件出错,如:python a.py

    运行 python *.py 文件出错,如:python a.py(下图) 原因:没有安装web.py 解决:下载并安装 网址:http://webpy.org/install#install  (h ...

  2. oracle11在docker环境下的运行

    目的 Ø 在测试的环境下oracle数据库不存在或访问不方便时,可以将这个环境快速恢复出来 Ø 开发时方便测试之用 可以在任何包含docker服务的机器上运行,具体的docker的安装可以参考如下: ...

  3. Mac上一条命令搭建web服务器

    实际测试工作中偶尔会需要搭建Web服务器环境,由于Mac OS X自带了Apache和PHP环境,只需要简单的启动就可以. 开启Apache 开启Web服务器的方法有两种(默认启动端口号是80): 打 ...

  4. python的datetime模块处理时间

    python的datetime模块主要用来处理时间,里面包含很多类,包括timedelay,date,time,datetime等 开发中经常会用到模块里面的datetime类,这是一个表示日期时间的 ...

  5. [20190320]测试相同语句遇到导致cursor pin S的情况.txt

    [20190320]测试相同语句遇到导致cursor pin S的情况.txt --//前面测试链接:http://blog.itpub.net/267265/viewspace-2636342/-- ...

  6. [Hive_add_3] Hive 进行简单数据处理

    0. 说明 通过 Hive 对 duowan 数据进行简单处理 1. 操作流程 1.1 建表 create table duowan(id int, name string, pass string, ...

  7. 两数之和,两数相加(leetcode)

    我们都知道算法是程序员成长重要的一环,怎么才能提高算法呢, 出来在网上看视频之外,动手练习是非常重要的.leetcode 就是一个非常好的锻炼平台. 1. 两数之和,在 leetcode 里面是属于 ...

  8. 文件上传漏洞靶场:upload-labs安装及第一关教程

    注:本文仅供学习使用,请勿用于非法操作,后果与作者无关!!! 一.简介 upload-labs是一个使用php语言编写的,专门收集渗透测试过程中遇到的各种上传漏洞的靶场.旨在帮助大家对上传漏洞有一个全 ...

  9. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  10. 7个小技巧,解决eclipse卡顿问题

    eclipse作为开发工具,每天都要使用,你肯定遇到过eclipse卡到想哭的时刻,严重影响开发效率啊!如果内存条不要钱,那就加内存吧!一个不够加两个!当然这都是玩笑话,如果不花钱也能解决问题,希望下 ...