Linux系统安全系统配置详解
Linux安全配置风险评估检查表

...................................................................1.1 目的 (1)1.2 合用范围 (1)1.3 合用版本 (1).....................................................2.1 账号 (2)2.1.1 用户口令设置 (2)2.1.2 root 用户远程登录限制 (2)2.1.3 检查是否存在除root 之外UID 为0 的用户 (3)2.1.4 root 用户环境变量的安全性 (3)2.2 认证 (4)2.2.1 远程连接的安全性配置 (4)2.2.2 用户的umask 安全配置 (4)2.2.3 重要目录和文件的权限设置 (4)2.2.4 查找未授权的SUID/SGID 文件 (5)2.2.5 检查任何人都有写权限的目录 (6)2.2.6 查找任何人都有写权限的文件 (6)2.2.7 检查没有属主的文件 (7)2.2.8 检查异常隐含文件 (7)...............................................................3.1 日志 (9)3.1.1 syslog 登录事件记录 (9)3.2 审计 (9)3.2.1 Syslog.conf 的配置审核 (9)...............................................................4.1 系统状态 (11)4.1.1 系统core dump 状态 (11)本文档规定了LINUX 操作系统的主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员或者安全检查人员进行LINUX 操作系统的安全合规性检查和配置。
本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。
LINUX 系列服务器;操作系统Linux 用户口令安全基线要求项SBL-Linux-02-01-01帐号与口令-用户口令设置1 、问询管理员是否存在如下类似的简单用户密码配置,比如:root/root, test/test, root/root12342、执行:more /etc/login,检查PASS_MAX_DAYS/PASS_MIN_LEN/PASS_MIN_DAYS/PASS_RN_AGE 参数3、执行:awk -F: '($2 == "") { print $1 }' /etc/shadow, 检查是否存在空口令账号建议在/etc/login 文件中配置:PASS_MIN_LEN=6不允许存在简单密码,密码设置符合策略,如长度至少为6不存在空口令账号操作系统Linux 远程登录安全基线要求项SBL-Linux-02-01-02帐号与口令-root 用户远程登录限制执行:more /etc/securetty,检查Console 参数建议在/etc/securetty 文件中配置:CONSOLE = /dev/tty01操作系统Linux 超级用户策略安全基线要求项SBL-Linux-02-01-03帐号与口令-检查是否存在除root 之外UID 为0 的用户执行:awk -F: '($3 == 0) { print $1 }' /etc/passwd返回值包括“root”以外的条目,则低于安全要求;补充操作说明UID 为0 的任何用户都拥有系统的最高特权,保证惟独root 用户的UID 为0操作系统Linux 超级用户环境变量安全基线要求项SBL-Linux-02-01-04帐号与口令-root 用户环境变量的安全性执行:echo $PATH | egrep '(^|:)(\.|:|$),' 检查是否包含父目录,执行:find `echo $PATH | tr ':' ' '` -type d \( -perm -002 -o -perm -020 \) -l 检查是否包含组目录权限为777 的目录返回值包含以上条件,则低于安全要求;补充操作说明确保root 用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777 的目录操作系统Linux 远程连接安全基线要求项SBL-Linux-02-02-01帐号与口令-远程连接的安全性配置执行:find / -name .netrc,检查系统中是否有.netrc 文件,执行:find / -name .rhosts ,检查系统中是否有.rhosts 文件返回值包含以上条件,则低于安全要求;补充操作说明如无必要,删除这两个文件操作系统Linux 用户umask 安全基线要求项SBL-Linux-02-02-02帐号与口令-用户的umask 安全配置执行:more /etc/profile more /etc/csh.login more /etc/csh.cshrc more /etc/bashrc 检查是否包含umask 值umask 值是默认的,则低于安全要求补充操作说明建议设置用户的默认umask=077操作系统Linux 目录文件权限安全基线要求项SBL-Linux-02-02-03文件系统-重要目录和文件的权限设置执行以下命令检查目录和文件的权限设置情况:ls –l /etc/ls –l /etc/rc.d/init.d/ls –l /tmpls –l /etc/inetd.confls –l /etc/passwdls –l /etc/shadowls –l /etc/groupls –l /etc/securityls –l /etc/servicesls -l /etc/rc*.d若权限过低,则低于安全要求;补充操作说明对于重要目录,建议执行如下类似操作:# chmod -R 750 /etc/rc.d/init.d/*这样惟独root 可以读、写和执行这个目录下的脚本。
Linux系统界面操作介绍

2.5.2 使用面板
2.5.2.1 使用「主菜单」
2.5 使用图形化界面
2.5.2 使用面板
2.5.2.2 使用小程序
小程序是运行在面板上的小型应用程序。小程序通常会让你监控你的系统上的 各类情况。某些小程序执行有用的任务,而某些则纯粹为娱乐而设计。 你的面板上默认运行几个小程序。这些小程序比较重要,下面的列表中会讨论 它们。
图 面板
2.5 使用图形化界面
2.5.2 使用面板
2.5 使用图形化界面
2.5.2 使用面板
2.5 使用图形化界面
2.5.2 使用面板
2.5 使用图形化界面
2.5.2 使用面板
2.5.2.1 使用「主菜单」
你可以点击面板上的「主菜单」按钮 来把它扩展成一个大型菜单集合。该 集合允许你进入系统内的应用程序。 从这里,你可以启动多数包括在 Red Hat Linux 中的应用程序。注意,除了推荐 的应用程序以外,你还可以启动每个子菜单中的附加程序。这些子菜单使你能够 使用系统上大量的应用程序。从「主菜单」中,你还可以注销、从命令行运行应 用程序、寻找文件、或锁住屏幕(这会运行用口令保护的屏幕保护程序)。
localhost login:
除非你给你的机器另选了一个主机名(主要用于网络设置),你的机器可 能会叫做 localhost.localdomain。 要从控制台上登录为根用户,在登录提示后键入 root,按 [Enter] 键,在 口令提示后键入安装时设置的根口令,然后按 [Enter] 键。要登录为普通用户, 在登录提示后键入你的用户名,按 [Enter] 键,在口令提示后键入在创建用户 帐号时所选择的口令,然后按 [Enter] 键。 登录后,你可以键入 startx 来启动图形化桌面。
Linux教程菜鸟教程2024新版

进程控制
使用kill、pkill、killall等命令终止进程,使用 nohup、disown等命令使进程在后台运行。
3进程Βιβλιοθήκη 控使用systemd、supervisor等工具监控进程状态 ,实现进程自动重启、日志收集等功能。
系统资源监控与性能优化
05
数据存储与安全防护
磁盘分区与格式化操作指南
磁盘分区概念及作用
解释磁盘分区的含义,阐述分区对于数据管理和系统性能的重要性。
常见分区工具介绍
介绍在Linux系统中常用的分区工具,如fdisk、parted等,并说明各 自的特点和使用方法。
分区操作步骤详解
详细讲解使用分区工具进行磁盘分区的操作步骤,包括创建、删除、 调整分区大小等。
端口号
用于标识设备上运行的不同服务,常见端口号如80(HTTP)、22(SSH)等。
路由器与交换机
网络设备,用于实现不同网络之间的通信和数据传输。
TCP/IP协议栈
网络通信的基础协议,包括传输层的TCP和UDP协议、网络层的IP协议等。
网络配置工具及命令
ifconfig
用于配置和显示Linux内核中网络接 口的网络参数。
BIND(Berkeley Internet Name Domain): 一种常用的DNS服务器软件,用于配置和管理 DNS服务。
DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,用于自动给网 络上的计算机分配IP地址和其他网络参数。
dhcpd:一种常用的DHCP服务器软件,用于配 置和管理DHCP服务,自动分配IP地址等网络参数 给客户端。
linux命令配置IP详解

在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,有时需要编辑这些文件来完成联网工作。
vi /etc/sysconfig/network-scripts/ifcfg-eth0 :进入IP编译器按i 下面出现-- INSERT -- :写入模式出现下列信息# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]DEVICE=eth0BOOTPROTO=static // BOOTPROTO只有在static(静态)模式下才可以使用设置的IP信息HWADDR=00:0c:29:9e:43:e4ONBOOT=yesNETMASK=255.255.255.240 //掩码IPADDR=220.181.77.132 //添加IP地址GATEWAY=220.181.77.129 //添加网关TYPE=Ethernet按冒号:wq保存退出修改dnsvim /etc/resolv.conf重启网卡service network restart在此我们详细介绍如何使用命令行来手工配置TCP/IP网络。
与网络相关的配置文件和网络相关的一些配置文件有/etc/HOSTNAME、/etc/resolv.conf、/etc/host.conf、/etc/sysconfig/network、/etc/hosts等文件。
下面一一介绍。
/etc/HOSTNAME文件该文件包含了系统的主机名称,包括完全的域名,例如。
在Red Hat 7.2中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下。
ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eht包含第二块网卡的配置信息。
下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:DEVICE=eth0IPADDR=208.164.186.1NETMASK=255.255.255.0NETWORK=208.164.186.0BROADCAST=208.164.186.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no其中各变量关键词的解释如下:DEVICE=name name表示物理设备的名字IPADDR=addr addr表示赋给该卡的I P地址NETMASK=mask mask表示网络掩码NETWORK=addr addr表示网络地址BROADCE ST=addr addr表示广播地址ONBOOT=yes/no 启动时是否激活该卡BOOTPROTO=proto proto取值可以是none(无须启动协议)、bootp(使用bootp协议)、dhcp(使用DHCP协议)USERCTL=yes/no 是否允许非root用户控制该设备若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应文件(ifcfg-ethN)或创建新文件来实现。
VMware虚拟机及各种版本Linux操作系统安装详解

VMware虚拟机及各种版本Linux操作系统安装详解一、启动虚拟机,如下图所示,点击“新建虚拟机”。
二、点击“下一步”,选择“自定义”,点击“下一步”,如下图所示。
三、选择“Workstation 6”,点击“下一步”。
如下图所示。
四、选择“Linux”,如果是RedHat系统,则选择RedHat Linux;如果是Ubuntu系统,则选择Ubuntu;如果是Fedora系统,版本选择“Other Linux 2.6.x kernel”。
点击“下一步”。
如下图所示。
五、虚拟机名称自定,文件存储位置自定。
点击“下一步”。
六、虚拟处理器数量一般选一个,除非你的电脑的主板上有两块CPU。
点击“下一步”。
七、在内存分配方面,Linux操作系统的KDE桌面环境比较占资源,因此最好分配256MB 的内存给虚拟机使用。
点击“下一步”。
八、接下来配置网络连接,如果有联网需要,一般选择“使用网络地址转换(NAT)”。
点击“下一步”。
如下图所示。
九、SCSI 适配器选择“LSI Logic”。
如果选择“总线”并且使用虚拟的SCSI硬盘,安装某些版本的Linux系统时会提示说找不到可用硬盘。
点击“下一步”。
如下图所示。
十、选择“创建一个新的虚拟磁盘”。
不推荐“使用一个物理磁盘”。
点击“下一步”。
如下图所示。
十一、虚拟机磁盘类型选择“SCSI”。
点击“下一步”。
如下图所示。
十二、对于Linux来说,如果不安装工具盘,则分配5.5GB的磁盘空间足矣。
点击“下一步”。
如下图所示。
十三、指定磁盘文件,一般按默认,点击“完成”开始创建磁盘文件。
完成后如下图所示。
十四、如果使用光盘镜像来安装Linux,则点击“编辑虚拟机设置”,在“硬件”标签页中点击“CD-ROM1(IDE 1:0)”,勾选右侧的“使用ISO 映象”,点击“浏览”选择ISO文件,点击“打开”即可。
如下图所示。
如果已经将ISO文件刻录成光盘,则将光盘放入光驱,点击“启动此虚拟机”,点击黑色背景的启动界面,让虚拟机捕获鼠标,按下F2键进入虚拟机的BIOS设置界面,按光标键的右箭头移到“Boot”标签页,按光标键的下箭头选择“CD-ROM Drive”,按数字键盘区的加号键将“CD-ROM Drive”移到第一位。
linux内核配置make menuconfig菜单详解

