免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 916 | 回复: 0
打印 上一主题 下一主题

读书笔记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-02 13:31 |只看该作者 |倒序浏览
Linux 系统管理安全优化 (笔记)
一部分笔记,马上过年了没有心情工作还是看点东西,充实一下自己。
Linux 系统管理安全优化 (笔记)
怎样使用rpm命令1.查询RPM包
rpm –q xxx
2.显示软件包信息
rpm –qi xxx
3.显示软件包的文件
rpm –ql xxx
4.检查软件包的签名
rpm –chectsig xxx
5.用以源代码发布的RPM包来安装软件
rpm –ivh –rebuild xxx.src.rpm
这个命令会编译“xxx”这个软件包,在“/usr/src/redhat/RPMS/i386/”目录下生成 二进制的RPM包
6.安装RPM包
rpm –ivh xxx.xxx.rpm
7.卸载RPM包
rpm –e xxxx
8.升级RPM包
rpm –Uvh xxx.xxx.rpm

启动和停止daemon服务init是内核在引导的时候运行的程序。它负责管理那些在引导的时候要启动的进程。这些进程包括:Apache daemon,网络daemon 和其他你想在引导时运行的进程。
Init每个启动脚本都接受一个参数,参数值为:start 或 stop 这些脚本在“/etc/rc.d/init.d/”目录下。可以手工运行这些脚本。类似命令 /etc/rc.d/init.d/xxx  stop
可以在“/etc/rc.d/init.d/”目录下查看一下有什么服务,然后,用参数“start”或“stop”启动或停止服务。

安装完服务器之后必须卸载的软件RedHat Linux 再默认情况下会安装一些预置的软件,而且在安装过程中,不能够选择部安装,因此,必须在安装完成后写在下面的这些软件
pump      apmd      lsapnptolls    redhat-logos
mt-st      kernel-pcmcia-cs     setserial    redhat-release
eject      linuxconf      kudzu    gd
bc         getty_ps     raidtools       pciutils
mailcap      setconsole  gnupg

Pump DHCP 和 BOOTP 协议允许在IP网络上的设备,从服务器上获取它们的网络配置信息  【没有必要

Mt-st  软件包包括mt和st磁带机驱动管理程序。Mt(用于磁性磁带驱动器)和 st (用于SCSI磁带驱动器)可以控制磁带的回卷、弹出、跳过文件或块以及其它。【没有必要

Eject 程序允许农户用软件弹出可移动的介质,如:CD-ROM 、软盘 等【没有必要

安装完服务器之后必须安装的软件为了可以在服务器上编译软件,你必须安装下面的RPM软件包。所有软件都在RedHat 6.1第一张安装盘 /RedHat/RPMS 目录下,而且都是是你的Linux系统能够编译程序所必须要的。
下面是我们需要安装的软件包,只有安装了这些软件包才在Linux系统上编译程序。请记住,这不过是能够编译“.tar.gz”软件最少必需的软件包。有些软件编译可能还需要用到别的特殊的软件包。这些软件包在RedHat 得光盘中都能找到。所以,编译程序的时候,如果出错,可以先看看需要编译的软件包的README文件。
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**
Byacc-**
Cdecl-**
Cpp-1**
Cproto-**
Ctags-**
Egcs-**
ElectricFence-**
Flex-**
Gdb-**
Kernel-**
Glibc-**
Make-**
Patch-**
注意:最好把这些软件一起全装了,省得安装这些RPM包的时候总出现一些相关出错的信息。

安装和编译完在服务器上需要的所有软件之后,最好把上面安装的软件包都卸载掉,除非有什么特殊需要。原因是:如果黑客成功入侵服务器,他也不可能用上面的这些软件来编译软件或改变二进制程序。同时,把他们卸载掉也释放了很多磁盘空间,这样当进行系统的安全性和一致性检查时候,可以加快扫描所有文件(文件少了)

服务器上已经安装的程序服务器上已经安装的程序列表。必须和/temp 目录下的 install.log文件一致,否则就是没有装全。


给终端加点颜色可以帮助区分目录、文件、设备、符号连接和可执行文件。
编辑 profile 文件 vi  /etc/profile 加入下面这些行:
# Enable Colour ls
eval ‘dircolors /etc/DIR_COLORS –b’
export LS_OPTIONS=’-s –F –T 0 –color=yes’
编辑 bashrc 文件 vi /etc/bashrc  加入下面行:
alias ls = ‘ls –color=auto’

退出,再重新登陆,与颜色相关的变量就设定好了。

是软件保持最新版本为了使你的软件保持最新版本,请定期察看RedHat Linux的 勘误网页
http://www.redhat.com/corp/support/errata/index.html

注意:Linux的内核是最重要要的,必须经常更新。下面将会介绍如何为你的服务器编译一个定制的内核。

第二部分:与安全和优化相关的参考资料Linux的安全1.基础知识
尽量少让外人知道有关系统的信息。
日志是了解Linux系统运行情况的唯一方法。
限制系统中SUID的程序。SUID的程序是以root权限运行的程序。
2.BIOS安全,设定引导口令
3.安全策略
4.口令
5.口令长度
安装完Linux系统之后默认的最小口令长度为5。这就是说一个新的用户可以访问服务器,那么它的口令必须多于5个字符。但这样不够安全,最好口令的长度能够大于8。可以强制用户使用8个字符以上的口令。编辑/etc/login.defs 文件,把最小口令由5改成8。找到PASS_MIN_LEN 5 这一行,将5改成8。在这个文件中可以设定一些其他安全策略,如:口令有效期
6.Root账号
7.加密
8./etc/exports 文件
如果通过NFS把文件共享出来,那么就要配置 /etc/exports文件,使得访问限制尽可能严。这就是说不要用通配符,不允许对根目录有写的权限,而且尽可能只给只读权限。
/dir/to/export  host1.mydomain.com (ro,root_squash)
/dir/to/export 是你想共享出来的目录,host.mydomain.com 是允许访问这个目录的计算机。代表只读,代表不允许对根目录进行写操作。使这些改变生效,你还需要运行 /user/sbin/exportfs –a 命令。
9.禁止使用控制台程序
10.            禁止控制台的访问
为了禁止所有的控制台访问,包括程序和文件,请在/etc/pam.d/目录下的所有文件中,给那些包含pam_console.so的行加上注释。
11./etc/inetd.conf 文件
inetd,也叫做 超级服务器 ,根据网络请求装入网络程序。Inetd.config 文件告诉inetd 监听那些网络端口,为每个端口启动哪个服务。查看/etc/inetd.conf 文件,了解一下inetd提供哪些服务。用加注释的方法,禁止任何不需要的服务,别忘记给inetd进程发一个SIGHUP信号 killall –HUP inetd
为了保证 inetd.conf 文件的安全,可以用chattr命令把它设定成不可改变。把文件设成不可改变的只要用下面的命令:
chattr +I /etc/inetd.conf  一个有I属性的文件是不能被改动的。如果要改变就必须清楚这个标记。 Chattr –I /etc/inetd.conf
12.TCP_WRAPPERS
在默认情况下,redhat linux 允许所有的服务请求。用TCP_WRAPPERS来保护服务器的安全,使其免受外部的攻击,比想象的要简单和轻松的多。在/etc/hosts.deny 文件中加入  ALL:ALL@ALL,PARANOID 以禁止所有计算机访问你的服务器,然后在 /etc/hosts.allow 文件中一个一个加入允许访问你的服务器的计算机。这种方法最安全。
TCP_WRAPPERS 是由两个文件控制的,依次是:/etc/hosts.allow 和 /etc/hosts.deny 。判断是依次进行的,具体规则如下:
如果在/etc/hosts.allow 文件中有匹配的项则 允许访问,否则,查看 /etc/hosts.deny ,如果找到匹配的项,那么访问被禁止;否则,访问被允许。

Tcpdchk是检查TCP_WAPPERS配置的程序。它检查TCP_WAPPERS的配置,并报告它可以发现的问题或潜在的问题。
13./etc/aliases 文件
aliases 文件如果管理错误或管理粗心就会造成安全隐患。
14.防止sendmail被没有授权的用户滥用
15.使系统对ping 没有反应
        防止系统对ping 请求作出反应
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
        可以把这一行加到/etc/rc.d/rc.local 文件中去,这样当系统重新启动的时候,该命令就会自动运行。
        Echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 恢复响应
16.不要显示系统提示信息
        如果你不想让远程登录的用户看到系统的提示信息,你可以改变/etc/inetd.conf 文件中的telnet设置:
        telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd –h
        在末尾加上 –h 参数可以让daemon不显示任何系统信息,只显示登陆提示。
17./etc/host.conf文件
        Linux用解析器 库把主机名字翻译成IP地址 /etc/host.conf 文件定义主机名是怎样解析的。/etc/host.conf 文件中的项告诉解析器库用什么服务,以什么顺序解析主机名
18.路由协议
        路由和路由协议会导致一些问题。IP原路径路由,也就是IP包包含到达底目的地址的详细路径信息,是非常危险的,因为根据RFC1122规定目的主机必须按原路径返回这样的IP包。
        下面的命令禁止在你的服务器上IP原路径路由:
         for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
         echo 0 > $f
         done
         把上面的命令加到 /etc/rc.d/rc.local文件中去,就不用再系统重新启动后再把这些命令敲一遍。
19.使TCP SYN Cookie保护生效
        SYN Attack 是一种拒绝服务 (DoS)的攻击方式,会消耗掉系统中的所有资源,迫使服务器重新启动,syn cookie 在2.1系列内核中只是一个可选项,并没有使其生效。使其生效 用下面命令:
        Echo 1 > /proc/sys/net/ipv4/tcp_syncookies
        把这个命令加入 /etc/rc.d/rc.local 中
20.防火墙
21./etc/services 文件
        端口号和标准服务之间的对应关系在RFC1700 中有详细的定义。/etc/services 文件使得服务器和客户端的程序能够把服务的名字转成端口号,这张表在每个主机上都存在 文件名 /etc/services
22./etc/securetty文件
        /etc/securetty文件允许你规定 root用户可以从哪个tty设备登陆。登陆程序需要读取 /etc/securetty文件。它的格式是:列出来的tty设备都是允许登陆的,注释掉或是在这个文件中不存在的都是不允许root登录的。
23.特殊的账号
        <span st

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2798/showart_11364.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP