Red Hat Linux服务器安全策略

Red Hat Linux服务器安全策略
Red Hat Linux服务器安全策略

Red Hat Linux服务器安全策略

一:启动信息安全

1、为单用户引导加上密码

在“/etc/lilo.conf”文件中加入三个参数:time-out,restricted,password。这三个参数可以使你的系统在启动lilo时就要求密码验证。

a):编辑lilo.conf文件(vi /etc/lilo.conf),假如或改变这三个参数:

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

time-out=00 #把这行该为00

prompt

Default=linux

##########加入这行

restricted

##########加入这行并设置自己的密码

password=

image=/boot/vmlinuz-2.2.14-12

label=linux

initrd=/boot/initrd-2.2.14-12.img

root=/dev/hda6

read-only

b):因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。

[root]# chmod 600 /etc/lilo.conf

c):更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。

[root]# /sbin/lilo -v

d):使用“chattr”命令使"/etc/lilo.conf"文件变为不可改变。

[root]# chattr +i /etc/lilo.conf

2、禁止Control-Alt-Delete 键盘关闭命令

在"/etc/inittab" 文件中注释掉下面这行:

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

为了使这项改动起作用,输入下面这个命令:

[root]# /sbin/init q

二、隐藏系统的信息

1、历史命令

Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。

bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。

(1)“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中可以保存的旧命令条数。把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数。编辑profile文件(vi /etc/profile),把下面这行改为:

HISTFILESIZE=30 //设为30

HISTSIZE=30 //不要把HISTSIZE置零,那样就不能使用上下健来调用历史命令了

这表示每个用户的“.bash_history”文件只可以保存30条旧命令。

(2)在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除。

三、口令和用户帐号管理

1、密码

(1)修改密码长度:

[boot]#vi /etc/login.defs/--把PASS_MIN_LEN 5 改为PASS_MIN_LEN 8

(2)使用“/usr/sbin/authconfig”工具打开shadow功能,对password加密。如果你想把已有的密码和组转变为shadow格式,可以分别使用“pwcov,grpconv”命令。

(3)系统会自动注销root,#vi /etc/profile/--在"HISTFILESIZE="后面加入:

TMOUT=3600 3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“.bashrc”文件中添加该值,以便系统对该用户实行特殊的自动注销时间。改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。

2、关闭或删除所有不用的缺省用户和组账户

禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。

为删除你系统上的用户,用下面的命令:

[root@deep]# userdel username

为删除你系统上的组用户帐号,用下面的命令:

[root@deep]# groupdel username

在终端上打入下面的命令删掉下面的用户。

[root@deep]# userdel adm

[root@deep]# userdel lp

[root@deep]# userdel sync

[root@deep]# userdel shutdown

[root@deep]# userdel halt

[root@deep]# userdel mail

如果你不用sendmail服务器,procmail.mailx,就删除这个帐号。

[root@deep]# userdel news

[root@deep]# userdel uucp

[root@deep]# userdel operator

[root@deep]# userdel games

如果你不用X windows 服务器,就删掉这个帐号。

[root@deep]# userdel gopher

[root@deep]# userdel ftp

如果你不允许匿名FTP,就删掉这个用户帐号。

===

打入下面的命令删除组帐号

[root@deep]# groupdel adm

[root@deep]# groupdel lp

[root@deep]# groupdel mail /如不用Sendmail服务器,删除这个组帐号

[root@deep]# groupdel news

[root@deep]# groupdel uucp

[root@deep]# groupdel games /如你不用X Windows,删除这个组帐号

[root@deep]# groupdel dip

[root@deep]# groupdel pppusers

[root@deep]# groupdel popusers /如果你不用POP服务器,删除这个组帐号

[root@deep]# groupdel slipusers

====

用下面的命令加需要的用户帐号

[root@deep]# useradd username

用下面的命令改变用户口令

[root@deep]# passwd username

用chattr命令给下面的文件加上不可更改属性。

[root@deep]# chattr +i /etc/passwd

[root@deep]# chattr +i /etc/shadow

[root@deep]# chattr +i /etc/group

[root@deep]# chattr +i /etc/gshadow

3、限制用户权限

(1)取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。[root]# rm -f /etc/security/console.apps/ /--是你要注销的程序名。

(2)不允许从不同的控制台进行root登陆

编辑"/etc/securetty"文件,在不需要登陆的TTY设备前添加“#”标志,来禁止从该TTY设备进行root登陆。

(3)禁止任何人通过su命令改变为root用户

su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。

[boot]#vi /etc/pam.d/su

########在开头添加下面两行:

auth sufficient /lib/security/pam_rootok.so debug

auth required /lib/security/Pam_wheel.so group=wheel

这表明只有"wheel"组的成员可以使用su命令成为root用户。你可以把用户添加到“wheel”组,以使它可以使用su命令成为root用户。

然后,如果你希望用户admin能su作为root.就运行下面的命令。

[root@deep]# usermod -G10 admin

4、禁止不使用的SUID/SGID程序

如果一个程序被设置成了SUID root,那么普通用户就可以以root身份来运行这个程序。网管应尽可能的少使用SUID/SGID 程序,禁止所有不必要的SUID/SGID程序。