LINUX内核配置MAKE MENUCONFIG菜单详解我们在linux内核裁剪过程中,进入内核所在目录,键入 make menuconfig 就会看到一堆的配置菜单,它们具体代表什么含义呢?我们该如何取舍呢?这里把近期收集到的一些信息做一个总结。
1、General setup代码成熟度选项,它又有子项:1.1、prompt for development and/or incomplete code/drivers该选项是对那些还在测试阶段的代码,驱动模块等的支持。
一般应该选这个选项,除非你只是想使用 LINUX 中已经完全稳定的东西。
但这样有时对系统性能影响挺大。
1.2、Cross-compiler tool prefix交叉编译工具前缀,例如:Cross-compiler tool prefix值为: (arm-linux-)1.3、Local version - append to kernel release内核显示的版本信息,填入 64字符以内的字符串,你在这里填上的字符口串可以用uname -a 命令看到。
1.4、Automatically append version information to the version string自动在版本字符串后面添加版本信息,编译时需要有perl以及git仓库支持1.5、Kernel compression mode (Gzip) --->有四个选项,这个选项是说内核镜像要用的压缩模式,回车一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默认的gzip,如果要用bzip2,lzma,lxo要先装上支持1.6、Support for paging of anonymous memory (swap)使用交换分区或交换文件来做为虚拟内存,一定要选上。
1.7、System V IPC表示系统的进程间通信Inter Process Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,必选。
Linux实验ssh配置详解
Linux实验ssh配置详解⼀、ssh详解1、什么是ssh简单来说,ssh是⼀种⽹络协议,⽤于计算机之间的加密登录。
如果⼀个⽤户从本地计算机,使⽤ssh协议登录另⼀台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
需要指出的是,ssh只有⼀种协议,存在多种实现,既有商业实现,也有开源实现。
2、基本⽤法(1)使⽤某个⽤户(例如user)登录远程主机host命令:ssh user@host(2)如果本地⽤户名和远程⽤户名⼀致,则登录时可以省略⽤户名命令:ssh host(3)ssh的默认端⼝是22,也就是说,你的登录请求会送进远程主机的22端⼝。
使⽤-p参数,可以修改这个端⼝命令:ssh –p 端⼝号 user@host3、中间⼈攻击SSH之所以能够保证安全,原因在于它采⽤了公钥加密。
整个过程如下:(1)远程主机收到⽤户的登录请求,把⾃⼰的公钥发给⽤户。
(2)⽤户使⽤这个公钥,将登录密码加密后,发送回来。
(3)远程主机⽤⾃⼰的私钥,解密登录密码,如果密码正确,就同意⽤户登录。
这个过程本⾝是安全的,但是实施的时候存在⼀个风险:如果有⼈截获了登录请求,然后冒充远程主机,将伪造的公钥发给⽤户,那么⽤户很难辨别真伪。
因为不像https协议,SSH协议的公钥是没有证书中⼼(CA)公证的,也就是说,都是⾃⼰签发的。
可以设想,如果攻击者插在⽤户与远程主机之间(⽐如在公共的wifi区域),⽤伪造的公钥,获取⽤户的登录密码。
再⽤这个密码登录远程主机,那么SSH的安全机制就荡然⽆存了。
这种风险就是著名的"中间⼈攻击"。
4、ssh的安全验证SSH有⾃⼰的⼀套验证⽅式,可以阻拦⼤部分的攻击,当然如果有⼈想通过撞库来尝试密码的话,就只有设置防⽕墙或者做其它的安全措施了。
从客户端来看,SSH提供两种级别的安全验证。
(1)第⼀种级别(基于⼝令的安全验证)只要你知道⾃⼰帐号和⼝令,就可以登录到远程主机。
Linux操作系统应用与安全第9章_Linux系统的安全管理
应用与安全
iptables 本身即是軟體的名字,又是運行該軟體的命令,使用格式是: 表9.2 命令選項 “iptables [-t 表] [命令選項] [鏈] [匹配選項] [動作選項]”,下麵是各個 部分的說明。 1)[-t 表]:該選項表示將該命令的紀錄保存在filter、nat和mangle3個表 中的哪一個表中。 2)[命令選項]:表示使用的具體命令參數,如表9.2所示。
9.1 Linux的主要安全問題
9.1.1 電腦不安全的因素
• • • • • • • 軟體系統 硬體系統 數據輸入輸出部分 周圍環境 管理因素 病毒破壞 駭客攻擊
应用与安全
应用与安全
9.1.2 Linux系統的安全措施
• • • • • • • • • • 設置BIOS密碼 設置用戶登錄口令 加強root用戶的安全 刪除多餘的默認帳號 加強配置檔的安全 加強啟動腳本安全 禁止回應ping 禁止使用Ctrl+Alt+delete重啟主機 合理劃分Linux系統分區 合理利用日誌檔
Linux操作系統應用與安全
应用与安全
11 Linux系統的安全管理
应用与安全
Linux系統的安全管理
• 學習要求:瞭解電腦系統不安全的主要因素;掌握Linux 操作系統主要的安全措施;瞭解Linux系統下的殺毒軟體; 掌握至少一個軟體的安裝與使用;掌握Iptables在不同環 境和需求下的配置。 • 學習重點:1.電腦系統不安全的主要因素;2.Linux操作 系統的主要安全措施;3.Linux操作系統下的病毒防治; 4.Iptables在不同環境和需求下的配置。 • 學習難點: 4.Iptables在不同環境和需求下的配置。
選項
作用 在所選鏈尾部加入一條或多條規則。 在所選鏈尾部刪除一條或多條規則。 在所選鏈中替換一條匹配規則。 以給出的規則號在所選鏈中插入一條或多條規則。如果規則 號為1,即在鏈的頭部。 列出指定鏈中的所有規則,如果沒有指定鏈,將列出所有鏈 中的規則。 清除指定鏈和表中的所有規則,假如不指定鏈,那麼所有鏈 都將被清空。 以指定名創建一條新的鏈,不能與已有鏈同名。 刪除指定的鏈,必須保證鏈中的規則都不再使用時才能刪除, 若沒有指定鏈,則刪除所有鏈。 為永久鏈指定默認規則(內置鏈策略),用戶定義鏈沒有缺 省規則,缺省規則也是規則鏈中的最後一條規則,用“-L” 顯示時它在第一行。 將指定鏈中所有的規則包位元組計數器清零。 顯示幫助資訊。
Linux入门基础教程
Linux⼊门基础教程转载⾃:1. 1 Linux操作系统简介Linux是⼀套免费使⽤和⾃由传播的类Unix操作系统,是⼀个基于POSIX和UNIX的多⽤户、多任务、⽀持多线程和多CPU的操作系统。
它能运⾏主要的UNIX⼯具软件、应⽤程序和⽹络协议。
它⽀持32位和64位硬件。
Linux继承了Unix以⽹络为核⼼的设计思想,是⼀个性能稳定的多⽤户⽹络操作系统。
1991年的10⽉5⽇,Linux创始⼈林纳斯·托⽡兹(Linus Torvalds)在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞⽣,1994年3⽉,Linux 1.0发布,代码量17万⾏,当时是按照完全⾃由免费的协议发布,随后正式采⽤GPL(General Public License的缩写,是⼀份GNU通⽤公共授权)协议。
Linux具有如下优点:Ø 稳定、免费或者花费少Ø 安全性⾼Ø 多任务,多⽤户Ø 耗资源少Ø 由于内核⼩,所以它可以⽀持多种电⼦产品,如:Android⼿机、PDA等。
1. 2 Linux发展趋势随着IT产业的不断发展,⽤户对⽹站体验要求也越来越⾼,⽽⽬前主流⽹站后端承载系统都是Linux系统,⽬前Android⼿机全部基于Linux内核研发。
企业⼤数据、云存储、虚拟化等先进技术都是基于Linux系统。
2010年据有关权威部门统计:将来⼏年内我国软件⾏业的从业机会⼗分庞⼤,中国每年对软件⼈才的需求将达到50万⼈左右。
⽽对于Linux 专业⼈才的就业前景,更是⼴阔;据悉在未来5-10年内 Linux 专业⼈才的需求将达到 120 万+!尤其是有经验的资深的Linux⼯程师⽬前⾮常的缺乏,薪资也是⾮常诱⼈,平均⽉薪都是15-20K,能⼒强的薪资更⾼。
所以机会对每个⼈都是公平的,关键是我们每个⼈如何去⾏动,选择⼤于努⼒。
1. 3 Linux系统安装在安装Linux系统之前,先来了解windows系统结构,windows系统⼀般是安装在C盘系统盘,同样Linux也有类似的系统盘(/根分区),Linux通常分区为(根分区/、swap分区),Linux系统以⽂件的存储⽅式,所有的⽂件都是存储在某个⽬录下的,类似于windows的⽂件夹。
凝思Linux操作系统安全加固标准化作业指导书
2.1审计策略
2.1审计策略
Part 3 网络服务管理
目录
3.1最小服务配置
Part 4 接入管理
目录
4.1远程登录
4.1远程登录
4.1远程登录
4.2限制外设接口
4.2限制外设接口
4.2限制外设接口
前言
1 配置管理 2 日志与审计 3 网络服务管理 4 接入管理
目录
Part 1 配置管理
目录
1.1删除或禁用系统无关用户
1.2用户账户复杂度策略
1.3用户登录失败锁定
1.4用户口令周期策略和过期提醒
1.5更改文件的默认权限
1.6桌面配置
1.6桌面配置
Part 2 日志与审计来自目录前言目录配置管理1日志与审计2网络服务管理3接入管理4目录part1配置管理11删除或禁用系统无关用户12用户账户复杂度策略13用户登录失败锁定14用户口令周期策略和过期提醒15更改文件的默认权限16桌面配置16桌面配置目录part2日志与审计21审计策略21审计策略目录part3网络服务管理31最小服务配置目录part4接入管理41远程登录41远程登录41远程登录42限制外设接口42限制外设接口42限制外设接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档 Linux系统安全配置详解
1.为LILO增加开机口令 在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
boot=/dev/hdamap=/boot/mapinstall=/boot/boot.btime-out=60 #等待1分钟promptdefault=linuxpassword=#口令设置image=/boot/vmlinuz-2.2.14-12label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only
此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将 lilo.conf的文件属性设置为只有root可以读写。
# chmod 600 /etc/lilo.conf 当然,还需要进行如下设置,使lilo.conf的修改生效。 # /sbin/lilo -v 2.设置口令最小长度和 最短使用时间 口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。
3.用户超时注销 如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行: TMOUT=600 则所有用户将在10分钟无操作后自动注销。 4.禁止访问重要文件 文档 对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。
首先改变文件属性为600: # chmod 600 /etc/inetd.conf 保证文件的属主为root,然后还可以将其设置为不能改变: # chattr +i /etc/inetd.conf 这样,对该文件的任何改变都将被禁止。 只有root重新设置复位标志后才能进行修改: # chattr -i /etc/inetd.conf 5.允许和禁止远程访问 在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是:
(1)编辑hosts.deny文件,加入下列行: # Deny access to everyone. ALL: ALLALL 则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。 (2)编辑hosts.allow 文件,可加入下列行: #Just an example: ftp: 202.84.17.11 xinhuanet. 则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。
(3)设置完成后,可用tcpdchk检查设置是否正确。 6.限制Shell命令记录大小 默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
您可以编辑/etc/profile文件,修改其中的选项如下:HISTFILESIZE=30或HISTSIZE=30。 7.注销时删除命令记录 文档 编辑/etc/skel/.bash_logout文件,增加如下行: rm -f $HOME/.bash_history 这样,系统中的所有用户在注销时都会删除其命令记录。 如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history 文件,增加相同的一行即可。
8.禁止不必要的SUID程序 SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。 找出root所属的带s位的程序: # find / -type f \( -perm -04000 -o -perm -02000 \) -print less 禁止其中不必要的程序: # chmod a-s program_name 9.检查开机时显示的信息 Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令:
#dmesg >bootmessage 该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。 10.磁盘空间的维护 经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。
十招: 第1招:取消不必要的服务 早期的Unix版本中,每一个不同的网络服务都有一个服务程序在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。
由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。 文档 一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。
还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。
Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。
在Linux中有两种不同的服务型态:一种是仅在有需要时才执行的服务,如finger服务;另一种是一直在执行的永不停顿的服务。这类服务在系统启动时就开始执行,因此不能靠修改inetd来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服务的NFS服务器和提供NNTP新闻服务的news都属于这类服务,如果没有必要,最好取消这些服务。
第2招:限制系统的出入 在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。
与其他Unix操作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。
在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块,因此它是采用影子档案的最佳帮手。
此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和地点。
Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。
第3招:保持最新的系统核心 文档 由于Linux流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统核。
Kernel是Linux操作系统的核心,它常驻存,用于加载操作系统的其他部分,并实现操作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。
早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全,新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。
在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。
第4招:检查登录密码 设定登录密码是一项非常重要的安全措施,如果用户的密码设定不合适,就很容易被破译,尤其是拥有超级用户使用权限的用户,如果没有良好的密码,将给系统造成很大的安全漏洞。
在多用户系统中,如果强迫每个用户选择不易猜出的密码,将大大提高系统的安全性。但如果passwd程序无法强迫每个上机用户使用恰当的密码,要确码的安全度,就只能依靠密码破解程序了。
实际上,密码破解程序是黑客工具箱中的一种工具,它将常用的密码或者是英文字典中所有可能用来作密码的字都用程序加密成密码字,然后将其与Linux系统的/etc/passwd密码文件或/etc/shadow影子文件相比较,如果发现有吻合的密码,就可以求得明码了。
在网络上可以找到很多密码破解程序,比较有名的程序是crack。用户可以自己先执行密码破解程序,找出容易被黑客破解的密码,先行改正总比被黑客破解要有利。
第5招:设定用户账号的安全等级 除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。
在Linux系统上的tcpd中,可以设定允许上机和不允许上机人员的。其中,允许上机人员在/etc/hosts.allow中设置,不允许上机人员在/etc/hosts.deny中设置。设置完成之后,需要重新启动inetd程序才会生效。此外,Linux将自动把允许进入或不允许进入的结果记录到/rar/log/secure文件中,系统管理员可以据此查出可疑的进入记录。