CentOS7安全配置

一、修改了ssh默认登录的22端口

1、修改sshd_config配置文件:

复制代码
vi /etc/ssh/sshd_config

找到【Port 22】 ,删除注释符号【#】,将22改为要设置的目的端口,如9999,然后保存文件并退出。

2、防火墙开放当前设置的端口

复制代码
firewall-cmd --zone=public --add-port=9999/tcp --permanent

重启防火墙:

复制代码
firewall-cmd --reload

3、开放ssh使用的端口

查看开放ssh使用的端口:

复制代码
yum  install policycoreutils-python

semanage port -l | grep ssh

开放当前设置的ssh端口:

复制代码
semanage port -a -t ssh_port_t -p tcp 9999

重启ssh:

复制代码
systemctl restart sshd

二、禁止关闭防火墙,开放端口需手动添加防火墙规则;

复制代码
查看已开放端口:firewall-cmd --list-ports
开放端口:firewall-cmd --add-port=8080/tcp --permanent
移除端口:firewall-cmd --remove-port=8080/tcp --permanent
重新加载防火墙规则:firewall-cmd --reload

三、已设置白名单和黑名单规则;

1、设置白名单

复制代码
vi /etc/hosts.allow

添加:

复制代码
sshd:192.168.1.185:allow     #允许192.168.1.185访问
sshd:192.168.1.*:allow      #允许192.168.1该IP段访问

2、设置黑名单

复制代码
vi /etc/hosts.deny

添加:

复制代码
sshd:ALL          #限制除/etc/hosts.allow外的其他一切IP访问本服务器

四、已设置IP锁定的脚本,超过10次失败登录会封掉IP,添加到黑名单。

1、编辑脚本

复制代码
vim /usr/local/bin/secure_ssh.sh

#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
for i in `cat  /usr/local/bin/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
   if [ $NUM -gt 10 ];then
      grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done

2、创建记录登录失败次数的文件

复制代码
touch /usr/local/bin/black.txt

3、添加定时 10分钟执行一次

复制代码
crontab -e
添加以下命令:
*/10 * * * * root  sh /usr/local/bin/secure_ssh.sh
相关推荐
00后程序员张7 分钟前
iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
android·安全·ios·小程序·uni-app·iphone·webview
獭.獭.38 分钟前
Linux -- 信号【上】
linux·运维·服务器
hashiqimiya41 分钟前
centos配置环境变量jdk
linux·运维·centos
hashiqimiya42 分钟前
权限更改centos中系统文件无法创建文件夹,使用命令让普通用户具备操作文件夹
linux
Devil枫3 小时前
鸿蒙深链落地实战:从安全解析到异常兜底的全链路设计
安全·华为·harmonyos
逆小舟5 小时前
【Linux】人事档案——用户及组管理
linux·c++
青草地溪水旁5 小时前
pthread_mutex_lock函数深度解析
linux·多线程·pthread
太空的旅行者6 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师8 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
灿烂阳光g8 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux