Linux 丛裸机进行安全加固[原创]

2017/11/06 linux

Linux 丛裸机进行安全加固

date:2017-10-06 author:杨然儿

创建用户

useradd abs password abs

一、ssh加固

	vi /etc/ssh/sshd_config
		####################
		Port 35791
		Protocol 2
		MaxAuthTries 3
		MaxSessions 3
		RSAAuthentication yes
		PubkeyAuthentication yes
		UsePAM yes
		X11Forwarding yes
		Banner none
		UseDNS no
		PermitRootLogin no
		PasswordAuthentication yes
		#####################
	service sshd reload

二、环境变量加固profile

	vi /etc/profile
		#######################################
		##记录历史命令时间
		export HISTTIMEFORMAT="`whoami`  %F   %T  "
		##修改帐户TMOUT值,600秒无操作自动退出
		export PS1='$LOGNAME@'`hostname`:'$PWD''$ '
		umask 022
		TMOUT=600
		#######################################
	source /etc/profile

三、屏蔽banner信息

	备份方法:
			#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
			#cp -p /etc/motd /etc/motd_bak

	加固方法:
			#vi /etc/ssh/sshd_config
			banner NONE

			#vi /etc/motd
			删除全部内容或更新成自己想要添加的内容

四、禁用x_windows服务

		vi /etc/inittab
		################################################################
		id:5:initdefault:                   --5改成3
		#######################################################################

五、打开审计

		chkconfig auditd on
		service auditd restart

六、清理不必要的信任主机

	--删除其中不必要的主机
		#vi /etc/hosts.equiv
		#vi /$HOME/.rhosts

七、安装基础包

1、安装rz sz和 screen
	1).安装
	yum install -y lrzsz
	yum install -y screen
	2).查看
	rz      ##会弹出一个框

2、安装iftop
	1).安装
		yum -y install flex byacc  libpcap ncurses ncurses-devel libpcap-devel
		wget http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre2.tar.gz
		tar zxvf iftop-1.0pre2.tar.gz
		cd iftop-1.0pre2
		./configure
		make && make install
	2).查看带宽
		iftop -B -n  -N -p

3、安装jdk (1.6.0   1.7.0   1.8.0)这三个版本的jdk包 默认为1.8.0版本
	1).下载安装包到某个路径
		mkdir /opt/jdk/
		 jdk-8u65-linux-x64.gz
		 jdk-7u80-linux-x64.gz

	2).解压
		tar xf jdk-7u80-linux-x64.gz
		tar xf jdk-8u65-linux-x64.gz

	3).修改环境变量
		vim /etc/profile
		##################################################################################################
			export JAVA_HOME=/opt/jdk/jdk1.8.0_65
			export JRE_HOME=/opt/jdk/jdk1.8.0_65/jre
			export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
			export PATH=$PATH:$JAVA_HOME/bin/
		###################################################################################################
		source /etc/profile
	4).查看java版本
		java -version
		----------------------------------------------------------------------
		 java version "1.8.0_65"
		 Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
		 Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)

		------------------------------------------------------------------------
	5).安装jdk1.6.0版本
		cd /opt/jdk/
		chmod 755 jdk-6u45-linux-x64.bin
		./jdk-6u45-linux-x64.bin (注意,这个步骤一定要在jdk-6u45-linux-x64.bin所在目录下)
		会生成一个jdk1.6.0_45目录
	6).查看1.6.0或1.7.0的版本
		./jdk1.6.0_45/bin/java -version
		-----------------------------------------------------------------------------
		java version "1.6.0_45"
		Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
		Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

		------------------------------------------------------------------------------
		或
		./jdk1.7.0_80/bin/java -version
		-------------------------------------------------------------------------------
		java version "1.7.0_80"
		Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
		Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

		--------------------------------------------------------------------------------


4、安装Python
	1).安装 sqlite-devel(因为 Flask 应用程序可能使用能 Sqlite 数据库,所以这个得装上(之前因为没装这个,导致 Python 无法导入 sqlite3 库))
		yum install sqlite-devel -y
	2).安装Python2.7
		wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
		tar xf Python-2.7.8.tgz
		cd Python-2.7.8
		./configure --prefix=/usr/local
		make && make install
	安装成功之后,你可以在 /usr/local/bin/python2.7 找到 Python 2.7。

5、安装aide
	1. 安装mhash
		yum -y install mhash-devel.x86_64 mhash.x86_64
	2.安装aide
		yum -y install aide.x86_64
	3. 配置(默认即可)
		vim /etc/aide.conf
		--可以不改,按默认就可以了
	4.生成初始化数据库
		# aide --init
		# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
	5. 开始检测
		# aide --check

