版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux服务器安全设置方案郑州信大捷安信息技术股份有限公司2013年05月文档控制n 修改记录作者修改记录日期版本谢西勇创建文档,初始版本。2013-05-10V1.0一、 描述尽管Linux在安全设计上比其他一些操作系统具有一定的先天优势,但它也决不像早先一些人认为的“绝对安全”,近年来,基于Linux的安全事件也多有发生。本文对Linux安全问题进行过一些探讨,作为对这一部分内容的总结和进一步补充完善。二、 开机安全设置1、Bios安全一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改
2、动其中的设置(比如允许通过软盘启动等)。 2、LILO安全在/etc/lilo.conf文件中加入下面三个参数:time-out,restricted,password。这三个参数可以使你的系统在启动lilo时就要求密码验证。 第一步: 编辑lilo.conf文件(vi/etc/f),假如或改变这三个参数: boot=/dev/hda map=/boot/map install=/boot/boot.b time-out=00#把这行该为00 prompt Default=linux restricted#加入这行 password=#加入这行并设置自己的密码 image=/boot/vmli
3、nuz-2.2.14-12 label=linux initrd=/boot/initrd-2.2.14-12.img root=/dev/hda6 read-only 第二步: 因为/etc/lilo.conf文件中包含明文密码,所以要把它设置为root权限读取。 rootkapil/#chmod600/etc/lilo.conf因为/etc/lilo.conf文件中包含明文密码,所以要把它设置为root权限读取。 rootkapil/#chmod600/etc/lilo.conf 第三步: 更新系统,以便对/etc/lilo.conf文件做的修改起作用。 Rootkapil/#/sbin/
4、lilo-v 第四步: 使用chattr命令使/etc/lilo.conf文件变为不可改变。 rootkapil/#chattr+i/etc/lilo.conf 这样可以防止对/etc/lilo.conf任何改变(以外或其他原因) 三、 账户安全设置1、 删除所有的特殊账户 你应该删除所有不用的缺省用户和组账户(比如lp,sync,shutdown,halt,news,uucp,operator,games,gopher等)。 删除用户: rootkapil/#userdelLP 删除组: rootkapil/#groupdelLP 删除系统特殊的的用户帐号和组帐号: #userdel use
5、rname userdel adm userdel lp userdel sync userdel shutdown userdel halt userdel news userdel uucp userdel operator userdel games userdel gopher 以上所删除用户为系统默认创建,但是在常用服务器中基本不使用的一些帐号,但是这些帐号常被黑客利用和攻击服务器。 #groupdel username groupdel adm groupdel lp groupdel news groupdel uucp groupdel games groupdel dip 同
6、样,以上删除的是系统安装是默认创建的一些组帐号。这样就减少受攻击的机会。2、 root账户自动注销在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,系统会自动注销。通过修改账户中TMOUT参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在HISTFILESIZE=后面加入下面这行: TMOUT=3600 3600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的.bashrc文件中添加该值,以便系统对该用
7、户实行特殊的自动注销时间。 改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。 3、 root账户电源管理只允许root账户对电源进行管理此项配置防止SYN Flood攻击vi /etc/default/sys-suspend: 将 PERMS=console-owner 改为 PERMS=- # chmod 0755 /usr/openwin/bin/sys-suspend 4、 取消普通用户的控制台访问权限 你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。 rootkapil/# rm -f /etc/security/console.
8、apps/是你要注销的程序名。 5、 定期不需要的用户定期检查主机系统用户,及时删除离职的用户,检查系统中SUID、SGID文件find / ( -perm -004000 -o -perm -002000 ) -type f print检查系统上不正常的隐藏文件。例如:目录文件/dev下是否有可疑文件;/etc/inetd.conf是否有被替换文件;crontat中是否运行可疑进程。6、 编辑初始账户参数,以满足密码策略编辑/etc/sadm/defadduser需要,使用adduser命令时满足密码策略,例如:vi /etc/sadm/defadduserdefgroup=15 defgn
9、ame=users defparent=/export/home defskel=/etc/skel defshell=/usr/bin/ksh definact=30 defexpire=四、 密码安全1、 设置密码安全性 在选择正确密码之前还应作以下修改: 修改密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。口令必须具备采用3种以上字符、长度不少于8位并定期更换;#vi/etc/pam.d/system_authpasswordrequisitepam_cracklib.sominlen=8ucredit=1lcredit=1dcredit=1ocredi
10、t=1意思为最少有1个大写字母,1个小写字符,1个数字,1个符号修改最短密码长度需要编辑login.defs文件(vi/etc/login.defs),把下面这行 PASS_MIN_LEN5 改为 PASS_MIN_LEN8 密码可以被改变的最小时段PWMIN= 1密码的最大生存周期PWMAX= 13设定离用户密码过期的天数,当系统启动时提醒用户PWWARN= 4口令有效期#vi/etc/login.defsPASS_MAX_DAYS602、 启用登录失败处理功能可采取结束会话、限制非法登录次数和自动退出等措施设置6次登陆失败后锁定帐户,锁定时间3000秒#vi/etc/pam.d/syste
11、m-authauthrequiredpam_tally.soonerr=faildeny=6unlock_time=3000(放在system-auth文件的第一行,若对root用户起作用,加上even_deny_rootroot_unlock_time=3000)解锁用户faillog-u 之类的特殊字符可以极大地增强口令的强健性(若使用DES口令则不能使用此类字符)。挑选一个可以记住的口令。如果记不住自己的口令,那么它再好也没有用,使用简写或其他记忆方法来帮助记忆口令。不要在口令中只使用单词或数字。不要使用现成词汇,像名称、词典中的词汇、甚至电视剧或小说中的用语,即使在两端使用数字,都应该
12、避免使用。不要使用外语中的词汇。口令破译程序经常使用多种语言的词典来检查其词汇列表。依赖外语来达到保护口令的目的通常不起作用。不要使用黑客术语。4、 打开密码的shadow支持功能: 你应该打开密码的shadow功能,来对password加密。使用/usr/sbin/authconfig工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用pwcov,grpconv命令。 5、 其他账户密码是否为空检查/etc/passwd和/etc/shadow,每个用户的密码栏是否不为空。more /etc/passwdmore /etc/shadow五、 服务安全1、 取
13、消并反安装所有不用的服务 取消并反安装所有不用的服务,这样你的担心就会少很多。察看/etc/inetd.conf文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个#)。然后用sighup命令升级inetd.conf文件。 第一步: 更改/etc/inetd.conf权限为600,只允许root来读写该文件。 Rootkapil/#chmod600/etc/inetd.conf 第二步: 确定/etc/inetd.conf文件所有者为root。第三步: 编辑/etc/inetd.conf文件(vi/etc/inetd.conf),取消下列服务(你不需要的):ftp,telnet,she
14、ll,login,exec,talk,ntalk,imap,pop-2,pop-3,finger,auth等等。把不需要的服务关闭可以使系统的危险性降低很多。 建议只保留以下服务:ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpdtelnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetdtime stream tcp nowait root internaltime dgram udp wait root internalecho stream tcp nowait root
15、internalecho dgram udp wait root internaldiscard stream tcp nowait root internaldiscard dgram udp wait root internaldaytime stream tcp nowait root internaldaytime dgram udp wait root internalrstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatdfs stream tcp wait nobody
16、/usr/openwin/lib/fs.auto fs100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd第四步: 给inetd进程发送一个HUP信号: rootkapil/#killall-HUPinetd 第五步: 用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以修改它: rootkapil/#chattr+i/etc/inetd.conf 这样可以防止对inetd.conf的任何修改(以外或其他原因)。唯一可以取消这个属性的人只有root。如果要修改inetd.
17、conf文件,首先要是取消不可修改性质: rootkapil/#chattr-i/etc/inetd.conf 别忘了该后再把它的性质改为不可修改的。 2、 关闭不用的端口查看/etc/services文件,关闭一些无用服务的端口vi /etc/services3、 关闭系统的自启动服务根据需要停用以下服务cd /etc/rc*.dsendmail服务sendmail 把/etc/rc2.d/S88sendmai更名(mv)为tc/rc2.d/X88sendmailDNS服务DNS 将/etc/rc2.d/S72inetsv注释掉d一项 lp服务lp 把/etc/rc2.d/S8
18、0lp更名(mv)为 /etc/rc2.d/X80lpuucp服务uucp 把/etc/rc2.d/S70uucp更名(mv)为/etc/rc2.d/X70uucpsnmp服务snmp 把/etc/rc2.d/K07snmpdx、/etc/rc3.d/S76snmpdx和 /etc/rc3.d/S77dmi 更名(mv) 为/etc/rc2.d/Y07snmpdx 、/etc/rc3.d/X76snmpdx和/etc/rc3.d/X77dmi自动安装服务autoinstall 把/etc/rc2.d/S72autoinstallg更名(mv)为/etc/rc2.d/X72autoinstall
19、4、 安全审计审计范围是否覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户 操作系统用户的审计由主机的审计服务进行管理,数据库用户的审计由Oracle数据库系统来管理。 开启内核audit系统 # auditctl e 1 开启审计服务守护进程: # service auditd start 设置开机自动启动,用root用户执行: # chkconfig auditd on 查看audit运行状态 # auditctl s AUDIT_STATUS: enabled=1 flag=1 pid=1585 rate_limit=0 backlog_limit=256 lost=0 back
20、log=0 根据记录数据进行分析,并生成审计报表aureport命令格式:aureport选项主要选项:-a报告关于访问向量缓冲(accessvectorcache,AVC)的消息-c报告关于配置修改的消息-cr报告关于crypto事件的消息-e报告关于事件的消息-f报告关于文件的消息-h报告关于主机的消息-l报告关于登录的消息-m报告关于账户修改的消息-ma报告关于MandatoryAccessControl(MAC)事件的消息-p报告关于进程的消息-s报告关于系统调用的消息-tm报告关于终端的消息如果执行aureport时没有使用任何选项,则会显示如汇总报表。要显示每个日志的启动和停止时间
21、,可以添加-t选项:aureport-i-t要仅显示失败事件,则使用-failure,注意这个选项前面有两条虚线而不是一条:aureport-ifailed要仅显示成功事件,则使用-success,注意这个选项前面有两条虚线而不是一条:aureport-isuccess要产生来自一个日志文件的报表而不是默认报表,则可用-if选项指定它:aureport-i-if/var/log/audit/audit.log.1六、 登陆安全1、 黑名单使用黑名单可以使你的系统安全面对外部入侵。最好的策略就是阻止所有的主机(在/etc/hosts.deny文件中加入ALL:ALLALL,PARANOID),然
22、后再在/etc/hosts.allow文件中加入所有允许访问的主机列表。 第一步: 编辑hosts.deny文件(vi/etc/hosts.deny),加入下面这行 #Denyaccesstoeveryone. ALL:ALLALL,PARANOID 这表明除非该地址包好在允许访问的主机列表中,否则阻塞所有的服务和地址。 第二步: 编辑hosts.allow文件(vi/etc/hosts.allow),加入允许访问的主机列表,比如: ftp:9 9和是允许访问ftp服务的ip地址和主机名称。 第三步: tcpdchk程序是tepdwrapper设置检
23、查程序。它用来检查你的tcpwrapper设置,并报告发现的潜在的和真实的问题。设置完后,运行下面这个命令: Rootkapil/#tcpdchk2、 禁止系统信息暴露 当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改/etc/inetd.conf文件来达到这个目的。 把/etc/inetd.conf文件下面这行: telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd 修改为: telnetstreamtcpnowaitroot/usr/sbin/tcpdin.telnetd-h 在最后加-h可以使当有人登陆时只显示一个login:提示,而不
24、显示系统欢迎信息。 3、 修改/etc/host.conf文件 /etc/host.conf说明了如何解析地址。编辑/etc/host.conf文件(vi /etc/host.conf),加入下面这行: #LookupnamesviaDNSfirstthenfallbackto/etc/hosts.orderbind,hosts #WehavemachineswithmultipleIPaddresses. multion #CheckforIPaddressspoofing. nospoofon 第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否/etc/h
25、osts文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。 4、 禁止任何人通过su命令改变为root用户 su(SubstituteUser替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在/etc/pam.d/目录下)的开头添加下面两行: 编辑su文件(vi/etc/pam.d/su),在开头添加下面两行: authsufficient/lib/security/pam_rootok.sodebug authrequired/lib/se
26、curity/Pam_wheel.sogroup=wheel 这表明只有wheel组的成员可以使用su命令成为root用户。你可以把用户添加到wheel组,以使它可以使用su命令成为root用户。 5、 不允许从不同的控制台进行root登陆 /etc/securetty文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑/etc/securetty文件,再不需要登陆的TTY设备前添加#标志,来禁止从该TTY设备进行root登陆。 6、 root登陆管理编辑登陆文件,修改root登陆参数vi /etc/default/login防止远程的root登陆CONSOLE=/dev/conso
27、le 纪录root的登陆失败,成功的情况。SYSLOG= YES设置登陆会话超时时间TIMEOUT= 120确定登陆需要密码验证PASSREQ= YES7、 系统访问限制任何用户都可以通过rlogin不需要口令以该用户的身份登录到系统。因此要为这些文件加锁,先创建它们,然后修改其属性为零即可。这样除了root用户就没有其它用户能创建或修改它们了。全局查找.rhosts文件#find / name “.rhosts” -print修改权限# chmod 700 /usr/bin/touch# chmod 700 /.rhosts# chmod 700 /.netrc# chmod 700 /et
28、c/hosts.equiv# chmod 700 /usr/bin/chmod七、 Telnet1、 关闭服务编辑 /etc/xinetd.d/telnet#vi /etc/xinetd.d/telnetroottest root# vi /etc/xinetd.d/telnet找到 disable = no=就是改这里,将 弄 改成 yes 即可!重启服务telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。rootwljs root# service xinetd re
29、start2、 设置telnet端口#vi /etc/services进入编辑模式后查找telne会找到如下内容:telnet 23/tcptelnet 23/udp将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。3、 Telnet服务限制如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 与对内的7 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:#vi /etc/xi
30、netd.d/telnet# 先针对对内的较为松散的限制来设定:service telnet disable= no =预设就是激活 telnet 服务bind = 7 =只允许经由这个适配卡的封包进来only_from = /24=只允许 /24 这个网段的主机联机进来使用 telnet 的服务.# 再针对外部的联机来进行限制service telnetdisable = no=预设就是激活 telnet 服务bind = =只允许经由这个适配卡的封包进来only_from = 192.168.0.
31、0/16=只允许 55 这个网段联机进来使用 telnet 的服务only_from = =重复设定,只有教育网才能联机!no_access = 0,26=不许这些 PC 登入access_times= 1:00-9:00 20:00-23:59 =每天只有这两个时段开放服务.4、 root用户的登入root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法root test /ro
32、ot# vi /etc/pam.d/loginauth required pam_securetty.so #将这一行注释去掉!这样一来, root 将不可以直接进入 Linux 主机。八、 SSH1、 推荐配置1 ssh的配置文件位于 /etc/ssh/sshd_config推荐配置:2 使 sshd服务运行在非标准端口上设置方法:编辑/etc/ssh/sshd_config文件,添加一行内容为(假定设置监听端口是12345):port 12345 在客户端,用ssh -p 12345登录服务器。3 只允许 ssh v2的连接protocol 24 禁止 root用户通过ssh登录Permi
33、tRootLogin no5 禁止用户使 用空密码登录PermitEmptyPasswords no6 限制登录失 败后的重试次数MaxAuthTries 37 只允许在列表中指定的用户登录AllowUsers user1 user2设置完成以后,运行命令使之生效:rootjcwkyl ssh# /etc/init.d/sshd reload2、 禁止root用户直接登陆修改/etc/ssh/sshd_config 文件vi /etc/ssh/sshd_configPermitRootLogin no #不允许 Root 登录3、 屏蔽banner信息#vi/etc/ssh/sshd_conf
34、ig:#Banner/some/path 注释掉banner的相关条目4、 黑白名单控制:修改白名单,允许需要的主机通过ssh访问vi /etc/host.allowsshd : 07 #允许07通过ssh访问本机修改黑名单,拒绝目标主机通过ssh访问vi /etc/host.denysshd : 05 #拒绝05通过ssh访问本机5、 禁用密码登陆,仅用证书密钥登陆在客户端生成密钥ssh-keygen -t rsa把公钥拷贝至服务器ssh-copy-id -i .ssh/id_rsa.pub server
35、也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得修改访问权限scp .shh/id_rsa.pub server:/.ssh在服务器中cd ./.ssh/mv id_rsa.pub authorized_keyschmod 400 authorized_keys最后修改/etc/ssh/sshd_configRSAAuthentication yes#RSA认证PubkeyAuthentication yes#开启公钥验证AuthorizedKeysFile .ssh/authorized_keys#验证文件路径 PasswordAuthentication n
36、o#禁止密码认证PermitEmptyPasswords no#禁止空密码UsePAM no#禁用PAM最后保存,重启sudo /etc/init.d/ssh restart安装denyhosts个性化设置请自行修改/etc/denyhosts.confSECURE_LOG = /var/log/auth.log#ssh 日志文件,它是根据这个文件来判断的。HOSTS_DENY = /etc/hosts.deny#控制用户登陆的文件PURGE_DENY =#过多久后清除已经禁止的BLOCK_SERVICE = sshd#禁止的服务名DENY_THRESHOLD_INVALID = 5#允许无效
37、用户失败的次数DENY_THRESHOLD_VALID = 10#允许普通用户登陆失败的次数DENY_THRESHOLD_ROOT = 1#允许root登陆失败的次数DENY_THRESHOLD_RESTRICTED = 1WORK_DIR = /var/lib/denyhosts#运行目录SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YESHOSTNAME_LOOKUP=YES#是否进行域名反解析LOCK_FILE = /var/run/denyhosts.pid#程序的进程IDADMIN_EMAIL = rootlocalhost (可以将这里改成常用的邮箱)
38、#管理员邮件地址,它会给管理员发邮件SMTP_HOST = localhostSMTP_PORT = 25SMTP_FROM = DenyHosts SMTP_SUBJECT = DenyHosts ReportAGE_RESET_VALID=5dAGE_RESET_ROOT=25dAGE_RESET_RESTRICTED=25dAGE_RESET_INVALID=10dDAEMON_LOG = /var/log/denyhostsDAEMON_SLEEP = 30sDAEMON_PURGE = 1h6、 启停动SSH:启动服务:#service sshd start#service sshd
39、 restart(重新启动)停止服务器:#service sshd stop九、 FTP1、 关闭服务# service vsftpd stop2、 FTP安全配置# vi /etc/vsftpd/vsftpd.confanonymous_enable=no 是否允许匿名用户登录anonymous_enable=no 是否允许匿名上传文件local_enable= YES 是否允许本地用户登录write_enable= no 是否允许本地用户上传guest_enable=yes 是否允许虚拟用户登录;local_mask=022 设置本地用户的文件生成掩码为022,默认值为077dirmess
40、age_enable= YES 设置切换到目录时显示.message隐含文件的内容xferlog_enable= YES 激活上传和下载日志connect_from_port_20=YES 启用FTP数据端口连接pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pam.d目录下userlist_enable= no 允许vsftpd.user_list文件中的用户访问服务器userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器listen= no 是否使用独占启动方式(这一项比较重要)tcp_wr
41、appers= YES 是否使用tcp_wrappers作为主机访问控制方式ftpd_banner= 设置连接服务器后的欢迎信息idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间accept_timeout=60 设置在多长时间后自动建立连接connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;max_clients=200 指明服务器总的客户并发连接数为200max_p
42、er_ip=1 指明每个客户机的最大连接数为3local_max_rate=50000(50kbytes/sec)anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制pasv_min_port=端口pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;listen_port=端口号 设置FTP工作的端口号,默认的为21chroot_local_user=YES 设置所有的本地用户可以chrootchroot_local_user=
43、NO 设置指定用户能够chrootchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用户才能执行 )local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;chroot_list_enable=yes/no 锁
44、定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定; userlist_enable=YES/NO 是否加载用户列表文件;userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;userlist_file=/etc/vsftpd.user_list 列表文件3、 黑白名单设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)# vi /etc/hosts.allowvsftpd:28:DENY4、 时间限制:#cp /usr/share/doc/vsftpd
45、-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd#vi /etc/xinetd.d/vsftpd/修改 disable = noaccess_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpd.conf中listen=NO相对应)例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp5、 账户限制把所有的系统账户加入到ftpusers文件:root 、daemon、sys、bin、adm、lp、uucp、nuucp、listen、nobody以及相应的系统帐
46、号vi /etc/vsftpd.ftpusers十、 其他安全1、 防止堆栈溢出:攻击者通过给一个以root身份运行的程序提供比它所预期的输入长得多的字符串,使被攻击程序无法处理而改变执行流程去执行攻击者指定的代码。修改系统内核参数, 到文件的最后,插入以下几行:# vi /etc/systemset noexec_user_stack=1set noexec_user_stack_log=1重启生效2、 日志安全Linux系统的日志文件是可以配置的配置文件/etc/syslog.conf,可编辑此文件让日志系统记录更多信息,保存后需重启/usr/sbin/syslogd进程,重读取配置文件。
47、通常日志系统的文件分别存放在两个位置:/db2/adm保存本地系统日志/db2/log保存登录其它系统时日志。设置utmpx和wtmpx文件权限,确保日志系统安全#chmod 644 /db2/adm/utmpx#chmod 644 /db2/adm/wtmpx设置日志配置文件,以下是常用的系统日志文件名称及其描述:vi /etc/syslog.conflastlog /记录用户最后一次成功登录时间 loginlog /不良的登陆尝试记录 messages /记录输出到系统主控台以及由syslog系统服务程序产生的消息utmp /记录当前登录的每个用户 utmpx /扩展的utmp wtmp
48、/记录每一次用户登录和注销的历史信息 wtmpx 扩展的wtmpvold.log /记录使用外部介质出现的错误 xferkig /记录Ftp的存取情况 sulog 记录su命令的使用情况 acct /记录每个用户使用过的命令 aculog /拨出自动呼叫记录修改了/etc/syslog.conf文件后,必须重新启动syslogd守护进程以使配置更改生效,请执行下面的命令:#/etc/rc.d/init.d/syslog restart将日志文件记录到远程主机如果有另一个Linux或系统,那么让其把消息发到另外一个系统并记录下来。要实现这个功能,在该配置文件中,指定一个记录动作,后面接一个由“”
49、开头的远程系统的主机名,如下例:vi /etc/syslog.conf*.warn;authpriv.notice;auth.notice 同时,还要将接受消息的目的系统设置为允许这种操作。此例主机的syslogd守护进程要用-r参数启动。/etc/rc.d/init.d/syslog restart -r3、 防止TCP序列号预测攻击(ip欺骗)在/etc/default/inetinit中增加设置来防止TCP序列号预测攻击(ip欺骗)vi /etc/default/inetinitTCP_STRONG_ISS=2 增加此行十一、 iptablesiptables概念: Iptalbes(I
50、P包过滤器管理)是用来设置、维护和检查Linux内核的IP包过滤规则的。 可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作target(目标),也可以跳向同一个表内的用户定义的链。 通过使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤表中。这些规则具有目标,它们告诉内核对来自某些源、前往某些目的地或具有某些协议类型的信息包做些什么。如果某个信息包与规则匹配,那么使用目标 ACCEPT 允许该信息包通过。还可以使用目标 DROP 或 REJECT 来阻塞并杀死信息
51、包。对于可对信息包执行的其它操作,还有许多其它目标。 根据规则所处理的信息包的类型,可以将规则分组在链中。处理入站信息包的规则被添加到 INPUT 链中。处理出站信息包的规则被添加到 OUTPUT 链中。处理正在转发的信息包的规则被添加到 FORWARD 链中。这三个链是基本信息包过滤表中内置的缺省主链。另外,还有其它许多可用的链的类型(如 PREROUTING 和 POSTROUTING),以及提供用户定义的链。每个链都可以有一个策略,它定义“缺省目标”,也就是要执行的缺省操作,当信息包与链中的任何规则都不匹配时,执行此操作。 建立规则并将链放在适当的位置之后,就可以开始进行真正的信息包过滤工作了。这时内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的头信息,尤其是信息包的目的地。我们将这个过程称为路由。 如果信息包源自外界并前往系统,而且防火墙是打开的,那么内核将它传递到内核空间信息包过滤表的 INPUT 链。如果信息包源自系统内部或系统所连接的内部网上的其它源,并且此信息包要前往另一个外部系统,那么信息包被传递到 OUTPUT 链。类似的,源自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 托管老师没签合同
- 店面托管承包合同范本
- 内部委托管理合同范本
- 2025年黑龙江省富锦市高考物理真题汇编考试卷(全优)附答案详解
- 2026年江苏省高邮市高考物理二轮专题考试卷附完整答案详解【考点梳理】
- 灵寿县2025届数学四年级上学期阶段统考试题含答案
- 2025年云南省楚雄市高考物理学业考试试卷附参考答案详解AB卷
- 2025年河南省舞钢市高考物理强基计划测试卷附完整答案详解(名校卷)
- 监理工程师考试《建设工程投资控制》试题及答案
- 202年少儿体育培训中心合作合同三篇
- 《威尼斯的小艇》的教案设计5篇
- 模拟电子技术(第11版英文版)PPT完整全套教学课件
- 虾米腰弯头放样展开方法
- 中华文化选讲(吉林师范大学)知到章节答案智慧树2023年
- 2021-2022学年下学期学区小学二年级数学无纸笔考试方案附等级评价表(小学二年级数学下册无纸化考试方案)
- 2023年火电电力职业技能鉴定考试-装卸机械电器修理工考试题库(含答案)
- GB/T 6730.76-2017铁矿石钾、钠、钒、铜、锌、铅、铬、镍、钴含量的测定电感耦合等离子体发射光谱法
- GB/T 16895.6-2014低压电气装置第5-52部分:电气设备的选择和安装布线系统
- GB 12476.1-2013可燃性粉尘环境用电气设备第1部分:通用要求
- 第五章岩石爆破理论详解课件
- 装配式混凝土结构工程专项施工方案
评论
0/150
提交评论