导航:首页 > 网络安全 > Linux网络安全实践

Linux网络安全实践

发布时间:2023-11-04 12:24:28

‘壹’ 网络安全干货知识分享 - Kali Linux渗透测试 106 离线密码破解

前言

最近整理了一些 奇安信&华为大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~

1. 密码破解简介

1. 思路

目标系统实施了强安全措施

安装了所有补丁

无任何已知漏洞

无应用层漏洞

攻击面最小化

社会 工程学

获取目标系统用户身份

非授权用户不受信,认证用户可以访问守信资源

已知用户账号权限首先,需要提权

不会触发系统报警

2. 身份认证方法

证明你是你声称你是的那个人

你知道什么(账号密码、pin、passphrase)

你有什么(令牌、token、key、证书、密宝、手机)

你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别)

以上方法结合使用

基于互联网的身份验证仍以账号密码为主要形式

3. 密码破解方法

人工猜解

垃圾桶工具

被动信息收集

基于字典暴力破解(主流)

键盘空间字符爆破

字典

保存有用户名和密码的文本文件

/usr/share/wordlist

/usr/share/wfuzz/wordlist

/usr/share/seclists

4. 字典

1. 简介

键盘空间字符爆破

全键盘空间字符

部分键盘空间字符(基于规则)

数字、小写字母、大写字符、符号、空格、瑞典字符、高位 ASCII 码

2. crunch 创建密码字典

无重复字符

crunch 1 1 -p 1234567890 | more

1

必须是最后一个参数

最大、最小字符长度失效,但必须存在

与 -s 参数不兼容(-s 指定起始字符串)

crunch 4 4 0123456789 -s 9990

读取文件中每行内容作为基本字符生成字典

crunch 1 1 -q read.txt

1

字典组成规则

crunch 6 6 -t @,%%^^ | more

-t:按位进行生成密码字典

@:小写字母 lalpha

,:大写字母 ualpha

%:数字 numeric

^:符号 symbols

输出文件压缩

root@kali:~# crunch 4 5 -p dog cat bird

1

-z:指定压缩格式

其他压缩格式:gzip、bzip2、lzma

7z压缩比率最大

指定字符集

root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab

1

随机组合

root@kali:~# crunch 4 5 -p dog cat bird

1

crunch 5 5 abc DEF + !@# -t ,@^%,

在小写字符中使用abc范围,大写字符使用 DEF 范围,数字使用占位符,符号使用!@#

占位符

转义符(空格、符号)

占位符

root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird

1

任何不同于 -p 参数指定的值都是占位符

指定特例

root@kali:~# crunch 5 5 -d 2@ -t @@@%%

1

2@:不超过两个连续相同字符

组合应用

crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -

crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -

3. CUPP 按个人信息生成其专属的密码字典

CUPP:Common User Password Profiler

git clone https://github.com/Mebus/cupp.git

python cupp.py -i

4. cewl 通过收集网站信息生成字典

cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt

-m:最小单词长度

-d:爬网深度

-e:收集包含email地址信息

-c:每个单词出现次数

支持基本、摘要 身份认证

支持代理

5. 用户密码变型

基于 cewl 的结果进行密码变型

末尾增加数字串

字母大小写变化

字母与符号互相转换

字母与数字互相转换

P@$w0rd

6. 使用 John the Ripper 配置文件实现密码动态变型

2. 在线密码破解

1. hydra

简介

密码破解

Windows 密码破解

Linux 密码破解

其他服务密码破解

图形化界面

xhydra

HTTP表单身份认证

密码破解效率

密码复杂度(字典命中率)

带宽、协议、服务器性能、客户端性能

锁定阈值

单位时间最大登陆请求次数

Hydra 的缺点

稳定性差,程序时常崩溃

速度控制不好,容易触发服务屏蔽或锁死机制

每主机新建进程,每服务新建实例

大量目标破解时性能差

2. pw-inspector

Hydra 小工具 pw-inspector

按长度和字符集筛选字典

pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u

pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5

3. mesa

Mesa 的特点

稳定性好

速度控制得当

基于线程

支持模块少于hydra(不支持RDP)

WEB-Form 支持存在缺陷

查看支持的模块

参数

-n:非默认端口

-s:使用SSL连接

-T:并发主机数

mesa -M ftp -q

3. 离线密码破解

1. 简介

身份认证

禁止明文传输密码

每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难)

