Linux中防火墙实战之Web服务器和ssh远程服务配置指南

🏡作者主页:************点击!****************

🐧Linux基础知识(初学):点击!****

🐧Linux高级管理防护和群集专栏:************点击!****************

🔐Linux中firewalld防火墙:点击!****

⏰️创作时间:2024年8月1日8点15分


在当今数字化时代,网络安全显得尤为重要。Linux作为一种开源操作系统,广泛应用于服务器管理和网络配置中。本篇文章将详细介绍如何配置Linux防火墙和Web服务器,确保内网与外网的安全访问。同时,我们将探讨如何通过SSH远程管理服务器,提升网络管理的灵活性和安全性。

实验环境

四台服务器

一台作为防火墙 (ens33,ens36,ens37)

一台模拟外网 (ens37)

一台web服务器 (ens36)

一台作为内网PC 访问测试(NAT模式)

实验要求

内网PC能过访问Web服务器 ICMP中不能ping Web服务器

内网PC通过SSH的1234端口来远程Web服务器

外网通过SSH的1234端口来远程防火墙

网络环境配置

防火墙网卡配置

cd /etc/sysconfig/network-scripts/
cp -p ifcfg-ens33 ifcfg-ens36
cp -p ifcfg-ens33 ifcfg-ens37

ens36网卡

ens37网卡

ens33是nat模式 这个不用介绍 你设置DHCP 或者静态都可以

查看一下ip 把内网网关指向他就行

web服务器网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33

外网网卡配置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

内网PC测试网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码

防火墙

开启路由转发

vim /etc/sysctl.conf
sysctl -p  刷新
net.ipv4.ip_forward = 1

测连通性

配置完成之后检测连通性

可以发现防火墙都是可以访问通的

web服务器配置

配置完成网络环境之后

开启防火墙

在web上下载httpd

yum install -y httpd 
echo testsmqnz > /var/www/html/index.html
curl 127.0.0.1
testsmqnz

配置dmz区域

firewall-cmd --zone=dmz --change-interface=ens33
firewall-cmd --zone=dmz --add-port=80/tcp --permanent
firewall-cmd --zone=dmz --add-port=443/tcp  --permanent
​
重载防火墙
firewall-cmd --reload

配置完成之后内网和防火墙都可以访问了

内网PC访问测试

配置完成之后内网和防火墙都可以访问了

防火墙配置

firewall-config
双击ens33
点击永久
trusted
ens36
dmz
ens37
external

点击trusted勾上httpd https

重新载入

PC内网访问Web服务器

内网是可以ping Web服务器的 现在我们需要设置不可以pingWeb

在Web服务器上配置

firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent
firewall-cmd --reload

内网PC测试

测试SSH

修改ssh的端口号为12345 内网远程web服务器

首先在web上关闭ssh

​
firewall-cmd --zone=dmz --remove-service=ssh --permanent
firewall-cmd --reload
查看规则
firewall-cmd --list-all -zone=dmz

​

修改SSH的端口号

首先关闭Selinux

vim /etc/ssh/sshd_conf
Port 12345
复制代码
重启服务
systemctl restart sshd
查看服务端口号
netstat -nultp | grep sshd

添加端口

ssh从12345端口访问

firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
firewall-cmd --reload

内网PC测试

ssh root@172.16.0.2 -p 12345

外网远程防火墙

如何让外网访问防火墙的SSH12345端口呢?

如何让外网SSH防火墙呢?

防火墙配置

vim /etc/ssh/sshd_confg
找到port 改为 Port 12345
systemctl restart sshd
复制代码
​
检测端口是否成功
[root@localhost ~]# systemctl restart sshd
[root@localhost ~]# netstat -nultp | grep sshd
tcp        0      0 0.0.0.0:12345           0.0.0.0:*               LISTEN      39693/sshd          
tcp6       0      0 :::12345                :::*                    LISTEN      39693/sshd          

添加访问端口

外网访问测试

ssh root@100.0.0.1 -p 12345

总结

通过本篇文章的学习,我们不仅掌握了Linux防火墙和Web服务器的基本配置,还了解了如何实现安全的网络访问。防火墙的合理设置和SSH的安全管理是保障网络安全的关键。希望读者能够将这些知识应用到实际工作中,为构建安全的网络环境贡献力量。

成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

相关推荐
gywl7 分钟前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
青木沐7 分钟前
Jenkins介绍
运维·jenkins
WTT001142 分钟前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋31 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
了一li1 小时前
Qt中的QProcess与Boost.Interprocess:实现多进程编程
服务器·数据库·qt
日记跟新中1 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
码农君莫笑2 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
明 庭2 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker