Linux服务器怎样设置防火墙
一、怎样在Linux系统中安装Iptables防火墙
几乎所有Linux发行版都预装了Iptables。您可以使用以下命令更新或检索软件包:
sudo apt-get install iptables
二、关闭哪些防火墙端口
防火墙安装的第一步是确定哪些端口在服务器中保持打开状态。这将根据您使用的服务器类型而有所不同。例如,如果您运行的是Web服务器,则可能需要打开以下端口:
网络:80和443
SSH:通常在端口22上运行
电子邮件:110(POP3),143(IMAP),993(IMAP SSL),995(POP3 SSL)。
1、还原默认防火墙规则
为确保设置无误,我们需从一套新的规则开始,运行以下命令来清除防火墙中的规则:
iptables -F
2、屏蔽服务器攻击路由
我们可以运行下列标准命令来隔绝常见的攻击。
屏蔽syn-flood数据包:
iptables -A INPUT -p tcp ! –syn -m state –state NEW -j DROP
屏蔽XMAS数据包:
iptables -A INPUT -p tcp –tcp-flags ALL ALL -j DROP
阻止无效数据包:
iptables -A INPUT -p tcp –tcp-flags ALL NONE -j DROP
3、打开所需端口
根据以上命令可屏蔽常见的攻击方式,我们需要打开所需端口。下列例子,供您参考:
允许SSH访问:
iptables -A INPUT -p tcp -m tcp -dport 22 -j ACCEPT
打开LOCALHOST访问权限:
iptables -A INPUT -i lo -j ACCEPT
允许网络流量:
iptables -A INPUT -p tcp -m tcp -dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -dport 443 -j ACCEPT
允许SMTP流量:
iptables -A INPUT -p tcp -m tcp -dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -dport 465 -j ACCEPT
三、测试防火墙配置
运行下列命令保存配置并重新启动防火墙:
iptables -L -n
iptables-save / sudo tee / etc / sysconfig / iptables
service iptables restart
以上就是简单的iptables防火墙安装与配置过程。
linux防火墙作用一:
一、防火墙的基本模型
基于TCP/IP协议簇的Internet网际互联完全依赖于网络层以上的协议栈(网络层的IP协议、传输控制协议TCP/UDP协议和应用层协议)。考虑到网络防火墙是为了保持网络连通性而设立的安全机制,因此防火墙技术就是通过分析、控制网络以上层协议特征,实现被保护网络所需安全策略的技术。构建防火墙有三类基本模型:即应用代理网关、电路级网关(Circuit Level Gateway)和网络层防火墙。
二、不应该过滤的包
在开始过滤某些不想要的包之前要注意以下内容:
ICMP包
ICMP
包可用于检测TCP/IP失败的情形。如果阻挡这些包将导致不能得“Host unreachable”或“No route to host”等信息。ICMP包还用于MTU发现,某些TCP实现使用了MTU发现来决定是否进行分段。MTU发现通过发送设置了不进行分段的位的包探测,
当得到的ICMP应答表示需要分段时,再发送较小的包。如果得不到ICMP包(“destination unreachable”类型的包),则本地主机不减少MTU大小,这将导致测试无法停止或网络性能下降。 到DNS的TCP连接
如果要拦阻出去的TCP连接,那么要记住DNS不总是使用UDP。如果从DNS服务器过来的回答超过512字节,客户端将使用TCP连接,并仍使用端口53接收数据。若禁止了TCP连接,DNS大多数情况下会正常工作,但可能会有奇怪的延时故障出现。
如果内部网络的DNS查询总是指向某个固定的外部DNS服务器,可以允许本地域端口到该服务器的域端口连接。
主动式FTP的TCP连接
FTP有两种运作方式,即传统的主动式(active)方式和目前流行的被动式(passive)方式。在主动式FTP模式下,FTP 服务器发送文件或应答LS命令时,主动和客户端建立TCP连接。如果这些TCP连接被过滤,则主动方式的FTP将被中断。如果使用被动方式,则过滤远地的TCP连接没有问题。因为数据连接是从客户端到服务器进行的(包括双向的数据)。
三、针对可能的网络攻击
防火墙的性能是否优良关键在于其配置能否防护来自外界的各种网络攻击。这要求网络管理者能针对可能的网络攻击特点设定完善的安全策略。以网络常见的“ping of death”攻击为例,“ping of death”攻击通过发送一个非法的大ICMP包使接收者的TCP堆栈溢出从而引起混乱。针对这种攻击可将防火墙配置为阻挡ICMP分段。因为普通的
ICMP包大都不需要到分段的程度,阻挡ICMP分段只拦阻大的“ping”包。 这种防护策略也可用于针对其他协议安全缺陷的网络攻击。
linux防火墙作用二:
它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况, 以此来实现网络的安全保护。
在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动, 保证了内部网络的安全。
2使用Firewall的益处
保护脆弱的服务
通过过滤不安全的服务,Firewall可以极大地提高网络安全和减少子网中主机的风险。例如, Firewall可以禁止NIS、NFS服务通过,Firewall同时可以拒绝源路由和ICMP重定向封包。
控制对系统的访问
Firewall可以提供对系统的访问控制。如允许从外部访问某些主机,同时禁止访问另外的主机。例如, Firewall允许外部访问特定的Mail Server和Web Server。
集中的安全管理
Firewall对企业内部网实现集中的安全管理,在Firewall定义的安全规则可以运行于整个内部网络系统, 而无须在内部网每台机器上分别设立安全策略。Firewall可以定义不同的认证方法, 而不需要在每台机器上分别安装特定的认证软件。外部用户也只需要经过一次认证即可访问内部网。
增强的保密性
使用Firewall可以阻止攻击者获取攻击网络系统的有用信息,如Figer和DNS。
记录和统计网络利用数据以及非法使用数据
Firewall可以记录和统计通过Firewall的网络通讯,提供关于网络使用的统计数据,并且,Firewall可以提供统计数据, 来判断可能的攻击和探测。
策略执行Firewall提供了制定和执行网络安全策略的手段。未设置Firewall时,网络安全取决于每台主机的用户。
3防火墙的种类
防火墙总体上分为包过滤、应用级网关和代理服务器等几大类型。
数 据 包 过 滤
数据包过滤(Packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑, 被称为访问控制表(Access Control Table)。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、 协议状态等因素,或它们的组合来确定是否允许该数据包通过。 数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用, 网络性能和透明性好,它通常安装在路由器上。路由器是内部网络与Internet连接必不可少的设备, 因此在原有网络上增加这样的防火墙几乎不需要任何额外的费用。
数据包过滤防火墙的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击; 二是数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒。
应 用 级 网 关
应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。 它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、 登记和统计,形成报告。实际中的应用网关通常安装在专用工作站系统上。
数据包过滤和应用网关防火墙有一个共同的特点,就是它们仅仅依靠特定的逻辑判定是否允许数据包通过。 一旦满足逻辑,则防火墙内外的计算机系统建立直接联系, 防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击。
代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP Tunnels), 也有人将它归于应用级网关一类。它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术, 其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的 链接, 由两个终止代理服务器上的 链接来实现,外部计算机的网络链路只能到达代理服务器, 从而起到了隔离防火墙内外计算机系统的作用。
linux防火墙作用三:
windows防火墙是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。
具体作用如下:
1、防止来自网络上的恶意攻击;
2、阻止外来程序连接计算机端口;
3、对电脑进行防护,防止木马入侵或其它黑客软件、程序运行‘
4、阻止本地程序通过计算机端口,向外并发信息;
Linux系统如何查看服务的运行状态?
1 前言
本文主要讲解如何在Linux系统上查看服务的运行状态。
Linux系统提供各种系统服务(如进程管理、登录服务、日志、计划任务等)和网络服务(如远程登录、电子邮件、打印机、web主机、数据存储、文件传输、域名解析(使用DNS)、动态IP地址分配(使用DHCP)等等)。
Linux系统如何查看服务的运行状态
从技术上讲,服务是一个进程或一组进程(通常称为守护进程),在后台连续运行,等待请求(特别是来自客户机的请求)。
Linux支持不同的方式来管理服务,比如启动、停止、重启、开机自启动等,大多数最新的Linux发行版在使用相同的进程管理器-systemd。
systemd是Linux系统和服务管理器init进程的一个替代品,它与SysV和LSB init脚本兼容,systemctl命令是管理systemd的主要工具。
systemd的组件
systemd的组件
在本教程中,我们将演示如何查看Linux系统中systemd可管理的所有服务。
2 如何查看Linux系统中systemd可管理的所有服务
当您不带任何参数运行systemctl命令时,它将打印所有已加载的systemd单元的列表(请阅读systemd文档以获得有关systemd单元的更多信息)。显示各服务单元的状态(无论是活动的还是非活动的)。
systemctl
如何查看Linux系统中systemd可管理的所有服务
列出系统上所有已加载的服务,查看它们活动状态,是否正在运行、是否关闭、是否启动失败。
systemctl list-units --type=service
或者
systemctl --type=service
列出系统上所有已加载的服务,查看它们活动状态
要列出所有已加载但已经设置开机自启动的服务
systemctl list-units --type=service --state=active
systemctl --type=service --state=active
要列出所有已加载但已经设置开机自启动的服务
查看所有正在运行的服务:
systemctl list-units --type=service --state=running
systemctl --type=service --state=running
查看所有正在运行的服务
如果经常使用前面的命令,可以在创建别名命令,编辑bashrc文件
vim ~/bashrc
添加以下内容,创建别名命令running_services。
alias running_services='systemctl list-units --type=service --state=running'
保存文件并退出。使用running_services命令查看服务器上所有已加载、正在运行的服务的列表。
running_services
此外,服务的一个重要方面是它们使用的端口。要确定守护进程监听的端口,可以使用netstat或ss工具,如下所示。
其中-l选项表示打印所有监听的套接字,-t显示所有TCP连接,-u显示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称。
netstat -ltup | grep sshd
或者
ss -ltup | grep sshd
第五列显示套接字:本地地址:端口。在本例中,进程sshd正在端口22上监听。
查看守护进程监听的端口
此外,如果您的服务器防火墙服务运行的状态,使用以下命令查看已经允许或者阻塞的端口或者服务
查看防火墙服务运行的状态
firewall-cmd --list-services
firewall-cmd --list-ports
Ubuntu 用户
sudo ufw status
3 总结
在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号。
你问的是哪个防火墙?
主流的有两个:firewalld和iptables
iptables查看配置:
iptables-save [-t table]
读取顺序:自上往下
firewalld查看配置:
firewall-config图形化界面看,比较形象生动,RHEL系的主流,取代iptables;
字符界面firewall-cmd --state查看状态。
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全。
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。在开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables文件,添加以下内容:-ARH-Firewall-1-INPUT-mstate——stateNEW-mtcp-ptcp——dport80-jACCEPT-ARH-Firewall-1-INPUT-mstate——stateNEW-mtcp-ptcp——dport22-jACCEPT或者:/etc/initd/iptablesstatus会得到一系列信息,说明防火墙开着。
0条评论