查找root-owned程序中使用's'位的程序:

[root]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {} ;

用下面命令禁止选中的带有's'位的程序:

[root]# chmod a-s [program]

四、关闭不必要的服务或端口

1、阻止你的系统响应任何从外部/内部来的ping请求。

既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。

你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。

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

五、关键文件或目录权限

1、对于系统中的某些关键性文件如passwd、passwd.old、passwd._、shadow、shadown._,inetd.conf、services和lilo.conf 等可修改其属性,防止意外修改和被普通用户查看。如将inetd 文件属性改为600 :

# chmod 600 /etc/inetd.conf

这样就保证文件的属主为root,然后还可以将其设置为不能改变:

# chattr +i /etc/inetd.conf

这样,对该文件的任何改变都将被禁止

# chattr -i /etc/inetd.conf

取消禁止更修属性

2、给"/etc/rc.d/init.d" 下的文件设置权限

给执行或关闭启动时执行的程序的所有目录设置许可权限

[root]# chmod -R 700 /etc/rc.d/init.d/*

这样便仅有root可以读、写或执行上述所有脚本文件。

六、安全设置

1、TCP_WRAPPERS

(1)#vi /etc/hosts.deny,加入

# Deny access to everyone.

ALL: ALL@ALL, PARANOID

这表明除非该地址在允许访问的主机列表中,否则阻塞所有的服务和地址。

(2)#vi /etc/hosts.allow,加入允许访问的主机列表,如:

ftp: 202.54.15.99 https://www.360docs.net/doc/536715894.html,

(3)# tcpdchk /--检查你的tcp wrapper设置

2、防止ping

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

然后把此命令放到/etc/rc.local中,每次启动自动执行.

3、禁止提供finger 服务

使用finger命令可以显示本地或远程系统中目前已登录用户的详细信息,黑客可以利用这些

信息,增大侵入系统的机会。为了系统的安全,最好禁止提供finger服务。如下:

从/usr/bin下删除finger 命令;

如果要保留finger服务,应将finger文件换名,或修改其权限,使得只允许root用户执行finger命令

4、防止DoS攻击

对系统所有的用户设置资源限制可以防止DoS类型攻击(denial of service attacks)。如最大进程数,内存数量等。编辑/etc/security/limits.con加如下几行:

* hard core 0

* hard rss 5000

* hard nproc 20

编辑/etc/pam.d/login文件检查这一行是否存在。

session required /lib/security/pam_limits.so

上面的命令禁止调试文件,限制进程数为50,且限制内存使用为5MB。

七、其它

1、使用安全工具软件或防火墙保护系统:

2、防范网络嗅探:

关闭不必要的服务和服口,尤其是PING。很多网络扫描工具都是使用PING来探测主机状态的,关掉PING后,会认为主机不可到达了。

现在的工具可能又升级了。

3、对正在进行的攻击

终止正进行的攻击假如你在检查日志文件时,发现了一个用户从你未知的主机登录,而且你确定此用户在这台主机上没有账号,此时你可能正被攻击。首先你要马上锁住此账号(在口令文件或shadow文件中,此用户的口令前加一个Ib或其他的字符)。

查看此用户的历史记录,查看其他用户是否也被假冒,攻击音是否拥有根权限。杀掉此用户的所有进程并把此主机的ip地址掩码加到文件hosts.deny中。

linux安全策略

[摘要] Linux系统使用越来越广泛,关系Linux的安全越来越受到人们的重视,本文结合笔者在Linux系统安全管理方面的一些经验体会,从账户、密码策略、文件权限,日志管理、远程访问等5个方面,对linux系统安全谈谈自己的体会,供大家参考。 一、引言随着Internet/Intranet网络的日益普及,Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入Linux系统,或者盗取Linux系统上的重要信息。因此,详细分析Linux 系统的安全机制,找出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。针对Linux的基本安全防护,笔者这里稍做介绍。二、Linux系统的安全策略1.Linux系统的用户账号策略管理员的工作中,相当重要的一环就是管理账号。在管理Linux 主机的账号时,一个最重要的方面就是确保每一个UID仅仅使用一次。另外就是设置有限的登陆次数来预防无休止的登陆攻击,通过编辑/etc/pam.d/system-auth,添加下面两句可以设置账户最多连续登陆5次,超过5次账户将被锁定,只有管理员才能帮助解锁。auth required pam_tally.so deny=5 account required pam_tally.so 2.密码策略要求(1)口令时效和口令长度的设置。口令时效和口令长度是一种系统机制,用于强制口令在特定的时间长度后失效。对用户来说,

Linux系统安全加固手册

密级:商业秘密LINUX评估加固手册 安氏领信科技发展有限公司 二〇一五年十二月

目录 1、系统补丁的安装 (3) 2、帐户、口令策略的加固 (3) 2.1、删除或禁用系统无用的用户 (3) 2.2、口令策略的设置 (4) 2.3、系统是否允许ROOT远程登录 (5) 2.4、ROOT的环境变量设置 (5) 3、网络与服务加固 (5) 3.1、RC?.D中的服务的设置 (5) 3.2、/ETC/INETD.CONF中服务的设置 (6) 3.3、NFS的配置 (8) 3.4、SNMP的配置 (9) 3.5、S ENDMAIL的配置 (9) 3.6、DNS(B IND)的配置 (9) 3.7、网络连接访问控制的设置 (10) 4、信任主机的设置 (11) 5、日志审核的设置 (11) 6、物理安全加固 (11) 7、系统内核参数的配置 (13) 8、选装安全工具 (14)

1、系统补丁的安装 RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH 网站上发布的升级软件对照,检查其中的变化。 通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下: https://www.360docs.net/doc/536715894.html,/corp/support/errata/ rpm -qa 查看系统当前安装的rpm包 rpm -ivh package1安装RPM包 rpm -Uvh package1升级RPM包 rpm -Fvh package1升级RPM包(如果原先没有安装,则不安装) 2、帐户、口令策略的加固 2.1、删除或禁用系统无用的用户 询问系统管理员,确认其需要使用的帐户 如果下面的用户及其所在的组经过确认不需要,可以删除。 lp, sync, shutdown, halt, news, uucp, operator, games, gopher 修改一些系统帐号的shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,检查并取消/bin/bash或者/bin/sh等Shell变量。可以在/etc/passwd中将它们的shell变量设为/bin/false或者/dev/null等。也可以通过passwd groupdel 来锁定用户、删除组。 passwd -l user1锁定user1用户 passwd -u user1解锁user1用户 groupdel lp 删除lp组。

Linux 防火墙的功能及安全策略

Linux 防火墙的功能及安全策略 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。因此,防火墙的功能有以下几点: ●防火墙是网络安全的屏障 一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS 协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。 ●防火墙可以强化网络安全策略 通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。 ●对网络存取和访问进行监控审计 如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。另外,收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。 ●防止内部信息的外泄 通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。

实验一:Linux用户管理与安全策略

操作系统安全Operating System Security Linux系统安全实验讲义 2013年12版本

实验一:Linux用户管理与安全策略1实验目的 ●通过实验熟悉Linux 环境下的用户操作管理; ●了解PAM工作原理和配置方法; ●掌握Linux 操作系统中常用用户安全策略配置; 2实验原理 2.1用户与用户组的基本体系 ●Linux提供了安全的用户名和口令文件保护以及强大的口令设置规 则,并对用户和用户组的权限进行细粒度的划分。 ●Linux 系统的用户和用户组的信息分别保存在 ?/etc/shadow ?/etc/passwd ?/etc/group ?/etc/gshadow 等几个文件中, ●/etc/passwd文件是系统用户认证访问权限的第一个文件。 文件的行格式如下:

login_name:password:uid:gid:user info: home_directory:default_shell ?其中: ?login_name:用户帐户,可以用1~8个字符表示,区分大小写, 避免使用数字开头; ?password:加密后的用户登录系统的密码; ?uid:系统指定给每个用户的唯一数值,即用户标识符,32位系统 中标识符在0~60 000之间。; ?gid:用户组标识; ?user info:用户注释信息(如用户身份、电话号码、特性等); ?home_directory:用户的主目录(家目录); ?default_shell:用户登录系统时默认执行的Shell程序,通常为 /bin/sh,表示执行Bourne Shell。如果是Korn Shell则用 /usr/bin/ksh。如果是C Shell则用/usr/bin/csh。如果是TC Shell 则用/usr/bin/tcsh(较少使用)。如果是Bash Shell则用 /usr/bin/bash(Linux系统) 特别说明: Linux 系统支持以命令行或窗口方式管理用户和用户组,本实验要求使用命令行方式实现,窗口方式为学生自行了解和掌握内容。 2.2PAM安全验证机制 详见课程讲义和教学课件

Linux安全策略配置

Linux安全策略配置

目录 一、关闭不必要的服务 (3) 二、控制使用开放的服务的用户 (4) 三、"/ETC/EXPORTS"文件设置 (6) 四、禁止使用控制台程序 (7) 五、"/ETC/ALIASES"文件 (8) 六、使系统对PING没有反应 (9) 七、不要显示系统提示信息 (10) 八、"/ETC/HOST.CONF"文件 (10) 九、防止源路由 (11) 十、使TCP SYN COOKIE保护生效 (12) 十一、特殊的帐号 (12) 十二、防止任何人都可以用SU命令成为ROOT (14) 十三、把RPM程序转移到一个安全的地方,并改变默认的访问许可 (15) 十四、登录SHELL (16) 十五、改变"/ETC/RC.D/INIT.D/"目录下的脚本文件的访问许可 (17) 十六、"/ETC/RC.D/RC.LOCAL"文件 (17)

一、关闭不必要的服务 Linux的服务分为两种,一种是由inetd超级服务器来启动的,如:ftp、telnet等;对于这些服务来说,系统并不总是运行telnetd、 ftpd等服务进程,而是由inetd进程监听这些服务的服务端口,一旦有服务请求到达就启动对应的服务进程(如:telnetd等)来提供服务。另外一种是独立的服务器,系统一直运行有对应的服务进程。 关闭这两种服务的方法是不同的,对于inetd启动的进程: inetd超级服务器的配置文件为/etc/inetd.conf,该文件指示了inetd应该监听哪些服务请求,并在请求时启动对应的服务。因此只要通过编辑 /etc/inetd.conf文件就可以实现关闭不需要的服务,例如希望关闭pop3服务,则在编辑/etc/inetd.conf文件以前文件中有如下的内容: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d 要关闭pop3服务则在该行前添加注释符即可: #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d 通过编辑该文件,实现关闭不需要的服务(例如我的系统我仅仅开放了telnet和ftp服务)以后,则需要重新启动inetd超级服务器。首先找到inetd 的进程号: [root@aid /etc]# ps ax|grep inetd 358 ? S 0:00 inetd 然后重新启动inetd服务器: [root@aid /etc]# kill -HUP 358 最后因为inetd.conf应该不允许普通用户读写,因此设置其访问权限为600: chmod 600 /etc/inetd.conf 而且该文件应该不被任何用户修改,包括root用户。因此为了防止用户错误的修改该文件,为该文件添加不可修改位: chattr i /etc/inetd.conf 对于独立服务器,则需要通过/usr/sbin/ntsysv命令来修改:

Red Hat Linux服务器安全策略详解之MRTG安装配置

17.1 安装配置MRTG监控Linux网络 17.1.1 SNMP简介和MRTG监控过程 1.SNMP简介 SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP可以提高网络管理员管理网络的效率,发现并解决网络问题,以及规划网络增长。通过SNMP接收随机消息(及事件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP,然而事实并不是这样的。SNMP被设计成与协议无关,所以它可以在IP, IPX, AppleTalk, OSI,以及其他用到的传输协议上被使用。 SNMP运行在UDP之上,它利用的是UDP的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息--查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告--陷阱消息,如Trap等。SNMP提供三类操作,分别为Get、Set和Trap。 2.MRTG监控过程 服务器的操作系统多种多样,使用较多的一般是UNIX类或Windows类操作系统,它们都支持SNMP。例如,对于Windows系统而言,只要增加"管理和监控工具"中的Windows组件,就有了对SNMP的支持。 服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告。这就是MRTG简单的监控过程。 17.1.2 Linux下MRTG的安装与配置 MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控。 下面以Red Hat Linux 9.0为例介绍MRTG的安装与配置。 1.安装基础软件包 要安装MRTG软件包必须首先安装gcc、perl、gd、libpng、zlib、freetype等软件包。 2.安装配置net-snmp 光盘里有net-snmp的安装RPM包,安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合MRTG工作。

Red Hat Linux服务器安全策略

Red Hat Linux服务器安全策略 一:启动信息安全 1、为单用户引导加上密码 在“/etc/lilo.conf”文件中加入三个参数:time-out,restricted,password。这三个参数可以使你的系统在启动lilo时就要求密码验证。 a):编辑lilo.conf文件(vi /etc/lilo.conf),假如或改变这三个参数: boot=/dev/hda map=/boot/map install=/boot/boot.b time-out=00 #把这行该为00 prompt Default=linux ##########加入这行 restricted ##########加入这行并设置自己的密码 password= image=/boot/vmlinuz-2.2.14-12 label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only b):因为"/etc/lilo.conf"文件中包含明文密码,所以要把它设置为root权限读取。 [root]# chmod 600 /etc/lilo.conf c):更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。 [root]# /sbin/lilo -v d):使用“chattr”命令使"/etc/lilo.conf"文件变为不可改变。 [root]# chattr +i /etc/lilo.conf 2、禁止Control-Alt-Delete 键盘关闭命令 在"/etc/inittab" 文件中注释掉下面这行: #ca::ctrlaltdel:/sbin/shutdown -t3 -r now 为了使这项改动起作用,输入下面这个命令: [root]# /sbin/init q 二、隐藏系统的信息 1、历史命令 Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样可以使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。 bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。

linux服务器的安全与备份策略

Linux服务器的日常运维安全与备份一.网络基础 首先当服务器的linux系统搭建起来以后,我们首先需要考虑的就是连接上Internet了,这就需要我们通过网卡来实现这个目的。一块网卡足以提供服务器的链接至网络的需求。但是为了服务器日常运行的稳定性,这里还是建议采用双网卡绑定的方案。 双网卡绑定的话有一般有两种工作模式: 1.主备模式:,当一个网络接口失效时(例如主交换机掉电等),不会出现网络中断,系统会 按照/etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到 了失效保护的功能. 2.负载均衡工作模式:他能提供两倍的带宽,在这种情况下出现一块网卡失效,仅仅会是 服务器出口带宽下降,也不会影响网络使用. 建议可以根据实际需求在这两种模式下进行二选一 二.linux服务器基本的安全配置 一、Linux系统的安全策略 1.仔细设置每个内部用户的权限 为了保护Linux网络系统的资源,在给内部网络用户开设帐号时,要仔细设置每个内部用户的权限,一般应遵循“最小权限”原则,也就是仅给每个用户授予完成他们特定任务所必须的服务器访问权限,确保用户口令文件/etc/shadow的安全 2.谨慎设置登录口令 对于网络系统而言,口令是比较容易出问题的地方,应告诉用户在设置口令时要使用安全口令(在口令序列中使用非字母,非数字等特殊字符)并适当增加口令的长度(大于6个字符)。要保护好/etc/passwd和/etc/shadow这两个文件的安全,不让无关的人员获得这两个文件,这样黑客利用John等程序对/etc/passwd和/etc/shadow文件进行了字典攻击获取用户口令的企图就无法进行。要定期用John等程序对本系统的/etc/passwd和/etc/shadow文件进行模拟字典攻击,一旦发现有不安全的用户口令,要强制用户立即修改。 3.加强对系统运行的监控和记录 保证对整个网络系统的运行状况进行监控和记录,这样通过分析记录数据,可以发现可疑的网络活动,并采取措施预先阻止今后可能发生的入侵行为。如果进攻行为已经实施,则可以利用记录数据跟踪和识别侵入系统的黑客。 4.合理划分子网和设置防火墙 如果内部网络要进入Internet,必须在内部网络与外部网络的接口处设置防火墙,以确保内部网络中的数据安全。对于内部网络本身,为了便于管理,合理分配IP地址资源,应该将内部网络划分为多个子网,这样做也可以阻止或延缓黑客对整个内部网络的入侵。

linux安全策略

linux安全策略 密码策略: 1、密码有效期 /etc/login.defs中 PASS_MAX_DAYS180 PASS_MIN_DAYS0 PASS_MIN_LEN12 PASS_WARN_AGE15 UMASK 027 USERGROUPS_ENAB yes ENCRYPT_METHOD SHA512 2、密码复杂度检查 /etc/security/pwquality.conf minlen=10 minclass=3 3、密码错误尝试次数 /etc/ssh/sshd_config中 取消MaxAuthTries注释符号#并设置MaxAuthTries 3 4、检查密码重用是否受限制 在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。 SSH策略: 1、SSH空闲超时退出时间 /etc/ssh/sshd_config中 ClientAliveInterval 600 ClientAliveCountMax 2 2、禁止SSH空密码用户登录 /etc/ssh/sshd_config中 PermitEmptyPasswords no 3、调整SSH Loglevel /etc/ssh/sshd_config中 LogLevel INFO

文件策略: 1、访问控制配置文件权限设置 运行如下命令: chown root:root /etc/hosts.allow chown root:root /etc/hosts.deny chmod 644 /etc/hosts.deny 2、设置用户权限配置文件的权限 运行如下命令: chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow chmod 0644 /etc/group chmod 0644 /etc/passwd chmod 0400 /etc/shadow chmod 0400 /etc/gshadow chmod 644 /etc/hosts.allow 其他策略: 1、开启地址空间布局随机化 /etc/sysctl.conf中 kernel.randomize_va_space = 2 并运行命令: sysctl -w kernel.randomize_va_space=2 2、开启日志服务 运行命令启用rsyslog服务 systemctl enable rsyslog systemctl start rsyslog

Linux服务器主机安全方案

如某项主机安全要求涉及到系统配置和服务状态的更改,则需要依次执行如下操作 1)查看和记录相关服务的初始状态 2)备份相关的系统配置 3)更改系统配置和服务状态 4)生成恢复系统配置和服务状态的命令或shell脚本。 操作之前先备份系统的如下文件: /etc/login.defs /etc/passwd /etc/shadow /etc/pam.d/system-auth /etc/ssh/sshd_config 1.1 身份鉴别 1.1.1 a) 是否对登录操作系统和数据库系统的用户进行身份标识和鉴别 登录操作系统和数据库系统,均需要通过用户名和密码进行验证 1.1.2 b) 操作系统和数据库系统管理用户身份标识是否具有不易被冒用的特点,口令是否有复杂度要求并定期更换 1. 口令复杂度 口令必须具备采用3种以上字符、长度不少于8位并定期更换; #vi /etc/pam.d/system_auth password requisite pam_cracklib.so minlen=8 ucredit=1 lcredit=1 dcredit=1 ocredit=1 意思为最少有1个大写字母,1个小写字符,1个数字, 1个符号 2. 口令有效期 # vi /etc/login.defs PASS_MAX_DAYS 60 1.1.3 c) 是否启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施 设置6次登陆失败后锁定帐户,锁定时间3000秒 # vi /etc/pam.d/system-auth auth required pam_tally.so onerr=fail deny=6 unlock_time=3000 (放在system-auth文件的第一行,若对root用户起作用,加上even_deny_root root_unlock_time=3000) 解锁用户 faillog -u <用户名》 -r 1.1.4 d) 当对服务器进行远程管理时,是否采取必要措施,防止鉴别信息在网络传输过程中被窃听 远程管理时应启用SSH等管理方式,加密管理数据,防止被网络窃听。

Linux服务器安全策略分析

第一章Linux网络基础与Linux服务器的安全威胁 1.1.1Linux网络结构的特点 1.1 Linux网路基础 1.1.1Linux网络结构的特点 Linux在服务器领域已经非常成熟,其影响力日趋增大。Linux的网络服务功能非常强大,但是由于Linux的桌面应用和Windows相比还有一定差距,除了一些Linux专门实验室之外,大多数企业在应用Linux系统时,往往是Linux和Windows(或UNIX)等操作系统共存形成的异构网络。 在一个网络系统中,操作系统的地位是非常重要的。Linux网络操作系统以高效性和灵活性而著称。它能够在PC上实现全部的UNIX特性,具有多任务、多用户的特点。 Linux 的组网能力非常强大,它的TCP/IP代码是最高级的。Linux不仅提供了对当前的TCP/IP协议的完全支持,也包括了对下一代 Internet协议IPv6的支持。Linux核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。Linux的网络实现是模仿 FreeBSD的,它支持FreeBSD的带有扩展的Sockets(套接字)和TCP/IP协议。它支持两个主机间的网络连接和Sockets通信模型,实现了两种类型的Sockets:BSD Sockets和INET Sockets。它为不同的通信模型提供了两种传输协议,即不可靠的、基于消息的UDP传输协议和可靠的、基于流的TCP传输协议,并且都是在IP网际协议上实现的。INET Sockets是在以上两个协议及IP网际协议之上实现的,它们之间的关系如图1-1所示。 图1-1 Linux网络中的层

掌握OSI网络模型、TCP/IP模型及相关服务对应的层次对于理解Linux网络服务器是非常重要的。 1.1.2 TCP/IP四层模型和OSI七层模型 表1-1是 TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP 四层概念模型对应,然后将各种网络协议归类。 表1-1 TCP/IP四层模型和OSI七层模型对应表 1.网络接口 网络接口把数据链路层和物理层放在一起,对应TCP/IP概念模型的网络接口。对应的网络协议主要是:Ethernet、FDDI和能传输IP数据包的任何协议。 2.网际层 网络层对应Linux TCP/IP概念模型的网际层,网络层协议管理离散的计算机间的数据传输,如IP协议为用户和远程计算机提供了信息包的传输方法,确保信息包能正确地到达目的机器。这一过程中,IP和其他网络层的协议共同用于数据传输,如果没有使用一些监视系统进程的工具,用户是看不到在系统里的IP的。网络嗅探器 Sniffers是能看到这些过程的一个装置(它可以是软件,也可以是硬件),它能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因此网络嗅探器Sniffers会对安全造成威胁。重要的网络层协议包括ARP(地址解析协议)、ICMP(Internet控制消息协议)和IP协议(网际协议)等。 3.传输层 传输层对应Linux TCP/IP概念模型的传输层。传输层提供应用程序间的通信。其功能包括:格式化信息流;提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认信息,

基于Linux系统的安全策略

基于Linux系统的安全策略 [摘要] Linux系统使用越来越广泛,关系Linux的安全越来越受到人们的重视,本文结合笔者在Linux系统安全管理方面的一些经验体会,从账户、密码策略、文件权限,日志管理、远程访问等5个方面,对linux系统安全谈谈自己的体会,供大家参考。 [关键词] LINUX 账号密码日志 一、引言 随着Internet/Intranet网络的日益普及,Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。 Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入Linux系统,或者盗取Linux 系统上的重要信息。因此,详细分析Linux系统的安全机制,找出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。针对Linux的基本安全防护,笔者这里稍做介绍。 二、Linux系统的安全策略 1.Linux系统的用户账号策略 管理员的工作中,相当重要的一环就是管理账号。在管理Linux 主机的账号时,一个最重要的方面就是确保每一个UID仅仅使用一次。 另外就是设置有限的登陆次数来预防无休止的登陆攻击,通过编辑/etc/pam.d/system-auth,添加下面两句可以设置账户最多连续登陆5次,超过5次账户将被锁定,只有管理员才能帮助解锁。 auth required pam_tally.so deny=5 account required pam_tally.so 2.密码策略要求 (1)口令时效和口令长度的设置。口令时效和口令长度是一种系统机制,用于强制口令在特定的时间长度后失效。对用户来说,这可能带来了一些麻烦,但是它确保了口令会定期进行更改,是一项很好的安全措施。默认情况下,绝大多数的Linux版本并没有打开口令时效,不过要想打开却非常简单。通过编辑/etc/login.defs,你可以指定几个参数,来设置口令实效和口令长度的默认设定: PASS_MAX_DAYS99999 PASS_MIN_DAYS 0 PASS_MIN_LEN5 PASS_WARN_AGE7 当设置口令时效的天数为99999时,实际上相当于关闭了口令时效。一般设定为90天或者更短时间来更改一次。PASS_MIN_DAYS参数则设定了在本次密码修改后,下次允许更改密码之前所需的最少天数。PASS_MIN_LEN是指密码设置的最小长度,一般定义为8位以上。PASS_WARN_AGE的设定则指明了在口令失效前多少天开始通知用户更改密码(一般在用户刚刚登陆系统时就会收到警告通知)。 (2)控制密码使用频率。控制适度的密码重用频率,也可以为密码的安全策略提供良好

Linux服务器安全策略详解

Linux服务器安全策略详解 21世纪IT人才网热门招聘职位 网络工程师高级网络工程师布线工程师 网络维护工程师硬件工程师IT工程师上海英孚教育急聘 系统管理员初级程序员软件开发工程师 数据库工程师高级项目经理界面设计经理 IT专家网曹江华2009-5-14 保存本文推荐给好友收藏本页 欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入第一章 Linux网络基础与Linux服务器的安全威胁 1.1 Linux网络基础 1.1.1 Linux网络结构的特点 【IT专家网独家】Linux在服务器领域已经非常成熟,其影响力日趋增大。Linux的网络服务功能非常强大,但是由于Linux的桌面应用和Windows相比还有一定差距,除了一些Linux专门实验室之外,大多数企业在应用Linux系统时,往往是Linux和Windows(或UNIX)等操作系统共存形成的异构网络。 在一个网络系统中,操作系统的地位是非常重要的。Linux网络操作系统以高效性和灵活性而著称。它能够在PC上实现全部的UNIX特性,具有多任务、多用户的特点。Linux的组网能力非常强大,它的TCP/IP代码是最高级的。Linux 不仅提供了对当前的TCP/IP协议的完全支持,也包括了对下一代Internet协议IPv6的支持。Linux内核还包括了IP防火墙代码、IP防伪、IP服务质量控制及许多安全特性。Linux的网络实现是模仿FreeBSD的,它支持FreeBSD的带有扩展的Sockets(套接字)和TCP/IP协议。它支持两个主机间的网络连接和Sockets 通信模型,实现了两种类型的Sockets:BSD Sockets和INET Sockets。它为不同的通信模型提供了两种传输协议,即不可靠的、基于消息的UDP传输协议和可靠的、基于流的TCP传输协议,并且都是在IP网际协议上实现的。INET Sockets 是在以上两个协议及IP网际协议之上实现的,它们之间的关系如图1-1所示。

Linux下常用安全策略设置方法

