#!/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. js 账单打印并分页

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  2. jQuery的一生

    jQuery 1.什么是jQuery? 是轻量级的,兼容多浏览器的JavaScript库,使用户能够方便的处理HTML Document,Events,实现动画效果,方便进行Ajax交互,能够极大地简 ...

  3. @Tranactional 注解分析

    Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义 @Tranactional注解分析 作用 ...

  4. AI产品经理成长路

    AI产品经理成长路 https://www.jianshu.com/p/4b98314ad3c0 以下都是自己平时知识的一些总结,只是一些个人的愚见,下面出现的公司.书籍.视频.网站都是自己看过体验过 ...

  5. 在centos7上编译安装nginx

    题前,先放一个有图有真相的博客链接:https://www.cnblogs.com/zhang-shijie/p/5294162.html 虽然别人说的很详细,但还是记录一下 1.VMWare Wor ...

  6. SDN的初步实践--通过netconf协议控制交换机

    1.近期在做一个云服务项目,需要与物理交换机配合实现,通过python编程实现了对物理交换机的控制,完全不需要命令行手工配置交换机, 一定程度上实现了SDN的集中控制的思想. 2.架构图如下: 3.利 ...

  7. Android为TV端助力 转载:内存泄露与内存溢出的区别

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出. ...

  8. springboot 学习之路 1(简单入门)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  9. virtualbbox centos7 NAT模式外网 Host-only Adapter模式联网 双网卡

    1.下载oracle VM virtualbox  centos7 1.1. 下载地址:https://www.virtualbox.org/wiki/Downloads https://www.ce ...

  10. MySQL 如何查看表的存储引擎

    MySQL 如何查看表的存储引擎   在MySQL中如何查看单个表的存储引擎? 如何查看整个数据库有那些表是某个特殊存储引擎,例如MyISAM存储引擎呢?下面简单的整理一下这方面的知识点. 如果要查看 ...