2023年LINU安全配置手册_第1页
2023年LINU安全配置手册_第2页
2023年LINU安全配置手册_第3页
2023年LINU安全配置手册_第4页
2023年LINU安全配置手册_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linnx安全配置手册

综述

本文档以典型安装的RedHatLinux为对象撰写而成,其他版本均基本类似,根据具体情况

进行适当修改即可。

文档中的操作需要以root用户登录至控制台进行,不推荐使用网络远程的方式进行补丁及

配置修改等加固操作。

部分操作需要重新启动服务器才会生效,注意某些数据库等应用需要先停止应用,然后才可

以重新启动。

加固之前首先应对系统中的重要文件及可能修改的文件进行备份,可参照使用以下脚本:

forfilein/ctc/inctd.conf/ctc/hosts.cquiv\

/etc/ftpusers/etc/passwd/etc/shadow/etc/hosts.allow\

/etc/hosts.deny/etc/proftpd.conf\

/etc/rc.d/init.d/functions/etc/inittab\

/etc/sysconfig/sendmaiI/etc/security/limits.conf\

Zetc/exports/etc/sysctl.conf/ctc/syslog.conf\

/etc/fstab/etc/security.console.perms/root/.rhosts\

/root/.shosts/etc/shosts.equiv/etc/X11/xdm/Xservers\

/ctc/Xl1/xinit/xscrvcrrc/ctc/Xl1/gdm/gdm.conf\

/etc/cron.allow/etc/cron.deny/elc/at.allow\

/etc/at.deny/etc/crontab/etc/motd/etc/issue\

/usr/share/config/kdm/kdmrc/etc/X11/gdm/gdm.conf\

/elc/securetty/etc/security/access.conf/etc/lilo.conf\

Zetc/grub.conf/etc/login.dcfs/ctc/group/etc/profiie\

/etc/csh.login/etc/csh.cshrc/etc/bashrc\

/etc/ssh/sshd_config/etc/ssh/ssh_config\

/etc/cups/cupsd.conf/ctc/{,vsftpd/}vsftpd.conf\

/elc/logrota(e.conf/root/.bashre/root/.bash_proHle\

/root/.eshre/root/.teshre/ctc/vsftpd.ftpusers;do

[-f$file]&&/bin/cpSfile$file-preCIS

done

fordirin/etc/xinetd.d/etc/rc[0123456].d\

/var/spool/cron/etc/cron.*/3tc/logrotate.d/var/log\

Zctc/pam.d/ctc/skcl;do

[-d$dir1&&/bin/cp-r$dir$dir-preCIS

done

补丁

系统补丁

系统内核版本使用unamc-a查看。

软件版本和补丁使用rpm-qa查看。

使用up2date命令自动升级或去使用下载对应版本补丁手工单独安装。

其他应用补丁

除RedHat官方提供的系统补丁之外,系统也应对根据开放的服务和应用进行补丁,如

APACHE、PHP、OPENSSL、MYSQL等应用进行补丁。

具体升级方法:

首先确认机器上安装了gcc及必要的库文件。

然后去应用的官方网站下载对应的源代码包,如*.tar.gz

再解压

tarzxfv*.tar.gz

再根据使用情况对编译配置进行修改,或直接采用默认配置

cd*

./configure

再进行编译和安装

make

makeinstall

最小化xinetd网络服务

停止默认服务

说明:

Xinetd是旧的inetd服务的替代,他提供了一些网络相关服务的启动调用方式。Xinetd应禁

止以下默认服务的开放:

chargenchargen-udpcups-lpddaytimedaytinie-udpechoecho-udpekloginfingergssftpimap

关闭邮件服务

说明:

1)如果系统不需要作为邮件服务器,并不需要向外面发邮件,可以直接关闭邮件服务。

2)如果不需要作为邮件服务器,但是允许用户发送邮件,可以设置Sendmail不运行在

daemon模式。

操作:

1)chkconfig—level12345sendmailoff

2)编辑/etc/sysconfig/senmail文件

增添以下行

DAEMON=no

QUEUE=lh

设置

cd/etc/sysconfig

/bin/chownroot:rootsendmail

/bin/chniod644sendmail

关闭图形登录服务

说明:

一般来说,大部分软件的安装和运彳丁都不需要图形环境。如果不需要图形环境进行登录和操

作,可以关闭XWindows的运行。

操作:

cp/etc/iniitab/etc/inittab.bak

编辑/etc/inittab文件

修改id:5:ini【defaull:行为id:3:initdefault:

chownroot:root/etc/inittab

chmod0600/etc/inittab

如需要XWindows的时候,可运行startx命令启动图形界面。

关闭X字体服务器

说明:

如果关闭了XWindows服务,则Xfont服务器服务也应该进行关闭。

操作:

chkconfigxfsoff

关闭其他默认启动服务

说明:

系统启动时会启动很多不必要的服务,这些不必要的服务均存在一定的安全隐患。一般可能

存在以下不必要的服务:

apmdcannaFreeWnngpmhpqjinndirdaisdnkdcrotateIvsmars-nweoki4daemonprivoxyrstatd

rusersdrwalldrvvhodspamassassinwinenfsnfslockautofsypbindypservyppasswddportmap

smbnetfsIpdapachehttpdluxsnmpdnamedpostgresqlmysqldwebminkudzusquidcups

加固时,应根据机器具体配置使用和应用情况对开放的服务进行调整,关闭不需要的服务。

服务运行脚本一般都放在;etc/rc.d/rc*.d进行启动,可以使用chkconfig工具在接进行管理。

对于必须通过/etc/rc.d/rc*.d开放的服务,应确保都已打上过最新的补丁.

操作:

chkconfig—level12345服务名off

如果关闭了特定的服务,也应该同时对这些服务在系统中的用户加以锁定或删除

可能包括以下用户rpcrpcuserIpapachehttphttpdnameddnsmysqlpostgressquid

usermod-L要锁定的用户

调整SMB服务

说明:

Samba服务器一般用来提供与Windows类似的文件和打印共享服务。除非十分必要,否则

应关闭SMB(Windows文件共享)服务。可采用以下方式开放SMB服务。

操作:

chkconfigsmbon

调整NFS服务器服务

说明:

NFS漏洞较多,经常被利用来取得未授权的文件或系统权限。除非十分必要,否则应关闭

NFS服务。可采用以下方式开放SMB服务,并应该限制export文件系统的中的IP地址范

围,以及增添只读权限。

操作:

chkconfio-level345nfson

调整NFS客户端服务

说明:

NFS客户端服务一般用来访问其他NFS服务器。除非十分必要,否则应关闭此服务。可采

用以下方式开放此服务。

操作:

chkconfig—level345nfslockon

chkconfig-level345autofson

调整NIS服务器服务

说明:

NIS用来提供基「UNIX的域管理和认证手段。除非十分必要,否则应关闭此服务。可采用

以下方式开放此服务。

操作:

chkconfigypservon

chkconfigyppasswddon

调整NIS客户端服务

说明:

NIS客户端用来访问其他NIS服务器。除非十分必要,否则应关闭此服务。可采用以下方式

开放此服务。

操作:

chkconfigypbindon

调整RPC端口映射服务

说明:

RPC协议一般经过比较简单的或不经认证就可以得到一些非常敏感的信息。并且RPC系列

服务都存在一些缓冲区溢出问题。

在以下情况下可以考虑关闭RPC端口映射服务:

服务器不是NFS服务器或客户端;

服务器不是NIS服务器或客户端:

服务器没有运行其它依赖于RPC服务的第三方软件;

服务器不运行图形界面(K-windows)o

操作:

chkconfig—level345portmapon

调整netfs服务

说明:

此服务会作为客户端挂接网络中的磁盘。如果没有网络文件共享协议如NFS,NovellNetware

或Windows文件共享使用,则可以关闭此服务。

操作:

chkconfig-level345netfson

调整打印机服务

说明:

UNIX打印服务存在较多的安全漏洞。如果系统不作为网络中的打印机服务器,则可以关闭

此服务。如果必须使用此服务,首先应保证软件都经过最新的补丁,然和设置cupsd进程运

行在非rool用户和组。

操作:

if[-e/etc/init.d/cups];then

chkconfigcupson

sed's/A\#UserIp/UserIp/'/etc/cups/cupsd.conf\

>/etc/cups/cupsd.conf.new

scd's/A\#Groupsys/Groupsys/'\

/etc/cups/cupsd.conf.new>/etc/cups/cupsd.conf

rm-fZctc/cups/cupsd.conf.ncw

/bin/chownlp:sys/etc/cups/cupsd.conf

/bin/chmod600/etc/cups/cupsd.conf

fi

chkconfighpojon

chkconfigIpdon

调整Web服务器服务

说明:

如果服务器必须开放Web,则需要作如下设置。应注意web目录权限设置,不要允许目录

listo

操作:

chkcontigapahceon

chkconfighttpdon

调整SNMP服务

说明:

询单网络管理协议SNMP一般用来监控网络上主机或设备的运行情况。如果必须打开,则

必须更改默认通讯字。

操作:

chkconfigsnmpdon

编辑/elc/snmp/snmpd.conf

com2secnotConfigUserdefaultpublic

修改public为其他一个足够复杂的密码。

调整DNS服务器服务

说明:

DNS服务器服务用来为其他机器提供DNS解析,一般来说都可以关掉。如果必须进行开放,

则必须升级至最新版本,并推荐设置chroot环境,还需要注意限制DNS配置文件中的区域

传输等设置(加密码或加IP地址限制)。

操作:

chkconfignamedon

调整SSHD服务器服务

说明:

SSHD服务器服务用来提供SSHServer的服务。如果必绩进行开放,则必须升级至最新版本,

并推荐设置chroot环境,还需要注意限制SSH配置文件中的区域传输等设置,需要在SSHD

配置文件中禁用sshl方式连接,因sshl方式连接是非完全加密。

操作:

>如使用Openssh,贝ij检查/etc/ssh/sshd_config

grepProtocol/ctc/ssh/sshd_config

>如使用SSH.com的SSHD,需要检杳/elc/ssh2/sshd2_config

grepProtocol/etc/ssh2/sshd2_config

调整SQL服务器服务

说明:

如果不需要数据库服务,则可以关闭此服务。如果必须进行开放,则注意修改数据库用户的

密码,并增加数据库用户IP访问限制。

操作:

chkconfigpostgrcsqlon

chkconfigmysqldon

调整Webmin服务

说明:

Wehmin是一个通过HTTP协议捽制linux的丁具,一般推荐使用SSH进行系统管理而不要

使用此工具。

操作:

chkconfigwebminon

调整Squid服务

说明:

Squid服务是客户端与服务器之间的代理服务。Squid服务已出现过很多安全漏洞,并且如

果设置不当的话,可能导致被利用来作为内外网之间的跳板。如果不需要,则可以关闭此服

务。如果必须打开,则需要设置允许访问的地址列表及认证。

操作:

chkconfigsquidon

调整kudzu硬件探测服务

说明:

Kudzu服务是linux的硬件探测程序,一般设置为启动系统的时候运行。他会检测系统中的

硬件的改变,并且会提示进行配置等。未经授权的新设备存在的一定的安全风险,系统启动

时控制台就可以配置任何新增添的设备。

如果不需要经常的改匆硬件,则需要进行关闭。可以在增添新设备时手工运行

/etc/rc.d/init.d/kudzu启动此服务。

操作:

chkconfig—level345kudzuon

内核参数