服务器端用户数据库应加盐加密保存

破解思路

嗅探获取密码HASH

利用漏洞登陆服务器并从用户数据库获取密码HASH

识别HASH类型

长度、字符集

利用离线破解工具碰撞密码HASH

优势

离线不会触发密码锁定机制

不会产生大量登陆失败日志引起管理员注意

2. HASH 识别工具

1. hash-identifier

进行 hash 计算

结果:

进行 hash 识别

2. hashid

可能识别错误或无法识别

3. HASH 密码获取

1. sammp2

Windows HASH 获取工具

利用漏洞:Pwmp、fgmp、 mimikatz、wce

物理接触:sammp2

将待攻击主机关机

使用 Kali ISO 在线启动此主机

发现此 windows 机器安装有两块硬盘

mount /dev/sda1 /mnt

将硬盘挂载

cd /mnt/Windows/System32/config

切换目录

sammp2 SYSTEM SAM -o sam.hash

导出密码

利用 nc 传输 HASH

HASH 值:

2. syskey 工具进行密码加密

使用 syskey 进行加密(会对 SAM 数据库进行加密)

重启需要输入密码才能进一步登录

使用 kali iso live

获取到 hash 值

hashcat 很难破解

使用 bkhive 破解

使用 Bootkey 利用RC4算法加密 SAM 数据库

Bootkey 保存于 SYSTEM 文件中

bkhive

从 SYSTEM 文件中提取 bootkey

Kali 2.0 抛弃了 bkhive

编译安装 :http://http.us.debian.org/debian/pool/main/b/bkhive/

在windows的 kali live 模式下,运行

sammp2 SAM key (版本已更新,不再支持此功能)

建议使用 Kali 1.x

1. Hashcat

简介

开源多线程密码破解工具

支持80多种加密算法破解

基于CPU的计算能力破解

六种模式 (-a 0)

0 Straight:字典破解

1 Combination:将字典中密码进行组合(1 2 > 11 22 12 21)

2 Toggle case:尝试字典中所有密码的大小写字母组合

3 Brute force:指定字符集(或全部字符集)所有组合

4 Permutation:字典中密码的全部字符置换组合(12 21)

5 Table-lookup:程序为字典中所有密码自动生成掩码

命令

hashcat -b

hashcat -m 100 hash.txt pass.lst

hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d

结果:hashcat.pot

hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l

掩码动态生成字典

使用

生成文件

计算 hash 类型

结果 MD5

查看 MD5 代表的值

进行破解

2. oclhashcat

简介

号称世界上最快、唯一的基于GPGPU的密码破解软件

免费开源、支持多平台、支持分布式、150+hash算法

硬件支持

虚拟机中无法使用

支持 CUDA 技术的Nvidia显卡

支持 OpenCL 技术的AMD显卡

安装相应的驱动

限制

最大密码长度 55 字符

使用Unicode的最大密码长度 27 字符

关于版本

oclHashcat-plus、oclHashcat-lite 已经合并为 oclhashcat

命令

3. RainbowCrack

简介

基于时间记忆权衡技术生成彩虹表

提前计算密码的HASH值,通过比对HASH值破解密码

计算HASH的速度很慢,修改版支持CUDA GPU

https://www.freerainbowtables.com/en/download/

彩虹表

密码明文、HASH值、HASH算法、字符集、明文长度范围

KALI 中包含的 RainbowCrack 工具

rtgen:预计算,生成彩虹表,时的阶段

rtsort:对 rtgen 生成的彩虹表行排序

rcrack:查找彩虹表破解密码

以上命令必须顺序使用

rtgen

LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160

rtgen md5 loweralpha 1 5 0 10000 10000 0

计算彩虹表时间可能很长

下载彩虹表

http://www.freerainbowtables.com/en/tables/

http://rainbowtables.shmoo.com/

彩虹表排序

/usr/share/rainbowcrack

rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt

密码破解

r crack *.rt -h

rcrack *.rt -l hash.txt

4. John

简介

基于 CPU

支持众多服务应用的加密破解

支持某些对称加密算法破解

模式

Wordlist:基于规则的字典破解

Single crack:默认被首先执行,使用Login/GECOS信息尝试破解

Incremental:所有或指定字符集的暴力破解

External:需要在主配配文件中用C语言子集编程

默认破解模式

Single、wordlist、incremental

主配置文件中指定默认wordlist

破解Linux系统账号密码


破解windows密码

Johnny 图形化界面的john

5. ophcrack

简介

基于彩虹表的LM、NTLM密码破解软件

彩虹表:http://ophcrack.sourceforge.net/tables.php

‘贰’ linux网络安全是什么

Linux网络安全的大概学习内容要掌握这么多吧:网络服务:
.网络概述、 TCP/IP 基础 .Linux 下基本网络配置与管理 .Dhcp 服务器的原理、配置与管理 .DNS 服务器的原理、配置与管理 .Linux 与 Windows 互联技术 samba 服务器的配置与管理 .Unix/Linux 经典文件服务 nfs 服务器的配置与管理 .Vsftp 服务器的原理、配置与管理 .Xinetd 超级守护进程服务原理、配置与管理 .WWW 服务器原理、配置与管理

安全管理:
.本机安全 .文件系统的安全 .网络服务器的安全策(dns,dhcp,apache,vsftp,nfs 等) .Linux 网络防火墙的搭建 iptables .配置安全的透明代理服务器iptables+squid .安装配置 OpenSSH 服务器 .Linux 网络环境下的 VPN 构建 .Linux 下的网络扫描和嗅探 nmap sniffer .Linux 下的网络流量监控 cati .Linux 系统日志服务管理 syslog

会了以上的那些,估计网络安全方面就没问题了。

‘叁’ 如何学习网络安全知识

