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
相关推荐
2401_858936887 分钟前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang19 分钟前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
简单中的复杂1 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
迎仔1 小时前
10-网络安全监控与事件响应:数字世界的智能监控与应急系统
网络·安全·web安全
wVelpro2 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华2 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
爱吃生蚝的于勒3 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森3 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix