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 [email protected]"
指定端口时记得使用双引号,以免报错
3、测试
ssh -p 35791 [email protected]
这样直接连接到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