首先,必须(时刻)意识到你是在学习一门可以说是最难的课程,是网络专业领域的顶尖课程,不是什么人、随随便便就能学好的。不然,大家都是黑客,也就没有黑客和网络安全的概念了。
很多朋友抱着学一门课程、读好一本书就可以掌握网络安全的知识和技能。不幸的是,网络安全技术决不是几本书、几个月就可以速成的。你需要参考大量的参考书。
另一方面,在学校接受的传统教育观念使我们习惯由老师来指定教材、参考书。遗憾的是走向了社会,走到工作岗位,没有人给你指定解决这个安全问题需要什么参考书,你得自己研究,自己解决问题。
网络安全涉及的知识面广、术语多、理论知识多。正给学习这门课程带来很多困难。也需要我们投入比其它课程多的时间和精力来学习它。
概括来说,网络安全课程的主要内容包括:
l 安全基本知识
l 应用加密学
l 协议层安全
l Windows安全(攻击与防御)
l Unix/Linux安全(攻击与防御)
l 防火墙技术
l 入侵监测系统
l 审计和日志分析
下面分别对每部分知识介绍相应的具体内容和一些参考书(正像前面提到的那样,有时间、有条件的话,这些书都应该看至少一遍)。
一、安全基本知识
这部分的学习过程相对容易些,可以花相对较少的时间来完成。这部分的内容包括:安全的概念和定义、常见的安全标准等。
大部分关于网络安全基础的书籍都会有这部分内容的介绍。
下面推荐一些和这部分有关的参考书:
l 《CIW:安全专家全息教程》 魏巍 等译,电子工业出版社
l 《计算机系统安全》 曹天杰,高等教育出版社
l 《计算机网络安全导论》 龚俭,东南大学出版社
二、应用加密学
加密学是现代计算机(网络)安全的基础,没有加密技术,任何网络安全都是一纸空谈。
加密技术的应用决不简单地停留在对数据的加密、解密上。密码学除了可以实现数据保密性外、它还可以完成数据完整性校验、用户身份认证、数字签名等功能。
以加密学为基础的PKI(公钥基础设施)是信息安全基础设施的一个重要组成部分,是一种普遍适用的网络安全基础设施。授权管理基础设施、可信时间戳服务系统、安全保密管理系统、统一的安全电子政务平台等的构筑都离不开它的支持。
可以说,加密学的应用贯穿了整个网络安全的学习过程中。因为之前大多数人没有接触过在这方面的内容,这是个弱项、软肋,所以需要花费比其它部分更多的时间和精力来学习。也需要参考更多的参考书。
下面推荐一些和这部分有关的参考书:
l 《密码学》 宋震,万水出版社
l 《密码工程实践指南》 冯登国 等译,清华大学出版社
l 《秘密学导引》 吴世忠 等译,机械工业(这本书内容较深,不必完全阅读,可作为参考)
三、协议层安全
系统学习TCP/IP方面的知识有很多原因。要适当地实施防火墙过滤,安全管理员必须对于TCP/IP的IP层和TCP/UDP层有很深的理解、黑客经常使用TCP/IP堆栈中一部分区或来破坏网络安全等。所以你也必须清楚地了解这些内容。
协议层安全主要涉及和TCP/IP分层模型有关的内容,包括常见协议的工作原理和特点、缺陷、保护或替代措施等等。
下面推荐一些和这部分有关的参考书(经典书籍、不可不看):
l 《TCP/IP详解 卷1:协议》 范建华 等译,机械工业出版社
l 《用TCP/IP进行网际互联 第一卷原理、协议与结构》 林瑶 等译,电子工业出版社
四、Windows安全(攻击与防御)
因为微软的Windows NT操作系统已被广泛应用,所以它们更容易成为被攻击的目标。
对于Windows安全的学习,其实就是对Windows系统攻击与防御技术的学习。而Windows系统安全的学习内容将包括:用户和组、文件系统、策略、系统默认值、审计以及操作系统本身的漏洞的研究。
这部分的参考书较多,实际上任何一本和Windows攻防有关系的书均可。下面推荐一些和这部分有关的参考书:
l 《黑客攻防实战入门》 邓吉,电子工业出版社
l 《黑客大曝光》 杨继张 等译,清华大学出版社
l 《狙击黑客》 宋震 等译,电子工业出版社
五、Unix/Linux安全(攻击与防御)
随着Linux的市占率越来越高,Linux系统、服务器也被部署得越来越广泛。Unix/Linux系统的安全问题也越来越凸现出来。作为一个网络安全工作者,Linux安全绝对占有网络安全一半的重要性。但是相对Windows系统,普通用户接触到Linux系统的机会不多。Unix/Linux系统本身的学习也是他们必须饿补的一课!
下面是推荐的一套Linux系统管理的参考书。
l 《Red Hat Linux 9桌面应用》 梁如军,机械工业出版社(和网络安全关系不大,可作为参考)
l 《Red Hat Linux 9系统管理》 金洁珩,机械工业出版社
l 《Red Hat Linux 9网络服务》 梁如军,机械工业出版社
除了Unix/Linux系统管理相关的参考书外,这里还给出两本和安全相关的书籍。
l 《Red Hat Linux安全与优化》 邓少鹍,万水出版社
l 《Unix 黑客大曝光》 王一川 译,清华大学出版社
六、防火墙技术
防火墙技术是网络安全中的重要元素,是外网与内网进行通信时的一道屏障,一个哨岗。除了应该深刻理解防火墙技术的种类、工作原理之外,作为一个网络安全的管理人员还应该熟悉各种常见的防火墙的配置、维护。
至少应该了解以下防火墙的简单配置。
l 常见的各种个人防火墙软件的使用
l 基于ACL的包过滤防火墙配置(如基于Windows的IPSec配置、基于Cisco路由器的ACL配置等)
l 基于Linux操作系统的防火墙配置(Ipchains/Iptables)
l ISA配置
l Cisco PIX配置
l Check Point防火墙配置
l 基于Windows、Unix、Cisco路由器的VPN配置
下面推荐一些和这部分有关的参考书:
l 《
网络安全与防火墙技术
》 楚狂,人民邮电出版社
l 《Linux防火墙》
余青霓
译,人民邮电出版社
l 《高级防火墙ISA Server 2000》 李静安,中国铁道出版社
l 《Cisco访问表配置指南》 前导工作室 译,机械工业出版社
l 《Check Point NG安全管理》
王东霞
译,机械工业出版社
l 《虚拟专用网(VPN)精解》 王达,清华大学出版社
七、入侵监测系统(IDS)
防火墙不能对所有应用层的数据包进行分析,会成为网络数据通讯的瓶颈。既便是代理型防火墙也不能检查所有应用层的数据包。
入侵检测是防火墙的合理补充,它通过收集、分析计算机系统、计算机网络介质上的各种有用信息帮助系统管理员发现攻击并进行响应。可以说入侵检测是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。

‘肆’ 怎样规划linux网络安全学习路线

防火墙的原理
防火墙的作用

主要作用:过滤两个网络之间的数据包

INERNET------fire wall------server------LAN

Linux内核的Netfilter

Linux内核空间和应用程序空间是不一样的

内核空间是受保护的,任何进出服务器的数据包都要经过内核处理

所有发送给本地的数据包都要经过INPUT

