热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux安全小谈(1)

文章标题:Linux安全小谈(1)。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  要研究Linux安全,首先需要安全的安装LINUX系统。
  1 LINUX服务器的安全安装(这里假定您已经对您的服务器硬件设备很了解)
   首先创建启动盘,引导Linux 。(在次之前,我建议最好去RedHat Linux的勘误网站去下载特殊的软盘镜像)
   在windows下打开MS-DOS方式(开始 | 程序 | MS-DOS方式):
  C:$#@62; d:
  D:$#@62; cd dosutils
  D:dosutils$#@62; rawrite
  Enter disk image source file name: ..imagesroot.img
  Enter target diskette drive: a:
  Please insert a formatted diskette into drive A: and press --ENTER-- :
  D:dosutils$#@62;
   当rawrite.exe要求输入软盘镜像的时候,输入完整的boot.img的路径名,把软盘插入A驱。当程序问你把镜像写入哪个软盘驱动器的时候,输入a:。
   因为我们不能从CDROW启动,所以我们用软驱启动。把软盘插入A:驱,然后重新启动计算机。当出现boot:的时候,按下回车键,继续引导。
  * 选择语言
  * 选择键盘类型
  * 选择鼠标类型
  再选择安装类型的时候,我建议选择自定义安装。
   分区是一个头疼的问题,我吐血建议在分区之前,备份你当前的系统先。
   (1)使用Disk Druid分区工具
   Disk Druid是RedHat Linux带的一个分区工具。选择“Add”添加新的分区,“Edit”改变分区,“Delete"删除分区,“Reset”恢复原来的分区状态。在添加一个新分区的时候,会出现一个窗口,要求你添上有关这个分区的一些必要的信息。要求添的信息是:
  * Mount Point: 分区装载(mount)的目录
  * Size: 分区的大小,以兆为单位
  * Partition Type: 分区类型。Linux的文件系统要使用Linux native类型的分区,Linux交换分区请用Linux Swap类型。
   如果你有一个SCSI硬盘,那么这个设备的名称将是“/dev/sda”;如果你有一个IDE硬盘,那么这个设备名称将是“/dev/hda”。如果很在意系统的高性能和稳定性,我们建议你用SCSI硬盘。
  Linux分区的命名方式是字母和数字相结合的,这种命名方式很灵活也很直观。下面是一个小小的总结:
  * 前两个字母:前两个字母表示设备类型,“hd”代表IDE硬盘,“sd”表示SCSI硬盘
  * 第三个字母:这个字母是说明具体的设备。例如:“/dev/hda”表示第一个IDE硬盘;“/dev/hdb”表示第二个IDE硬盘。
  请记住这些,这样给Linux分区的时候,会觉得容易一些也不会混淆。
   (2)交换分区
   交换分区是用于虚拟内存的。如果计算机的内存少于16M,你必须创建交换分区。即使有更多的内存,我们还是建议你建立交换分区。交换分区最小必须等于计算机的内存,如果内存多于16M,最小只要16M就行了。交换分区最大大约为1GB,(Linux 2.2内核现在可以支持1GB的交换文件,如果多于1GB就是浪费)。注意:可以创建多于一个的交换分区,尽管只有在安装大型服务器的时候才有这个必要。尽量把交换分区放在硬盘驱动器的起始位置,因为一个磁盘的起始位置在物理上是在最外的柱面上,所以磁头每转一圈可以覆盖更大的面积。
   分区完毕之后,你可以在屏幕上看到类似的信息:
  Mount Point Device Requested Actual Type
  /boot sda1 5M 5M Linux Native
  /usr sda5 1000M 1000M Linux Native
  /home sda6 500M 500M Linux Native
  /chroot sda7 400M 400M Linux Native
  /cache sda8 400M 400M Linux Native
  /var sda9 200M 200M Linux Native
  Swap sda10 150M 150M Linux Swap
  /tmp sda11 100M 100M Linux Native
  / sda12 316M 315M Linux Native
  
  Drive Geom [C/H/S] Total (M) Free (M) Used (M) Used (%)
  sda [3079/64/32] 3079M 1M 3078M 99%
  现在,选择“Next”继续安装。分区创建完之后,安装程序会让你格式化分区。选择想要格式化的分区,选中“Check for bad blocks during format”选择框,按“Next”继续。这样就开始格式化分区,并且激活分区。Linux就可以使用这个分区了。
  
  下一步如果选择安装LILO,你会看到LILO的配置。可以选择把LILO装在主引导扇区(MBR),或引导分区的第一个扇区。
  
  在通常情况下,应该选择把LILO安装在主引导扇区。(如果你的计算机上装有NT,或一些多重引导程序,如System Command,你最好仔细看一遍LILO-HOWTO,以免不必要的损失)。然后,开始配置网络和时钟。接着,要输入root口令和进行安全验证的配置。不要忘了选上:
  * Enable MD5 passwords
  * Enable MD5 passwords
  没有必要选择Enable NIS,因为我们不在这台服务器上安装NIS服务。
  
  
  关于Linux安全的研究(二)
  作者:Feardark
  发布日期:28/3/2002
   上文我们已经安装了Linux系统,由于RedHat Linux在默认情况下会安装一些预置的软件,而且在安装的过程中,不能够选择不安装。因此,必须在安装完成之后卸载下面这些软件:isapnptools,redhat-logos ,pump,apmd ,kernel-pcmcia-cs,mt-st,setserial
  ,eject,gd,kudzu,linuxconf,getty_ps,pciutils ,mailcap,gnupg,setconsole。
   use command :[root@deep]# rpm -e softwarenames
  apmd、kudzu和sendmail是daemon进程,在卸载它们之前最好先停止这些进程。
  停止这些进程用如下的命令:
  [root@deep]# /etc/rc.d/init.d/apmd stop
  [root@deep]# /etc/rc.d/init.d/sendmail stop
  [root@deep]# /etc/rc.d/init.d/kudzu stop
  由于本文着重介绍安全问题,所以就不介绍这些软件的作用了。
   我们卸载了一系列的软件,同时我们也需要安装一些必要的软件。为了可以在你的服务器上编译软件,你还必须安装下面的RPM软件包。这部分安装是非常重要的,要求你安装所有如下所述的软件包。所有的这些软件都在RedHat 6.1第一张光盘的/RedHat/RPMS目录下,而且都是使你的Linux系统能够编译程序所必须要的。
   首先,先mount 上CD-ROM驱动器,转到RPMS子目录下。mount CD-ROM驱动器和转到RPMS目录,use command:
  [root@deep]# mount /dev/cdrom /mnt/cdrom/
  [root@deep]# cd /mnt/cdrom/RedHat/RPMS/
  
  we need these softwares:
  
  autoconf-2.13-5.noarch.rpm
  m4-1.4-12.i386.rpm
  automake-1.4-5.noarch.rpm
  dev86-0.14.9-1.i386.rpm
  bison-1.28-1.i386.rpm
  byacc-1.9-11.i386.rpm
  cdecl-2.5-9.i386.rpm
  cpp-1.1.2-24.i386.rpm
  cproto-4.6-2.i386.rpm
  ctags-3.2-1.i386.rpm
  egcs-1.1.2-24.i386.rpm
  ElectricFence-2.1-1.i386.rpm
  flex-2.5.4a-7.i386.rpm
  gdb-4.18-4.i386.rpm
  kernel-headers-2.2.12-20.i386.rpm
  glibc-devel-2.1.2-11.i386.rpm
  make-3.77-6.i386.rpm
  patch-2.5-9.i386.rpm
  PS:The best choice is install these software in same time because its always made something wrong when you installing the RPM
  Second:Install these software you can use command that is;
  [root@deep]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm automake-1.4-5.noarch.rpm dev86-0.14.9-1.i386.rpm bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm cproto-4.6-2.i386.rpm ctags-3.2-1.i386.rpm egcs-1.1.2-24.i386.rpm ElectricFence-2.1-1.i386.rpm flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm kernel-headers-2.2.12-20.i386.rpm glibc-devel-2.1.2-11.i386.rpm make-3.77-6.i386.rpm patch-2.5-9.i386.rpm
  第三:为了让这些改变都生效,必须退出然后再登陆,命令:
  [root@deep]# exit
  安装和编译完在服务器上需要的所有软件之后,最好把上面几步安装的软件包都卸掉,除非有什么特殊的需要。这样做,其中一个原因是:如果黑客成功地入侵了你的服务器,他也不可能用上面这些软件来编译软件或改变二进制程序。同时,把它们卸载掉也释放了很多磁盘空间,这样当进行系统的安全性和一致性检查的时候,可以加快扫描所有文件的时间(文件少了)。
   因为我们选择定制安装我们的Linux系统, 下面是服务器上已安装的程序列表。这个列表必须和/tmp目录下的install.log文件一致,否则你就是没装全。上面提到的那些软件是我们必须的。
   使你的软件保持最新的版本
  
  为了使你的软件保持最新的版本,请定期查看RedHat Linux的勘误网页http://www.redhat.com/corp/support/errata/index.html。勘误网页通常可以解决90% RedHat Linux的系统问题。而且,RedHat在得到安全漏洞的通知之后,如果已经找到解决方案了,就会在24小时之内,在勘误网站上发布出来。必须经常查看这个地方。RedHat Linux服务器现在必须更新的软件是:
  groff-1_15-1_i386.rpm
  sysklogd-1_3_31-14_i386.rpm
  inits cripts-4_70-1_i386.rpm
  e2fsprogs-1.17-1.i386.rpm
  pam-0_68-10_i386.rpm
  L
推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
author-avatar
天亮说晚安
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有