6、Lynis安全检查工具
	1).介绍
		https://cisofy.com/
		Lynis是一个为系统管理员提供的 Linux和Unix的审计工具 。 Lynis扫描系统的配置,并创建概述系统信息与安全问题所使用的专业审计。
		当用户启动该软件后,Lynis会会逐次扫描系统的内核、用户目录、软件信息等,并最后生成一个全面的报告。
		需要说明的是,该工具只能生成一个扫描检测后的报告,对用户起到提醒作用,本身并不能提高系统的安全性。
		但是该工具却可以成为其他安全软件、系统测评软件的模块。

	2).安装
		yum -y install lynis
		或
		wget https://cisofy.com/files/lynis-2.1.1.tar.gz

	3).全面检查
		lynis --check-all -Q

	4).自动检查
		lynis -c --auditor "automated" --cronjob > /var/log/lynis/report.txt

	5).检查某项目
		lynis --tests FILE-6354 --quick

	6).查看警告
		grep Warning /var/log/lynis.log

	7).查看建议
		grep Suggestion /var/log/lynis.log

八、建立主机间的信任

1、生成密钥(默认的是rsa)
	ssh-keygen -t rsa
2、将生成的密钥(公钥)拷贝给另一台主机
	ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 35791 root@192.168.1.4"
	指定端口时记得使用双引号,以免报错
3、测试
	ssh -p 35791 root@192.168.1.4
	这样直接连接到192.168.1.4这一台主机上,不用输入密码就是添加信任成功

九、修改主机名

1.临时修改主机名
	查看当前主机名:
	spark@localhost:~$ hostname
	localhost

	修改主机名并查看当前主机名:
	spark@localhost:~$ sudo hostname hadoop
	spark@localhost:~$ hostname
	hadoop
PS:以上的修改只是临时修改,重启后就恢复原样了。

2.永久修改主机名
	步骤1:

	修改/etc/sysconfig/network中的hostname

	vi /etc/sysconfig/network
	HOSTNAME=localhost.localdomain  #修改localhost.localdomain为orcl1
	修改network的HOSTNAME项。点前面是主机名,点后面是域名。没有点就是主机名。

	这个是永久修改,重启后生效。目前不知道怎么立即生效。

	想立即生效,可以同时采用第一种方法。

	步骤2:
	修改/etc/hosts文件

	vi /etc/hosts
	127.0.0.1    localhost.localdomain  #修改localhost.localdomain为orcl1
	shutdown -r now    #最后,重启服务器即可。

十、配置防火墙

1、进入配置文件
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	vim /etc/sysconfig/iptables
		########################################################
		*filter
		################ NULL Accept Hosts ######################
		###允许保垒机
		-A INPUT -s 221.41.47.213/32 -p tcp   --dport 35791 -j ACCEPT
		-A INPUT -s 10.168.189.37/32 -p tcp   --dport 35791 -j ACCEPT
		###允许本机
		-A INPUT -s 221.43.178.5/32 -p tcp    --dport 35791 -j ACCEPT
		-A INPUT -s 10.0.0.10/32 -p tcp       --dport 35791 -j ACCEPT
		###允许内网
		-A INPUT -s 10.0.0.0/8 -p tcp         --dport 35791 -j ACCEPT
		###允许腾讯众创空间
		-A INPUT -s 221.69.10.134/32 -p tcp   --dport 35791 -j ACCEPT


		#### MMSS 249
		-A INPUT -s 100.41.85.249/32 -p tcp  -j ACCEPT
		-A INPUT -d 100.41.85.249/32 -p tcp  -j ACCEPT


		###限制连接数
		-A INPUT -p tcp --dport 8080 -m connlimit --connlimit-above 3000 -j DROP
		-A INPUT -p tcp --dport 8888 -m connlimit --connlimit-above 3000 -j DROP
		-A INPUT -p tcp --dport 28080 -m connlimit --connlimit-above 3000 -j DROP


		###允许除35791之外所有端口
		-A INPUT -p tcp --dport 35791 -j DROP
		-A INPUT -p tcp ! --dport 35791 -j ACCEPT


		################ Black List  ############################
		#-A INPUT -s 106.187.53.56/32 -p tcp --dport 35791 -j DROP


		########### DNS Resolved ##############################
		-A INPUT -p udp -m udp --sport 53 -j ACCEPT
		-A INPUT -p udp -m udp --dport 53 -j ACCEPT


		################# ALLOW Local  ########################
		-A INPUT -i lo -j ACCEPT


		################# Forbidden Ping #######################
		-A INPUT -i eth0 -p icmp -s 0/0 -d 0/0 -j DROP


		################# NFS Backup Server ####################
		-A INPUT -s 10.168.189.37/32 -p all -j ACCEPT
		-A INPUT -s 121.41.47.213/32 -p all -j ACCEPT


		################# Forbidden ALL ########################
		-P INPUT DROP

		################# OUTPUT Settings ####################
		-P OUTPUT ACCEPT
		COMMIT
		##################################################### +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

十一、阿里云服务器安装安骑士

1、安装64位的执行命令
	wget 'http://update.aegis.aliyun.com/download/AliAqsInstall_64.sh' && sh AliAqsInstall_64.sh i24iJ7

2、安装32位的执行命令
	wget 'http://update.aegis.aliyun.com/download/AliAqsInstall_32.sh' && sh AliAqsInstall_32.sh i24iJ7
  • 以上操作经过验证可以直接拿去。
  • auther breakEval13
  • https://github.com/breakEval13

Affiliate

Search

    Post Directory