任何从本机产生的数据包发送给其它人都要经过OUTPUT

一个数据从本机路由转发,目标不是自己,是发给别人的将从FORWARD经过

INPUT/OUTPUT保护的是本机FORWARD保护的是局域网用户

包过滤原理

一个数据包要经过本地的路由,要判断怎么走,ROUTING是非常重要的,它决定了要怎么走

如果一个包和我本地网卡地址一样,本地可以收到,进入INPUT,否则FORWARD

如果一个包是本地产生的,发出去的经过OUTPUT

包过滤就是在这三个地方设置条件,设置障碍,阻止或通过数据包,及设置包的处理方式

包的处理方式

iptable -A INPUT -p icmp -j DROP

包的处理方式常见的有目标(Target) 丢弃(DROP) 接受(ACCEPT) (弹回)REJECT 日志(LOG)等

iptables命令
iptables -A INPUT -p icmp -j DROP 增加一个过滤规则

ping 192.168.0.101

iptables -L -n查看过滤规则

iptables -F清空过滤规则

iptables --help | more

iptables -L -n –line-number

增加一条规则把拒绝所有访问21端口的数据包

iptables -A INPUT -p tcp -d 192.168.0.101 --dport 21 -j DROP

iptables -F修改的时候要把防火墙的门全部关起来 然后一个一个端口打开

iptables -L -n –line-numbers

假设我们一个服务器只开启一个http

那么我们要开启http/ssh(远程管理)

所有的http 端口grep http /etc/services

打开ssh grep ssh /etc/services

iptables -A INPUT -p tcp -d 192.168.0.101 --dport 22 -j ACCEPT 接收进来,目标IP是本地IP,目标端口是22

iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 22 -j ACCEPT 发送出去,源IP是本地IP,源端口是22

iptables -L -n

iptables -P INPUT DROP改变防火墙的默认策略为DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

iptables -A INPUT -p tcp -d 192.168.0.101 --dport 80 -j ACCEPT

iptables -A OUTPUT -p tcp -s 192.168.0.101 --sport 80 -j ACCEPT

iptables -L -n

iptables -L -n --line-numbers

netstat -tnl 就算本地开启了很多服务,但只有22和80端口可以被访问到

service iptables save保存当前的设置或用iptables-save > /etc/sysconfig/iptables

对于作何一个服务器来说都少不了DNS解析请求,自己作为客户机

grep domain /etc/services 搜索域名服务的端口号

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT DNS解析回应,目标端口是53

iptables -A INPUT -p udp --sport 53 -j ACCEPT 请求DNS解析,源端口是53

检查客户机DNS服务器配置

more /etc/resolv.conf

host www.redhat.org.cn

如果这台服务器本身也是DNS服务器

iptables -A INPUT -p udp --dport 53 -j ACCEPT 接收来自别的机器的DNS解析请求

iptables -A OUTPUT -p udp --sport 53 -j ACCEPT这台DNS服务器发送DNS解析回应

iptables -D INPUT 5删除在INPUT上的第5条规则

如果这台服务器也要连上其它服务器的SSH

到目前为止,在本机访问本机的服务给忽略

在本机上,有很多服务都守护在127.0.01上,所以我们要打开本地的回环设备

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

^IN^OUT命令替换功能

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

service iptables save

现在我们注意一下22端口

Chain INPUT (policy DROP)

1 ACCEPT tcp -- 0.0.0.0/0 192.168.0.101 tcp dpt:22

Chain OUTPUT (policy DROP)

1 ACCEPT tcp -- 192.168.0.101 0.0.0.0/0 tcp spt:22

所有进来的包都要通过22端口

所有出去的包都要通过22端口,但是如果由于系统漏洞或是病毒,从22端口主动送出包出去,而不是通过请求进来的包回应的,这时就会出现比较大的问题

所以我们要增加一条规则看这个包是不是别人请求我,我回应别人的

iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

iptables -D OUTPUT 1删除第一条规则

iptables -n -L --line-numbers

Chain OUTPUT (policy DROP)

6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 state ESTABLISHED

针对80端口也是一样

iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

service iptables save

作为客户机访问别人的SSH也是有问题的

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT从客户机发送出去的包,肯定被无条件接受

iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT接受别人的服务

器SSH回应如果有病毒,是主动发给本客机的,就出现问题了,这时加上必须是我请求过SSH服务数据包回应的