网络参数调整

说明:

Linux支持的对网络参数进行调整。

具体参数详细说明,可参见

http:〃lxr.linux.no/source/Documcnlation/nelworking/iD-syscU.txl。

操作:

编辑/elc/sysell.conf

增加

net.ipv4.tcp_max_syn_backlog=4096

net.ipv4.conf.all.rp_filter=I

nct.ipv4.conf.all.acccpt_source_routc=0

net.ipv4.conf.all.accept_redirects=0

net.ipv4.conf.all.secure_redirects=0

net.ipv4.conf.default.rp_filter=1

net.ipv4.conf.defaul(.accept_source_route=

nct.ipv4.conf.dcfault.acccpt_rcdirccts=0

net.ipv4.conf.default.secure_redirects=0

/bin/chownroot:root/etc/sysctl.conf

/bin/chmod0600/ctc/sysell.conf

更多的网络参数调整

说明:

如果系统不作为在不同网络之间的防火墙或网关时,可进行如下设置。

具体参数详细说明,可参见

http://lxr.linux.no/sourcc/Documcntation/nctworking/ip-sysctl.txt

操作:

编辑/etc/sysctLconf

增加

net.ipv4.ip_forward=0

nct.ipv4.conf.all.send_rcdirccts=0

net.ipv4.conf.default.send_redirects=0

/bin/chownroot:root/etc/sysctl.conf

/bin/chmod0600/e(c/sysell.conf

日志

系统认证日志配置

说明:

不是所有版本的linux都会在日之中记录登陆信息。一般需要对这些重要的安全相关的信息

进行保存,(如成功或失败su,失败的登陆,root登陆等)。这些将会被记录在/var/log/secure

文件里。

操作:

编辑/elc/syslog.conf

确认有如下行

authpriv.*/var/log/secure

touch/var/log/sccurc

/bin/chownroot:root/var/log/secure

/bin/chmod6(X)/var/log/secure

FTP进程日志配置

说明:

系统默认会记录wu-ftpd和vsftpd所有的连接和文件传输。以下将会确认所有法发送到服务

期的命令将会被记录。wu-ftpd将会把安全相关的或是策略边界的行为记忆文件传输记录到

syslog里,默认位于/var/log/xferlog。

操作:

编辑/etc/xinctd.d/wu-ftpd叉件

确认有如下行

server_args=-I-a-d

/bin/chownroot:rootwu-ftpd

/bin/chmod644wu-ftpd

^iW/etc/vsftpd.conf或/etc/vsftpd/vsflpd.conf文件

确认有如下行

xferlog_std_format=NO

log_ftp_protocol=YES

log_ftp_protocol=YES

/bin/chmod0600vsftpd.conf

/bin/chownroot:rootvsftpd.conf

确认系统日志权限

说明:

保护系统日志文件不会被非授权的用户所修改。

操作:

cd/var/log

/bin/chmodo-wboot.log*cron*dmesgksyms*httpd/*\

maillog*messages*news/*pgsqlrpmpkgs*samba/*\

scrollkeeper.logsecure*spooler*squid/*vbox/*wtmp

/bin/chmodo-rxboot.log*cron*maillog*messages*pgsql'

secure*spooler*squid/*

/bin/chmodg-wboot.log*cron*dincsghttpd/*ksyms*\

maillog*messages*pgsqlrpmpkgs*samba/*\

scrollkeeper.logsecure*spooler*

/bin/chmodg-rxboot.log*cron*maillog*messages*pgsql'

secure*spooler*

/bin/chmodo-wgdm/httpd/news/samba/squid/vbox/

/bin/chmodorxhttpd/samba/squid/

/bin/chmodg-wgdm/httpd/'news/samba/squid/vbox/

/bin/chmodg-rxhttpd/samba/

/bin/chown-Rroot:root.

/bin/chgrputrnpwtmp

/bin/chown-Rnews:newsnews

/bin/chownpostgres:postgrespgsql

/bin/chown-Rsquidisquidsquid

文件/目录权限

/etc/fstab中适当分区增加“nodev”选项

说明:

在我们已知不包含设备的分区增添nodev参数,防止用户挂接分区中未授权设备。

此项加固要比较慎重。

操作:

编辑/elc/fsiab文件

在非/的ext2和ext3分区后增添nodev参数

/bin/chownroot:root/etc/fstab

/bin/chmod0644/etc/fstab

/etc/fstab中移动设备增加"nosuid”“nodev”选项

说明:

可移动的媒体可能导致恶意的程序进入系统。可以将这些文件系统设置nosuid选项,此选

项可以防止用户使用CD-ROM或软盘将设置了SUID的程序带到系统里。

参照上节,这些文件系统也应当设置nodev选项。

操作:

编辑/elc/fsiab文件

在floppy和cdrom分区后增添nosuid,nodcv参数

/bin/chownroot:root/ctc/fstab

/bin/chmod0644/etc/fstab

禁止用户挂接可移动文件系统

说明:

PAM模块中的pamconsole参数给控制台的用户临时的额外特权。其配置位于

/etc/sccurity/console.pcrms文件。默认设置允许控制台用户控制可以与其他主机共享的软盘

和CD-ROM设备。这些可移动媒体存在着一定的安全风险。以下禁止这些设备的额外特权。

操作:

编辑/etc/security/console.perms文件

修改其中的console行,删除以下设备之外的行

/sound|fb|kbd|joystick|v41|mainboard|gpm|scanner

/bin/chownroot:rootconsole.perms

/bin/chmod0600console.perms

检查passwd,shadow和group文件权限

说明:

检查以下文件的默认权限,

操作:

cd/etc

/bin/chownroot:rootpasswdshadowgroup

/bin/chmod644passwdgroup

/bin/chmod400shadow

全局可写目录应设置粘滞位

说明:

当一个目录设置了粘滞位之后,只有文件的属主可以删除此目录中的文件。设置粘滞位可以

防止用户覆盖其他用户的文件。如/tmp目录。

操作:

find/-xdev-typed-perm-0002-a!-perm-1()00-print

找出未授权的全局可写目录

说明:

全局可写文件可以被任意用户修改。全局可写文件可能造成一些脚本或程序被恶意修改后造

成更大的危害,一般应拒绝其他组的用户的写权限。

操作:

find/-perm-0002-typef-xdev-print

chmodo-w〈filename〉

找出未授权的SUID/SGID文件

说明:

管理员应当检查没有其他非授权的SUID/SGID在系统内。

操作:

find/-perm-04000-o-penn-02000-typef-xdev-print

找出异常和隐藏的文件

说明:

入侵者容易将恶意文件放在这目录中或命名这样的文件名。对于检查出来的数据需要核对与

否系统自身的文件。

操作:

find/-name'*-execIs-Idb{}\;

find/-name-execIs-Idb{}\;

系统访问,授权和认证

删除.rhosts文件

说明:

R系列服务(rlogin,rsh,rep)使用.rhosts文件,它使用基于网络地址或主机名的远端机算

计弱认证(很容易被伪造)。如果必须使用R系列服务,则必须保证.rhosts文件中没有“+”,

并且同时指定对方系统和用户名。如果有防火墙,则应该在过滤外部网段至内部的全部R

系列服务访问。同时需要保证『hosts文件仅可以被所有者读取(600)o

操作:

forfilein/etc/pam.d/*;do

grep-vrhosts_auth$file>${file}.new

/bin/mv${file).new$file

/bin/chownroot:root$filc

/bin/chmod644$file

done

创建危险文件的链接

说明:

防止创建危险的"oot/.rhosts,/root/.shosts,/etc/hosts.equiv和/elc/shosts.equiv文件。

操作:

/bin/rni/root/.rhosts

In-s/dev/null/root/.rhosts

/bin/rm/root/.shosts

In-s/dev/null/root/.shosts

/bin/rm/etc/hosts.equiv

In-s/dev/null/etc/hosts.cquiv

/bin/rm/etc/shosts.equiv

In-s/dev/null/etc/shosts.equiv

创建ftpuser文件

说明:

>/etc/ftpusers和/etc/vsf【p.ftpusers文件里的用户列表里的用户将拒绝通过WU-FTPD和

vsftpd访问系统。通常情况下,应当不允许一些系统用户访问FTP,并且任何时候都不

应当使用loot用户访问FTP。

>/etc/vsftpd.user类似上述功能。

操作:

fornamein'cut-d:-fl/ctc/passwd'

do

if['id-u$name'-It50()]

then

echo$naine»/etc/ftpusers

fi

done

/bin/chownroot:root/ctc/ftpusers

/bin/chmod600/etc/ftpusers

if[-e/etc/vsftpd.conf]||\

[-c/clu/vsflpd/vsflpd.conf];then

/bin/rm-f/etc/vsftpd.ftpusers

/bin/cp/etc/ftpuscrs/etc/vsftpd.ftpusers

fi

关闭X-Windows的开放端口

说明;

X服务器在60(X)/tcp监听远端客户端的连接。X-Windows使用相对不安全的认证方式,取

得X认证的用户很容易就可以控制整台服务器。

删除选项中的-nolistentep"可以使X服务器不再监听6000/tcp端口。

操作:

if[-e/etc/Xl1/xdm/Xservers];then

cd/etc/X11Zxdm

awk•($!!~/△#/&&$3==7usr/X11R6/bin/X°)\

{$3=$3"-nolistentep"!;

{print}'Xservcrs>Xservers.new

/bin/mvXservers.newXservers

/bin/chownroot:rootXservers

/bin/chmod444Xservers

fi

if[-e/etc/X11/gdm/gdm.confJ;then

cd/etc/X11/gdm

awk-F='($2~/VX$/)\

{printf("%s-nolistentcp\n",$0);next};

{print}'gdm.conf>gdni.conf.ncw

/bin/mvgdm.conf.newgdm.conf

/bin/chownroot:rootgdm.conf

/bin/chmod644gdm.conf

fi

if[-d/etc/X11/xinit];then

cd/etc/X11/xinit

if[-exserverre];then

awk7X/&&!/A#/\

{printSO":0-nolislentep\$@";next}:\

{print}'xscrvcnc>xscrvunc.iicw

/bin/mvxserverre.newxserverre

else

cat«END>xserverrc

#!/bin/bash

cxccX:0-nolistentep\$@

END

ti

/bin/chownroot:rootxserverre

/bin/chmod755xserverre

fi

限制只有授权用户可以访问at/cron

说明:

cron.allow和at.allow可以指定允许运行cronlab和at命令的用户列表。一般直应该允许管理

员有权利运行计划任务。

操作:

cd/etc/

/bin/rm-fcron.denyat.dcny

echoroot>cron.allow

echoroot>at.allow

/bin/chownroot:rootcron.allowat.allow

/bin/chmod400cron.allowat.allow

限制crontab文件的权限

说明:

系统的crontab文件应该只能被crondaemon(以超级用户权限运行)和crontab命令(SUID)。

操作:

/bin/chownroot:root/etc/crontab

/bin/chmod400/etc/crontab

/bin/chown-Rroot:root/var/spool/cron

/bin/chmod-Rgo-rwx/var/spool/cron

/bin/chown-Rroot:root/etc/cron.*

/bin/chmod-Rgo-rwx/etc/cron.*

创建警示BANNER

说明:

创建警示BANNER可以对恶意攻击者或尝试者起到警示作用。

操作:

1)创建捽制台和X模式BANNER

if["'egrep-1Authorized/etc/motd'"==""];then

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported."»/etc/motd

fi

if["'egrep-1Authorized/ctc/issuc'"==""];then

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported."»/ctc/issuc

fi

if["'egrep-IAuthorized/etc/issue.neC"==];(hen

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported."»/etc/

fi

/bin/chownroot:root/ctc/motd/ctc/issuc/ctc/

/bin/chmod644/etc/motd/etc/issueZetc/

if[-c/etc/X11/xdm/kdmrcJ;then

cd/etc/X11/xdm

awkVGreetString=/\

{print"GrcctString=Authorizcdusesonly!";next};

{print}'kdmrc>kdmrc.new

/bin/tnvkdmrc.newkdmrc

/bin/chownroot:rootkdmrc

/bin/chmod644kdmrc

fi

if[-e/etc/X11/gdm/gdm.conf1;then

cd/etc/X11/gdm

awkVAGreeter=/&&/gdmgreeter/\

{printf(',#%s\n",$0);next|;

/A#Giuclcr=Z&&/gdnilogiii/\

{$1="Greeter=/usr/bin/gdmlogin"};

/Welcome=/\

{print“Welcome二Authorizedusesonly!";next};

{print}'gdm.conf>gdm.conf.new

/bin/mvgdm.conf.ncwgdniconf

/bin/chownroot:rootgdm.conf

/bin/chmod644gdin.conf

fi

2)适应TCPWrappers创建“authorizedonly”的网络服务BANNER,

inkdir/ctc/banncrs;cd/ctc/banncrs

if[-e/usr/doc/tcp_wrappers-7.6/Banners.Makefile1;then

file=/usr/doc/tcp_wrappers-7.6/Banners.Makefile

else

file=/usr/share/doc/tcp_wrappers-7.6/Banners.Makefile

fi

cp$fileMakefile

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported.">prototype

make

cd/etc/xinctd.d

forfileintelnetkrb5-tclnct;do

if[-f$file];then

awk'($1==n}")\

{print"banner=/ctc/banncrs/in.tclnctd"};

{print}'$file>$file.new

/bin/tnv$file.newSfile

fi

done

forfileinwu-ftpdgssftp;do

iffthen

awk'($1=="}“)、

{print"banner=/etc/banners/in.ftpd"};

{print}*$file>$file.new

/bin/niv$file.newSfile

fi

done

forfileinrshkshell;do

iffthen

awk'($1=="}")\

{print"banner=/etc/banners/in.rshd"};

{print}'$tile>$t)le.new

/bin/mv$file.newSfile

fi

done

forfileinrloginklogineklogin;do

if[-f$file];then

awk'($1==")")\

{print"banner=/e(c/banners/in.rlogind"};

{print}'$filc>$file.ncw

/bin/mv$file.newSfile

fi;done

/bin/chownroot:root{krb5-,}telnetgssftpwu-ftpdrsh\

kshellrloginklogineklogin

/bin/chmod644{krb5-Jtelnetgssftpwu-ftpdrshkshell\

rloginklogincklogin

3)创建vsflpd的“aulhcrizedonly"BANNER

cd/etc

if[-dvsftpd];then

cdvsftpd

fi

if[-evsftpd.conf];then

echo"ftpd_banner=Authorizedusesonly.Allactivity\

maybemonitoredandreported."»vsftpd.conf

fi

配置xinetd访问控制

说明:

配制xinetd使用简单的访问控制和Fl志。

操作:

在/etc/xinctd.conf插入“defaults”段

only_from=<net>/<num_biLS><net>/<num_bits>

<nct>/<num_bits>使用允许使用的网络和掩码。

示例;

only_from=/24将会限制只有/24的网络可以访问。

限制root只能在控制台登录

说明:

root应该限制在只允许控制台登陆,一般情况下应该使用一般权限用户进行操作,仅在必要

时SU成为root进行操作。

操作:

/bin/cp/dev/null/e(c/secure(ly

foriinI23456;do

echotty$i»/etc/securetty

echovc/$i»/etc/securetty

done

echoconsole»/etc/secureuy

/bin/chownroot:root/ctc/sccurctty

/bin/chmod400/etc/securetty

设置LILO/GRUB密码

说明:

默认情况下,任何本地用户都可以在控制台重新启动机器,井很容易就可以控制正常的启动

进程。LILO和GRUB密玛可以在系统启动时要求密码。

注意以下操作只应设置与十分注重本地安全的情况下。

操作:

LILO

1)增加下列行到/etc/lilo.conf

restricted

password=<password>

〈password》更改为自己指定的密码。

2)以rool身份执行以下命令

/bin/chownroot:rool/etc/lilo.conf

/bin/chmod600/etc/lilo.conf

lilo

GRUB

1)增加下列行到/ctc/grub.conf

password<password>

2)以root身份执行以下命令

/bin/chownroot:root/etc/grub.conf

/bin/chmod6(X)/etc/grub.conf

设置单用户默认认证

说明:

Linux默认可以在启动时键入“linuxsingle”进入到单用户模式。

单用户模式可以不使用密码就可以进行一些管理员操作,一般用来恢复忘记root密码等。

不加密码的单用户模式可能导致可以本地接触到服务器的用户直接控制系统。

操作:

cd/etc

if["'grep-Isulogininittab'"=""];then

awk'{print};

/Aid:[0123456sS]:ini(defauh:/\

{print:S:wait:/sbin/sulogin"}'\

inittab>inittab.new

/bin/mvinittab.newinittab

/bin/chownroot:rootinittab

/bin/chmod644inittab

fi

限制NFS客户端特权端口

说明:

设置secure参数可以使本地系统的NFS服务器进程拒绝没有使用特权端口(小于102G的

NFS客户端访问。这个设置不会影响NFS操作员的操作,但是会拒绝非授权用户的自动的

NFS攻击。

操作:

增加/etc/exports文件中的secure选项,可以使用以下peri脚本

perl-i.orig-pe\

'nextif(/Ns*#/||/A\s*$/);

($rcs,@hst)=split("");

foreach$ent(@hst){

undef(%set);

($optlist)=Sent=~A((.*?)\)/;

forcach$opt(split(/,/,$optlist)){

$set{$opt}=1;

)

delete($set{"insecure"});

$set{"secure"}=I;

Sent=~sA(.*?\)//;

Sent="(".join(";',keys(%set)).

)

$hst[O]="(secure)"unless(@hst);

$_="SresM".join("",@hst)."\n";'\

/etc/exports

用户帐户和环境

系统无用帐户

说明:

系统中的非使用人员帐号应当被锁定,并且设置他们的shell为非/eic/shells里面的(即没有

默认可以登陆的shell,如/dev/null)。

操作:

以下脚本锁定全部非root用户

fornamein'cut-d:-fl/etc/passwd';do

uid='id-u$namev

if[$uid-It50()-a$name!='root'J;then

/usr/sbin/usermod-L-s/dev/null$name

fi

done

确认没有空密码帐户

说明:

如果一个账户设置了空密码,将允许任何人不使用密码登陆到系统。所有帐户都应该设置一

个足够强壮的密码或设置为“NP”或“LOCKED”。

操作:

awk-F:'($2=="")(print$1}'/etc/shadow

设置活动帐户的过期时间

说明:

定期的更改帐户密码有助于提高系统的安全性。一般应当将系统中非root用户强制在90天

内更该密码,并且在之后的7天之内禁止更改密码。用户将在密码过期的28天前接受到系

统的提示。并应当设置密码的复杂程度,包括各种大小写及数字,并最小长度为6位。

操作:

cd/etc

awk'($1-/APASS_MAX_DAYS/){$2="90"}

($1-/APASS_MIN_DAYS0{$2="7")

($1~/APASS_WARN_AGE/){$2="28"}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论