热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

构建一个基于软盘的防火墙

文章标题:构建一个基于软盘的防火墙。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  Floppyfw的作者Thomas Lundquist将它形容为“具有防火墙功能的Linux路由器(screening router)”。Floppyfw通过Linux内核启动,并且提供了实现上述防火墙功能的最小工具集。这是它的一个重要特性,因为即使一个入侵者采用某种手段进入了防火墙,他也没有很多可以对造成损害的工具可用。另外,因为防火墙完全运行在RAM中,所以只需要通过软盘重新启动就可以将系统恢复到最初的状态。
  
  同许多其他的Linux工程一样,floppyfw具有自定制特性。但是,在这里向推荐所发现的一系列几乎可以立即执行的过滤规则,这样就可以快速构建自己的防火墙了。
  
  硬件需求
  
  一台比较合适的计算机(或者是足以组装一台的部件),它应该是一台386以上的计算机,基本配置如下:
  
  最少8-MB RAM
  3.5"软盘驱动器
  显卡
  键盘
  显示器
  
  注意,如果想让floppyfw自主运行,可能只是在配置与测试的时候才需要键盘和显示器。
  
  需要安装一对网卡,floppyfw支持下面几种类型的网卡:
  
  3Com 3c509
  NE2000 compatibles
  Tulip-based
  Intel EtherExpress PCI
  
  要保证每块网卡都有各自的中断号(IRQ)和内存地址。中断号(IRQ)和内存地址在有跳线的网卡上设置起来很简单。使用的是一对儿3Com 3c509网卡,当第一次启动计算机时,这两块网卡的配置都是IRQ 10和0x300。是用3Com公司的DOS实用程序3C5X9CFG.EXE解决这个问题的:首先,制作一个DOS启动盘,并将3C5X9CFG.EXE拷贝到该盘上;然后用这个软盘启动计算机并运行3C5X9CFG.EXE(当然,两个网卡都要插在主板上);选择其中一块网卡,为其选择一个新的IRQ和内存地址;对另外一块网卡也重新进行配置,记住,要保存新的设置。是在EtherDisk 4.3上找到3C5X9CFG.EXE的,可以在3Com的官方网站http://www.3com.com/上找到最新版本的EtherDisk。
  
  软件需求
  
  制作floppyfw引导盘很简单,首先需要在这里(http://www.zelow.no/floppyfw/downlo...诚笮吹饺砼躺希?/a>
  
  # dd if=floppyfw-1.0.5.img of=/dev/fd0 bs=72k
  
  配置
  
  这个软盘是DOS (FAT)格式的,必需首先在另外一台计算机上编辑配置文件之后才能启动它。常常可以使用Linux的mtools,方法如下:
  
  $ cd /tmp
  $ mcopy a:config
  $ vi config
  $ mcopy config a:
  
  如果使用的是其它操作系统,完全可以使用NotePad来完成这些工作。
  
  实际上,floppyfw有5个配置文件:
  
  config (主配置文件)
  firewall.ini (过滤规则)
  modules.lst (附加的ip_masq模块)
  syslinux.cfg (内核引导参数)
  syslog.cfg (syslog配置,类似于/etc/syslog.conf)
  
  可能根本不必关心syslinux.cfg和modules.lst,在这里仅仅讨论一下主配置文件config,为了尽量说明问题,这里去掉了大部分注释内容。其中的大部分值的含义是显而易见的。只是文件最后的这些开关项可能有些不好理解:
  
  OPEN_SHELL控制控制台的shell访问(/bin/ash)。
  
  如果计算机的RAM 不足12 MB,将ONLY_8M置为"y"。
  
  USE_SYSLOG决定syslogd是否运行。
  
  SYSLOG_FLAGS表示的是syslogd启动时传递给它的一些标记信息。
  
  文件1(ftp://ftp.mfi.com/pub/sysadmin/2001...嫉幕嵩诵卸嗑谩?/a>
  
  过滤规则
  
  现在来看看firewall.ini文件。与floppyfw一起发布的原始firewall.ini文件仅仅设置为基本的地址隐藏和拒绝少数几个端口。由于正在构建一个防火墙,因此必需对其进行必要的修改。但是,建立功能齐全的包过滤规则需要大量的工作。理论上讲,希望先关闭所有的端口,然后再根据将使用的服务打开必要的端口。不要紧张,其实大部分工作已经有人做好了!
  
  是从Robert L. Ziegler's的主页http://linux-firewall-tools.com/lin...纠?募?攀值摹?/a>
  
  Ziegler也是《Linux Firewalls》(New Riders Publishing, ISBN: 0735709009----人民邮电出版社已经于2000年10月出版的这本书的中译本)一书的作者,他定制的规则都有很不错的注释,并且对每项设置的目的都给出了详细的解释。当需要打开某些端口时,这些注释是再宝贵不过了的!
  
  这里采用的ipchains规则蓝本可以在这里获得http://linux-firewall-tools.com/ftp...wall.ipchains。
  
  建议首先将这个文件通读一遍,不能随便地拿来就用。有些部分甚至包含一些带有"OR"标记的“二选一”片段,必需根据需要进行取舍。只要将前面的注释去掉,就可以激活配置项了。
  
  在有限的软盘存储空间中存储如此大的规则文件显然是不经济的,最好将认为可能永远也用不到的部分删掉以节省磁盘空间的占用。在方便的地方保留一个原始文件的备份以防万一当然是一个比较明智的做法。如果已经完成配置并将其写到软盘中,最好为该软盘制作若干拷贝,免得软盘损坏了又给添乱。
  
  清单2(ftp://ftp.mfi.com/pub/sysadmin/2001...苯由柚媚切┲怠?/a>
  
  根据清单2会体会到为了打开允许的内部网客户机访问一些基本的网络服务(诸如DNS、SMTP、POP、NNTP、TELNET、SSH、FTP、HTTP和WHOIS等)的端口的方法。注意,没有打开POP端口,而是采用fetchmail取得远程服务器上的邮件。如果担心从远程主机上接收邮件时可能会被别人监听的话,可以选择fetchmail。因为fetchmail有一个非常好的特性,它允许首先建立一个SSH连接,然后通过这个连接下载的邮件。这种情况下的确不需要打开POP端口。
  
  记录日志
  
  如果使用缺省的syslog.cfg文件,floppyfw会将所有的日志发送到控制台。是采用“无意识”(或者说是没有显示器或键盘)方式运行的防火墙计算机的,所以却省配置对来说没有什么用处。但是,想通过分析日志文件来监视防火墙当前的运行状况,下面就是的解决方法:
  
  将内部网的一台安装了Linux操作系统的计算机配置成日志主机。为了做到这一点,确保的日志主机上的syslogd是带-r选项启动的,这个选项允许这个守侯进程接收网络上传递过来的日志消息(例如,在Red Hat系统中,需要编辑/etc/rc.d/init.d/syslog来做到这一点)。然后,配置syslog.cfg文件,一定要将192.168.1.2改成日志主机的IP地址。可以在清单3(ftp://ftp.mfi.com/pub/sysadmin/2001...yslog.cfg文件。
  
  一旦完成了这些文件的配置工作并且写回到了软盘中,就可以通过软盘启动并进行一些测试工作了。在确保的内部网络计算机可以相互通信的前提下,检测一下是否可以访问已经为其打开端口的外部服务。如果将日志记录在远程主机上,请密切关注/var/log/messages,否则注意力必需放在防火墙计算机的控制台屏幕上,它们提供了监视防火墙当前工作状况的线索。可能需要将的防火墙规则配置得更巧妙,但是不要忘了将修改后的结果写回软盘哦。
  
  一定要密切关注的日志文件。当最终将防火墙投入使用后,可能会惊奇地发现有那么多的人正在在进行端口扫描或其它一些奇奇怪怪的事情,有了自己的防火墙,感觉很不错吧?
推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • linux 禁止指定ip访问
    linux中如何禁止指定的ip访问呢?比如被别人暴力破解,被别人使用不同的密码尝试登录:所以我想直接禁用这些ip的访问.怎么办呢?解决方案:修改配置文件etchosts.deny把 ... [详细]
author-avatar
SufiaLi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有