LOG目标

iptables -A INPUT -p tcp –dport 22 -j LOG –log-level 5 –log-prefix “IPTABLES”

编辑/etc/syslog.conf

注意:日志级别5要跟syslog.conf中的级别一致。级别可以通过syslog的manual帮助获得。

iptables -A INPUT -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptable:"

vi /etc/rsyslog.conf

kern.=notice /var/log/firewall.log

这里为什么是notice?

man syslog查看消息的级别

#define KERN_EMERG "<0>" /* system is unusable */

#define KERN_ALERT "<1>" /* action must be taken immediately */

#define KERN_CRIT "<2>" /* critical conditions */

#define KERN_ERR "<3>" /* error conditions */

#define KERN_WARNING "<4>" /* warning conditions */

#define KERN_NOTICE "<5>" /* normal but significant condition */

#define KERN_INFO "<6>" /* informational */

#define KERN_DEBUG "<7>" /* debug-level messages */

在防火墙中我们定的级别是5,所以对应的内核是notice

iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

iptables -n -L –line-number

iptables -D INPUT 8

iptables -I INPUT 6 -p tcp --dport 22 -j LOG --log-level 5 --log-prefix "iptable:"

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -D INPUT 1 把前拥同样规则的移到日志后面

service iptables save

tail /var/log/firewall.log -f

NAT地址转换
http://www.netfilter.org/

iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT允许本地互联网访问

iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

光这样还不行,还要打开内核里的转发文件

more /proc/sys/net/ipv4/ip_forward

echo 1 > /proc/sys/net/ipv4/ip_forward

这时只能临时生效,若服务器重启,这个值又变成0

vi /etc/sysctl.conf

# Controls IP packet forwarding

net.ipv4.ip_forward = 1

service iptables save

此时我们还是不能用,因为局域网通过本机转发到互联网上,网络上的地址并不知道本地局域网的IP

所以我们要通过NAT

iptables -t nat -L -n

Netfilter的NAT表

内核空间---->PREROUTING---->ROUTING---->FORWARD---->POSTROUTING

SNAT发生在POSTROUTING

PREROUTING---->FORWARD---->POSTROUTING

destination: 11.22.33.1:22 destination: 11.22.33.1:22

source: 10.0.0.1:<port> source: 11.22.33.44:<port>

proto: tcp proto: tcp

本机地址:

eth0: 10.0.0.254

eth1: 11.22.33.44

SNAT应用

10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT –to-source 192.168.0.254

IP:10.0.0.241 getway: 10.0.0.254 subnet mask:255.255.255.0

ping 192.168.0.1若能ping通,说明访问成功

在实际的运用中

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE支持动态的翻译

回来时自动找到源IP

iptables -t nat -F

DNAT发生在PREROUTING

PREROUTING---->FORWARD---->POSTROUTING

destination: 11.22.33.44:22 destination: 10.0.0.1:22

source: 11.22.33.1:<port> source: 11.22.33.1:<port>

proto: tcp proto: tcp

本机地址:

eth0: 10.0.0.254

eth1: 11.22.33.44

DNAT应用

10.0.0.241 eth0:10.0.0.254 /eth1:192.168.0.254 192.168.0.1

iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

192.168.0.1这是一台实际的服务器,不让访问者10.0.0.241看到,访问者看到只是一个防火墙

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/beauty9235/archive/2008/12/01/3423069.aspx

阅读全文

与Linux网络安全实践相关的资料

热点内容
手机如何解决校园网wifi网络限速 浏览:532
中山市哪个4g网络好 浏览:304
移动网络500 浏览:565
通话网络连接不佳 浏览:39
tob业务对网络有哪些诉求 浏览:971
路由器能不能影响网络情况 浏览:40
电脑wifi显示无网络 浏览:932
红包提示网络连接不了 浏览:654
网讯网络推广是什么 浏览:213
网络能连接无法连接到internet 浏览:626
网络硬盘哪个空间好 浏览:162
朱雀网络公司有哪些游戏 浏览:90
路由器wifi达不到网络 浏览:393
小辣椒怎么设置网络 浏览:635
pos机如何添加网络 浏览:498
wifi热点设置中的网络名称 浏览:834
移动网络线交换机 浏览:655
千兆网络用300兆路由器 浏览:858
网络盒子小米三增强版多少钱 浏览:121
手机网络增强器wifi 浏览:900

友情链接