Linux下常用安全策略设置方法 1. 禁止系统响应任何从外部/内部来的ping请求 攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态,如果能够ping通某个主机或者IP,那么攻击者就认为此系统处于活动状态,继而进行攻击或破坏。如果没有人能ping通机器并收到响应,那么就可以大大增强服务器的安全性,linux下可以执行如下设置,禁止ping请求: [root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all 默认情况下“icmp_echo_ignore_all”的值为“0”,表示响应ping操作。 可以加上面的一行命令到/etc/rc.d/rc.local文件中,以使每次系统重启后自动运行。2.禁止Control-Alt-Delete组合键重启系统 在linux的默认设置下,同时按下Control-Alt-Delete键,系统将自动重启,这是很不安全的,因此要禁止Control-Alt-Delete组合键重启系统,只需修改/etc/inittab文件:[root@localhost ~]#vi /etc/inittab 找到此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now 在之前加上“#”然后执行: [root@localhost ~]#telinit q 3.限制Shell记录历史命令大小 默认情况下,bash shell会在文件$HOME/.bash_history中存放多达1000条命令记录(根据系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。这么多的历史命令记录,肯定是不安全的,因此必须限制该文件的大小。 可以编辑/etc/profile文件,修改其中的选项如下:HISTSIZE=30 表示在文件$HOME/.bash_history中记录最近的30条历史命令。如果将“HISTSIZE”设置为0,则表示不记录历史命令,那么也就不能用键盘的上下键查找历史命令了。4.删除系统默认的不必要用户和组 Linux提供了各种系统账户,在系统安装完毕,如果不需要某些用户或者组,就要立即删除它,因为账户越多,系统就越不安全,越容易受到攻击。删除系统不必要的用户用下面命令[root@localhost ~]# userdel username 删除系统不必要的组用如下命令: [root@localhost ~]# groupdel groupname Linux系统中可以删除的默认用户和组有: 删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等。删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等。5. 关闭selinux SELinux是Security-Enhanced Linux的简称,是一种内核强制访问控制安全系统,目前SELinux 已经集成到Linux 2.6内核的主线和大多数Linux发行版上,由于SELinux与现有Linux应用程序和Linux内核模块兼容性还存在一些问题,因此建议初学者先关闭selinux,等到对linux

Linux安全策略设置

RHEL密码设置策略问题 1、当一个用户试图多次登录失败后,如何锁住这个用户? PAM(可插入的验证模块)的pam_tally模块可以跟踪不成功的登录次数。当到达一个预先设定的限制值后,禁止这个用户的帐号。也就是通常讲的锁住用户。 为了使一个用户尝试登录4次失败,锁住这个用户,需要在/etc/pam.d/system- auth文件中加入下面两行: auth required /lib/security/pam_tally.so nerr=fail no_magic_root account required /lib/security/pam_tally.so deny=3 no_magic_root reset 下面是上面使用的选项的具体描述: * nerr=fail 如果一些奇怪的事情发生,例如不能打开文件,这个决定了模块应该如何反应。 * no_magic_root 表示如何这个模块是由一个uid=0的用户触发,那么计数器就增加。 系统管理员应该使用这个选项用于例如:telnet/rsh/login之类的服务。 * deny=3 这个选项表明如果这个用户登录3次失败,就拒绝访问。 * reset 这个选项指示模块对成功的实体,应复位到0。 下面是一个实现这种策略的一个完全的例子: auth required /lib/security/pam_env.so auth required /lib/security/pam_tally.so nerr=fail no_magic_root auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so

linux安全策略

本文由麝成香贡献 doc文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。1:磁盘分区合理性,把分区设置成只读。如果是新安装系统,对磁盘分区应考虑安全性:根目录(/)、用户目录(/home)、临时目录(/tmp)和/var 目录应分开到不同的磁盘分区;以上各目录所在分区的磁盘空间大小应充分考虑,避免因某些原因造成分区空间用完而导致系统崩溃;2:禁止无用的网络服务。编辑/etc/inetd.conf 禁止以下服务:ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth, etc. 除非你真的想用他。4:不显示操作系统和版本信息。(远程)(本地)不要显示出操作系统和版本信息。如果你希望某个人远程登录到你的服务器时不要显示操作系统和版本信息,你能改动/etc/inetd.conf 中的一行象下面这样:telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd ?h 如果你希望某个人本地登陆时不显示linux 版本名,内核版本名和服务器主机名。你能,编辑下面文件。/etc/rc.d/rc.local 放#在下面的行前面:# This will overwrite /etc/issue at every boot. So, make any changes you # want to make to /etc/issue here or you will lose them when you reboot. #echo "" > /etc/issue #echo "$R" >> /etc/issue #echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue #cp -f /etc/issue /etc/https://www.360docs.net/doc/536715894.html, #echo >> /etc/issue [root@kiss]# rm -f /etc/issue [root@kiss]# rm -f /etc/https://www.360docs.net/doc/536715894.html, [root@kiss]# touch /etc/issue [root@kiss]# touch /etc/https://www.360docs.net/doc/536715894.html, 5:设置root 能登陆的控制台该文件指定了允许root 登录的tty 设备,/etc/securetty 被/bin/login 程式读取,他的格式是一行一个被允许的名字列表,如你能编辑/etc/securetty 且注释出下面的行。tty1 #tty2 #tty3 #tty4 #tty5 #tty6 #tty7 #tty8 -意味着root 仅仅被允许在tty1 终端登录。6:删除无用的系统用户当你第一次装上系统时系统会建立非常多的内制用户,一般情况下用处不大,你有的帐号越多,就越容易受到攻击。 为删除你系统上的用户,用下面的命令:[root@kiss]# userdel username 为删除你系统上的组用户帐号,用下面的命令:[root@kiss]# groupdel username 在终端上打入下面的命令删掉下面的用户。root@kiss]# userdel adm [root@kiss]# userdel lp [root@kiss]# userdel sync [root@kiss]# userdel shutdown [root@kiss]# userdel halt [root@kiss]# userdel mail 如果你不用sendmail 服务器,procmail.mailx,就删除这个帐号。[root@kiss]# userdel news [root@kiss]# userdel uucp [root@kiss]# userdel operator [root@kiss]# userdel games 如果你不用X windows 服务器,就删掉这个帐号。[root@kiss]# userdel gopher [root@kiss]# userdel ftp 如果你不允许匿名FTP,就删掉这个用户帐号。打入下面的命令删除组帐号[root@kiss]# groupdel adm [root@kiss]# groupdel lp [root@kiss]# groupdel mail 如不用Sendmail 服务器,删除这个组帐号[root@kiss]# groupdel news [root@kiss]# groupdel uucp [root@kiss]# groupdel games 如你不用X 视窗系统,删除这个组帐号[root@kiss]# groupdel dip [root@kiss]# groupdel pppusers [root@kiss]# groupdel popusers 如果你不用POP 服务器,删除这个组帐号[root@kiss]# groupdel slipusers 7:给重要文件加入不可更改属性用chattr 命令给下面的文件加上不可更改属性。[root@kiss]# chattr +i /etc/passwd [root@kiss]# chattr +i /etc/shadow [root@kiss]# chattr +i /etc/group [root@kiss]# chattr +i /etc/gshadow [root@kiss]# chattr +i /etc/services chattr 命令不能保护/、/dev、/tmp、/var 目录 8:禁止使用su 命令如果你不想所有人能够su 作为root,你能编辑/etc/pam.d/su 加下面的行:auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=isd 意味着仅仅isd 组的用户能su 作为root. 然后,如果你希望用户admin 能su 作为root.就运行下面的命令[root@kiss]# usermod -G10 admin 9:禁止Control-Alt-Delete 重启动机器命令[root@kiss]# vi /etc/inittab ca::ctrlaltdel:/sbin/shutdown -t3 -r now #ca::ctrlaltdel:/sbin/shutdown -t3 -r now [root@kiss]# /sbin/init 10:设置目录权限新设置/etc/rc.d/init.d/目录下所有文件的许可权限[root@kiss]# chmod -R 700 /etc/rc.d/init.d/* 仅仅

相关主题
相关文档
最新文档