版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XXXX集团Linux服务器安全设置方案第1页共24页文档控制修改记录作者修改记录日期版本XXX创建文档,初始版本。2015-05-10V1.0第2页共24页描述尽管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/hdamap=/boot/mapinstall=/boot/boot.btime-out=00#把这行该为00promptDefault=linuxrestricted #加入这行password=#加入这行并设置自己的密码image=/boot/vmlinuz-2.2.14-12
3、label=linuxinitrd=/boot/initrd-2.2.14-12.img第3页共24页root=/dev/hda6read-only第二步:因为/etc/lilo.conf文件中包含明文密码,所以要把它设置为root权限读取。rootkapil /# chmod 600 /etc/lilo.conf因为/etc/lilo.conf文件中包含明文密码,所以要把它设置为root权限读取。rootkapil /# chmod 600 /etc/lilo.conf第三步:更新系统,以便对/3/川。.8口产文件做的修改起作用。Rootkapil /# /sbin/lilo -v第四步:使
4、用chattr命令使/etc/lilo.conf文件变为不可改变。rootkapil /# chattr +i /etc/lilo.conf这样可以防止对/etc/lilo.conf任何改变(以外或其他原因)三、账户安全设置删除所有的特殊账户你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。删除用户:rootkapil /# userdel LP删除组:rootkapil /# groupdel LP删除系统特殊的的用户帐号和组帐号:#userdel usernameuser
5、del admuserdel Ipuserdel syncuserdel shutdownuserdel haltuserdel newsuserdel uucpuserdel operatoruserdel gamesuserdel gopher以上所删除用户为系统默认创建,但是在常用服务器中基本不使用的一些帐号,但第4页共24页是这些帐号常被黑客利用和攻击服务器。#groupdel usernamegroupdel admgroupdel lpgroupdel newsgroupdel uucpgroupdel gamesgroupdel dip同样,以上删除的是系统安装是默认创建的一些组
6、帐号。这样就减少受攻击的机会。root账户自动注销在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注 销root账户,系统会自动注销。通过修改账户中TMOUT参数,可以实现此功能。TMOUT 按秒计算。编辑你的profile文件(vi/etc/profile),在HISTFILESIZE=后面加入下面 这行:TMOUT=36003600,表示60*60=3600秒,也就是1小时。这样,如果系统中登陆的用户在一个 小时内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的,.bashrc文件中 添加该值,以便系统对该用户实行特殊的自动注销时间。改变这项设置后,
7、必须先注销用 户,再用该用户登陆才能激活这个功能。root账户电源管理只允许root账户对电源进行管理此项配置防止SYN Flood攻击vi /etc/default/sys-suspend:将 PERMS=console-owner改为 PERMS=-# chmod 0755 /usr/openwin/bin/sys-suspend4、4、取消普通用户的控制台访问权限你应该取消普通用户的控制台访问权限,比如shutdown, reboot、halt等命令。rootkapil /# rm -f /etc/security/console.apps/是你要注销的程序名。第5页共24页定期不需要的
8、用户定期检查主机系统用户,及时删除离职的用户,检查系统中SUID、SGID文件find / ( -perm -004000 -o -perm -002000 ) -type f print检查系统上不正常的隐藏文件。例如:目录文件/dev下是否有可疑文件;/etc/inetd.conf是否有被替换文件;crontat中是否运行可疑进程。编辑初始账户参数,以满足密码策略编辑/etc/sadm/defadduser需要,使用adduser命令时满足密码策略,例如:vi /etc/sadm/defadduserdefgroup=15defgname=usersdefparent=/export/ho
9、medefskel=/etc/skeldefshell=/usr/bin/kshdefinact=30defexpire=四、密码安全设置密码安全性在选择正确密码之前还应作以下修改:修改密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。 口令必须具备采用3种以上字符、长度不少于8位并定期更换;#vi /etc/pam.d/system_auth password requisite pam_cracklib.so minlen=8 ucredit=1 lcredit=1 dcr edit=1 ocredit=1意思为最少有1个大写字母,1个小写字符,1个数字,1
10、个符号修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行PASS_MIN_LEN5改为PASS_MIN_LEN8第6页共24页密码可以被改变的最小时段PWMIN= 1密码的最大生存周期PWMAX= 13设定离用户密码过期的天数,当系统启动时提醒用户PWWARN= 4口令有效期# vi /etc/login.defs PASS_MAX_DAYS 60启用登录失败处理功能可采取结束会话、限制非法登录次数和自动退出等措施设置6次登陆失败后锁定帐户,锁定时间3000秒# vi /etc/pam.d/system-authauth required pa
11、m_tally.so onerr=fail deny=6 unlock_time=3000(放在system-auth文件的第一行,若对root用户起作用,加上even_deny_root root_unlock_time=3000)解锁用户faillog -u 之类的特殊字符可以极大地增强口令的强 健性(若使用DES 口令则不能使用此类字符)。挑选一个可以记住的口令。如果记不住自己的口令,那么它再好也没有用,使用简写或 其他记忆方法来帮助记忆口令。不要在口令中只使用单词或数字。不要使用现成词汇,像名称、词典中的词汇、甚至电视剧或小说中的用语,即使在两端 使用数字,都应该避免使用。不要使用外语
12、中的词汇。口令破译程序经常使用多种语言的词典来检查其词汇列表。依 赖外语来达到保护口令的目的通常不起作用。不要使用黑客术语。第7页共24页打开密码的shadow支持功能:你应该打开密码的shadow功能,来对password力口密。使用/usr/sbin/authconfig 工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用 pwcov,grpconv”命令。其他账户密码是否为空检查/etc/passwd和/etc/shadow,每个用户的密码栏是否不为空。more /etc/passwdmore /etc/shadow五、服务安全1、1、取消并反安装所有
13、不用的服务取消并反安装所有不用的服务,这样你的担心就会少很多。察看7etc/inetd.conf文 件,通过注释取消所有你不需要的服务(在该服务项目之前加一个#)。然后用,sighup 命令升级inetd.conf文件。第一步:更改/etc/inetd.conf权限为600,只允许root来读写该文件。Rootkapil /# chmod 600 /etc/inetd.conf第二步:确定/etc/inetd.conf文件所有者为root。第三步:编辑/etc/inetd.conf文件(vi /etc/inetd.conf),取消下列服务(你不需要的):ftp, telnet, shell,
14、login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth等等。把不需要的服务关闭可以使系统的危险性降低很多。建议只保留以下服务:ftpstreamtcp nowaitroot/usr/sbin/in.ftpdin.ftpdtelnetstreamtcp nowaitroot/usr/sbin/in.telnetdin.telnetdtimestreamtcp nowaitrootinternaltimedgramudp waitroot internalechostreamtcp nowait root internal第8页共24页
15、echo dgramudpwaitrootinternaldiscard streamtcpnowaitrootinternaldiscard dgramudpwaitrootinternaldaytime streamtcpnowaitrootinternaldaytime dgramudpwaitrootinternalrstatd/2-4 tli rpc/datagram_v wait root /usr/lib/netsvc/rstat/rpc.rstatd rpc.rstatd fs stream tcp wait nobody /usr/openwin/lib/fs.auto fs
16、100083/1 tli rpc/tcp wait root /usr/dt/bin/rpc.ttdbserverd rpc.ttdbserverd第四步:给inetd进程发送一个HUP信号:rootkapil /# killall -HUP inetd第五步:用chattr命令把/ec/inetd.conf文件设为不可修改,这样就没人可以修改它:rootkapil /# chattr +i /etc/inetd.conf这样可以防止对inetd.conf的任何修改(以外或其他原因)。唯一可以取消这个属性 的人只有root。如果要修改inetd.conf文件,首先要是取消不可修改性质:root
17、kapil /# chattr -i /etc/inetd.conf别忘了该后再把它的性质改为不可修改的。关闭不用的端口查看/etc/services文件,关闭一些无用服务的端口vi /etc/services关闭系统的自启动服务根据需要停用以下服务cd /etc/rc*.dsendmail月艮务sendmail fe/etc/rc2.d/S88sendmai 更名(mv)为 tc/rc2.d/X88sendmailDNS服务DNS W/etc/rc2.d/S72inetsv 注释掉 d 一项lp服务lp 把/etc/rcZ.d/S801P 更名(mv)为 /etc/rc2.d/X801Puu
18、cp月艮务uucp fe/etc/rc2.d/S70uucp 更名(mv)为/etc/rc2.d/X70uucpsnmp月艮务第9页共24页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、务器和重要客户端上的每个操作系统用户和数据库用户操作系统用户的审计由主机的审计服务进行管理,数据库用户的审计由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 10st=0 backlog=0根据记录数据进行分析,并生成审计报表aurepor
20、t命令格式:aureport选项 主要选项:a报告关于访问向量缓冲(accessvectorcache, AVC)的消息c报告关于配置修改的消息-cr报告关于crypto事件的消息e报告关于事件的消息f报告关于文件的消息h报告关于主机的消息l报告关于登录的消息m报告关于账户修改的消息ma 报告关于 MandatoryAccessControl (MAC)事件的消息p报告关于进程的消息s报告关于系统调用的消息tm报告关于终端的消息如果执行aureport时没有使用任何选项,则会显示如汇总报表。要显示每个日志的启动 和停止时间,可以添加-t选项:aureport-i-t要仅显示失败事件,则使用-f
21、ailure,注意这个选项前面有两条虚线而不是一条:aureport-ifailed要仅显示成功事件,则使用-success,注意这个选项前面有两条虚线而不是一条:aureport-isuccess要产生来自一个日志文件的报表而不是默认报表,则可用-if选项指定它:aureport-i-if/var/log/audit/audit.log.1第10页共24页六、登陆安全1、黑名单使用黑名单可以使你的系统安全面对外部入侵。最好的策略就是阻止所有的主机(在 /etc/hosts.deny文件中加入“ALL: ALLALL, PARANOID),然后再在 /etc/hosts.allow文件中加入所
22、有允许访问的主机列表。第一步:编辑hosts.deny文件(vi /etc/hosts.deny),加入下面这行# Deny access to everyone.ALL: ALLALL, PARANOID这表明除非该地址包好在允许访问的主机列表中,否则阻塞所有的服务和地址。第二步:编辑hosts.allow文件(vi /etc/hosts.allow),加入允许访问的主机列表,比如:ftp: 9 9和是允许访问ftp服务的ip地址和主机名称。第三步:tcpdchk程序是tepd wrapper设置检查程序。它用来检查你的tcpwrapper设置,并报告发现的潜在的和真实的问题。设置完后,运行
23、下面这个命令:Rootkapil /# tcpdchk禁止系统信息暴露当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改/etc/inetd.conf文件 来达到这个目的。把/etc/inetd.conf文件下面这行:telnet streamtcpnowait root/usr/sbin/tcpdin.telnetd修改为:telnet streamtcpnowait root/usr/sbin/tcpdin.telnetd -h在最后加-h可以使当有人登陆时只显示一个login:提示,而不显示系统欢迎信息。修改”/。垢用05190文件”/etc/host.conf说明了如何解析地址。编
24、辑”/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:Lookup names via DNS first then fall back to /etc/hosts.order bind,hosts第11页共24页We have machines with multiple IP addresses. multi onCheck for IP address spoofing. nospoof on第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测 是否/etc/hosts文件中的主机是否拥有多个IP地址(比如有多个以太口网卡
25、)。第三项 设置说明要注意对本机未经许可的电子欺骗。禁止任何人通过su命令改变为root用户su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不 希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配 置文件(在/etc/pam.d/H录下)的开头添加下面两行:编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:auth sufficient /lib/security/pam_rootok.so debugauth required /lib/security/Pam_wheel.so group=whe
26、el这表明只有wheel组的成员可以使用su命令成为root用户。你可以把用户添加到 wheel组,以使它可以使用su命令成为root用户。不允许从不同的控制台进行root登陆/etc/securetty文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑 /etc/securetty文件,再不需要登陆的TTY设备前添加#标志,来禁止从该TTY设备 进行root登陆。root登陆管理编辑登陆文件,修改root登陆参数vi /etc/default/login防止远程的root登陆CONSOLE=/dev/console纪录root的登陆失败,成功的情况。SYSLOG= YES设置登陆
27、会话超时时间TIMEOUT= 120第12页共24页确定登陆需要密码验证PASSREQ= YES系统访问限制任何用户都可以通过rlogin不需要口令以该用户的身份登录到系统。因此要为这些文 件加锁,先创建它们,然后修改其属性为零即可。这样除了 root用户就没有其它用户能创 建或修改它们了。全局查找.rhosts文件#find / name ”.rhosts” -print修改权限chmod 700 /usr/bin/touchchmod 700 /.rhostschmod 700 /.netrcchmod 700 /etc/hosts.equivchmod 700 /usr/bin/chmo
28、d七、Telnet关闭服务编辑 /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 restart设置telnet端口#vi /etc/services 进入编辑模式后查找telne 会找到如
29、下内容: telnet 23/tcp telnet 23/udp第13页共24页将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号 就被修改了。Telnet服务限制如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux是一部主机,而且他有两块网络接口,分别是对外的与对内的 7这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以 这样的来设定:#vi /etc/xinetd.d/telnet#先针对对内的较为松散的限制来设定:service telnet disable bind only_from t
30、elnet的服务=no=预设就是激活telnet服务=7=只允许经由这个适配卡的封包进来=/24=只允许/24这个网段的主机联机进来使用#再针对外部的联机来进行限制service telnet disable bind only_from telnet的服务 only_from no_access=no=预设就是激活telnet服务=只允许经由这个适配卡的封包进来=/16=只允许 55 这个网段联机进来使用=.=重复设定,只有教育网才能联机!=0,26=不许这些 PC 登入access_times=1:00-9:00 20:00-23:59 =每天只有这两个时段开放服务
31、root用户的登入root不能直接以telnet连接上主机。telnet不是很安全,默认的情况之下就是无法允 许root以telnet登入Linux主机的。若要允许root用户登入,可用下列方法root test /root# vi /etc/pam.d/loginauth required pam_securetty.so #将这一行注释去掉!这样一来,root将不可以直接进入Linux主机。第14页共24页八、SSH推荐配置ssh 的配置文件位于 /etc/ssh/sshd_config推荐配置:使sshd服务运行在非标准端口上设置方法:编辑/etc/ssh/sshd_config文件,添
32、加一行内容为(假定设置监听端口是12345): port 12345 在客户端,用 ssh -p 12345登录服务器。3只允许ssh v2的连接protocol 2禁止root用户通过ssh登录PermitRootLogin no5 禁止用户使用空密码登录PermitEmptyPasswords no6限制登录失败后的重试次数MaxAuthTries 37只允许在列表中指定的用户登录AllowUsers useri user2设置完成以后,运行命令使之生效:rootjcwkyl ssh# /etc/init.d/sshd reload禁止root用户直接登陆修改/etc/ssh/sshd_c
33、onfig 文件vi /etc/ssh/sshd_configPermitRootLogin no #不允许 Root 登录第15页共24页3、3、屏蔽banner信息#vi/etc/ssh/sshd_config:#Banner/some/path 注释掉banner的相关条目黑白名单控制:修改白名单,允许需要的主机通过ssh访问vi /etc/host.allowsshd : 192,168.1.107#允许 192,168.1.107 通过 ssh 访问本机修改黑名单,拒绝目标主机通过ssh访问vi /etc/host.denysshd : 05#拒绝 05 通过 ssh 访问本机禁用密
34、码登陆,仅用证书密钥登陆在客户端生成密钥ssh-keygen -t rsa把公钥拷贝至服务器ssh-copy-id -i .ssh/id_rsa.pub server也可以手动将.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认证PubkeyAuthenticatio
35、n yes并开启公钥验证AuthorizedKeysFile .ssh/authorized_keys 并验证文件路径PasswordAuthentication no第16页共24页 并禁止密码认证PermitEmptyPasswords no并禁止空密码UsePAM no禁用PAM最后保存,重启sudo /etc/init.d/ssh restart安装 denyhosts个性化设置请自行修改/etc/denyhosts.confSECURE_LOG = /var/log/auth.logssh日志文件,它是根据这个文件来判断的。HOSTS_DENY = /etc/hosts.deny并控
36、制用户登陆的文件PURGE_DENY =并过多久后清除已经禁止的BLOCK_SERVICE = sshd并禁止的服务名DENY_THRESHOLD_INVALID = 5并允许无效用户失败的次数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是否进行
37、域名反解析LOCK_FILE = /var/run/denyhosts.pid程序的进程IDADMIN_EMAIL = rootlocalhost (可以将这里改成常用的邮箱) 并管理员邮件地址,它会给管理员发邮件SMTP_HOST = localhostSMTP_PORT = 25SMTP_FROM = DenyHosts SMTP_SUBJECT = DenyHosts ReportAGE_RESET_VALID=5dAGE_RESET_ROOT=25dAGE_RESET_RESTRICTED=25dAGE_RESET_INVALID=10d第17页共24页DAEMON_LOG = /va
38、r/log/denyhostsDAEMON_SLEEP = 30sDAEMON_PURGE = 1h、 启停动SSH:启动服务:#service sshd start#service sshd restart (重新启动)停止服务器:#service sshd stop九、FTP关闭服务# service vsftpd stopFTP安全配置# vi /etc/vsftpd/vsftpd.confanonymous_enable=no 是否允许匿名用户登录anonymous_enable=no 是否允许匿名上传文件local_enable= YES 是否允许本地用户登录write_enable
39、= no是否允许本地用户上传guest_enable=yes是否允许虚拟用户登录;local_mask=022设置本地用户的文件生成掩码为022,默认值为077dirmessage_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文件中的用户访问服
40、务器userlist_deny= YES 拒绝vsftpd.user_list文件中的用户访问服务器listen= no是否使用独占启动方式(这一项比较重要)tcp_wrappers= YES是否使用tcp_wrappers作为主机访问控制方式ftpd_banner=设置连接服务器后的欢迎信息idle_session_timeout=60限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的操作就会中断(秒)data_connection_timeout=120设置客户机在进行数据传输时,设置空闲的数据中断时间第18页共24页accept_timeout=60connect time
41、out=60max clients=200max_per_ip=1设置在多长时间后自动建立连接设置数据连接的最大激活时间,多长时间断开,为别人所使用;指明服务器总的客户并发连接数为200指明每个客户机的最大连接数为3local_max_rate=50000 ( 50kbytes/sec)anon_max_rate=30000 pasv_min_port=端口 pasv-max-prot=端口号 listen_address=IP 地址 listen_port=端口号 chroot local user=YES设置本地用户和匿名用户的最大传输速率限制chroot local user=NO定义最
42、大与最小端口,为0表示任意端口;为客户端连接指明端口;设置ftp服务来监听的地址,客户端可以用哪个地址来连接;设置FTP工作的端口号,默认的为21设置所有的本地用户可以chroot设置指定用户能够chrootchroot_list_enable=YESchroot_list_file=/etc/vsftpd.chroot_list (只有/etc/vsftpd.chroot_list 中的指定的用户才能执行)local_root=path无论哪个用户都能登录的用户,定义登录帐号的主目录,若没有指定,则每一个用户则进入到个人用户主目录;chroot_local_user=yes/no是否锁定本地
43、系统帐号用户主目录(所有);锁定后,用户只能访问用户的主 目录/home/user,不能利用cd命令向上转;只能向下;chroot_list_enable=yes/no锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path中指定;userlist enable=YES/NOuserlist_deny=YES是否加载用户列表文件;表示上面所加载的用户是否允许拒绝登录;userlist file=/etc/vsftpd.user list列表文件黑白名单设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问 控制方式)#
44、 vi /etc/hosts.allowvsftpd:28:DENY4、 时间限制:#cp /usr/share/doc/vsftpd-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 表示只有这两个时间段可以访问ftp第19页共24页5、账户限制把所有的
45、系统账户加入到 ftpusers 文件:root、daemon、sys、bin、adm、lp、uucp、nuucp、 listen、nobody以及相应的系统帐号vi /etc/vsftpd.ftpusers十、其他安全防止堆栈溢出:攻击者通过给一个以root身份运行的程序提供比它所预期的输入长得多的字符串,使 被攻击程序无法处理而改变执行流程去执行攻击者指定的代码。修改系统内核参数,到文件的最后,插入以下几行:# vi /etc/systemset noexec_user_stack=1set noexec_user_stack_log=1重启生效日志安全Linux系统的日志文件是可以配置的
46、配置文件/etc/syslog.conf,可编辑此文件让日志系统记录更多信息,保存后需重启/usr/sbin/syslogd进程,重读取配置文件。通常日志系统的文件分别存放在两个位置:/db2/adm保存本地系统日志/db2/log保存登录其它系统时日志。设置utmpx和wtmpx文件权限,确保日志系统安全#chmod 644 /db2/adm/utmpx#chmod 644 /db2/adm/wtmpx设置日志配置文件,以下是常用的系统日志文件名称及其描述:vi /etc/syslog.conflastlog记录用户最后一次成功登录时间loginlog不良的登陆尝试记录messages记录输
47、出到系统主控台以及由syslog系统服务程序产生的消息utmp记录当前登录的每个用户utmpx扩展的 utmp第20页共24页wtmp记录每一次用户登录和注销的历史信息wtmpx扩展的wtmpvold.log记录使用外部介质出现的错误xferkig记录Ftp的存取情况sulog记录su命令的使用情况acct记录每个用户使用过的命令aculog拨出自动呼叫记录修改了/etc/syslog.conf文件后,必须重新启动syslogd守护进程以使配置更改生效,请 执行下面的命令:#/etc/rc.d/init.d/syslog restart将日志文件记录到远程主机如果有另一个Linux或系统,那么
48、让其把消息发到另外一个系统并记录下来。要实现这个功能,在该配置文件中,指定一个记录动作,后面接一个由“听头的远程 系统的主机名,如下例:vi /etc/syslog.conf*.warn; authpriv.notice; *.同时,还要将接受消息的目的系统设置为允许这种操作。此例主机 的syslogd守护进程要用-r参数启动。/etc/rc.d/init.d/syslog restart -r防止TCP序列号预测攻击(ip欺骗)在/etc/default/inetinit中增加设置来防止TCP序列号预测攻击(ip欺骗)vi /etc/default/inetinitTCP_STRONG_IS
49、S=2 增加此行iptablesiptables 概念:Iptalbes(IP包过滤器管理)是用来设置、维护和检查Linux内核的IP包过滤规则的。可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是 一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称 作target(目标),也可以跳向同一个表内的用户定义的链。通过使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤 表中。这些规则具有目标,它们告诉内核对来自某些源、前往某些目的地或具有某些协议类 型的信息包做些什么。如果某个信息包与规则匹配,那么使用目标ACCEPT允
50、许该信息包 通过。还可以使用目标DROP或REJECT来阻塞并杀死信息包。对于可对信息包执行的 其它操作,还有许多其它目标。根据规则所处理的信息包的类型,可以将规则分组在链中。处理入站信息包的规则被添 加到INPUT链中。处理出站信息包的规则被添加到OUTPUT链中。处理正在转发的信第21页共24页 息包的规则被添加到FORWARD链中。这三个链是基本信息包过滤表中内置的缺省主链。 另外,还有其它许多可用的链的类型(如PREROUTING和POSTROUTING),以及提供 用户定义的链。每个链都可以有一个策略,它定义“缺省目标”,也就是要执行的缺省操作, 当信息包与链中的任何规则都不匹配时,
51、执行此操作。建立规则并将链放在适当的位置之后,就可以开始进行真正的信息包过滤工作了。这时 内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的头信息,尤其 是信息包的目的地。我们将这个过程称为路由。如果信息包源自外界并前往系统,而且防火墙是打开的,那么内核将它传递到内核空间 信息包过滤表的INPUT链。如果信息包源自系统内部或系统所连接的内部网上的其它源, 并且此信息包要前往另一个外部系统,那么信息包被传递到OUTPUT链。类似的,源自 外部系统并前往外部系统的信息包被传递到FORWARD链。F inputP input REJECT#以下是允许input规则链的tcp端口为:
52、80 81 22 123A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPTA input -s 0/0 -d 0/0 81 -p tcp -y -j ACCEPTA input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPTA input -s 0/0 -d 0/0 123 -p udp -j ACCEPT#设置除了以上允许的input规则链以为,拒绝0-1023、2049、6000-6009、7100的 tcp 和 upd 端口,A input -p tcp -s 0/0 -d 0/0 0:1023 -y -j REJECTA
53、input -p tcp -s 0/0 -d 0/0 2049 -y -j REJECTA input -p udp -s 0/0 -d 0/0 0:1023 -j REJECTA input -p udp -s 0/0 -d 0/0 2049 -j REJECTA input -p tcp -s 0/0 -d 0/0 6000:6009 -y -j REJECTA input -p tcp -s 0/0 -d 0/0 7100 -y -j REJECT#允许系本身统网卡上发生的所有包通过A input -s 0/0 -d 0/0 -i lo -j ACCEPTA input -s 0/0 -
54、d 0/0 -i eth0 -j ACCEPTA input -s 0/0 -d 0/0 -i eth1 -j ACCEPT#清除output规则的规则,并改变output默认的规则链策略为ACCEPTF outputP output ACCEPT#清除forward规则的规则,并改变forward默认的规则链策略为DENY,设置了 forward 规则链允许对/24网段的包可以转发并且做伪装处理。F forwardP forward DENYA forward -s /24 -j MASQ第22页共24页十二、服务器监控chmod +x nmon_x86_ubuntu810mv nmon_x
55、86_ubuntu810 /usr/local/bin/nmon然后直接运行nmon即可。分别输入c、t、n、m,可以了解系统cpu,内存,消耗资源最高的线程的使用情况。H虱/0 ao Or6 2 0IdleJil90.01 U 200.01 100+01 IMG IPhysical OLI 1,11,00,097,9rcpu占用不降Physical 肉Used 四.7芯 胃 Free 0.3XPsgeSpace2.瑞1pages/sec InOut1 to Pacing 和己80*5。*。1 to File SystemQ.OQ*0帼 Used350B.7MBMB Freell,3i1ETo
56、tsl(MB 药2L0MB487+tSB 1Page Scans0.0205041Page Cycles0,0209921Psge Stls0+0.H虱/0 ao Or6 2 0IdleJil90.01 U 200.01 100+01 IMG IPhysical OLI 1,11,00,097,9rcpu占用不降Physical 肉Used 四.7芯 胃 Free 0.3XPsgeSpace2.瑞1pages/sec InOut1 to Pacing 和己80*5。*。1 to File SystemQ.OQ*0帼 Used350B.7MBMB Freell,3i1ETotsl(MB 药2L0MB487+tSB 1Page Scans0.0205041Page Cycles0,0209921Psge Stls0+0.&agje,-Exults045一 g三上.= = = = = = = = 4。= =Henory750HB 1策 ,用画曲 f1?腐一笈 of RAMFiLeGysteMCflche(numpern) 12,0%Pro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起重机指挥q1模拟考试题库答案
- 2025年民宿旅游运营协议
- 绵阳市涪城区事业单位招聘考试真题及答案2022
- 2025年门窗安装保密协议
- 2025年绿色建筑采购协议
- 2025年体育赛事承办项目可行性研究报告及总结分析
- 教师安全考试试卷(2篇)
- 电工(初级工)考试题与参考答案
- 2025年人工智能辅助医疗服务可行性研究报告及总结分析
- 2025年高级矿井机电维修工(理论知识)考试真题试题(新版)-含答案
- 人文成都智慧树知到期末考试答案章节答案2024年成都师范学院
- 医疗组长竞聘演讲
- (高清版)DZT 0142-2010 航空磁测技术规范
- (高清版)DZT 0284-2015 地质灾害排查规范
- 《因果推断实用计量方法》大学教学课件-双重差分法
- 研学商业计划书模板
- 2023年光器件工艺工程师年终总结及下一年展望
- 3.3《不简单的杠杆》课件
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 俄语实用语法智慧树知到答案章节测试2023年哈尔滨师范大学
- GB/T 711-1988优质碳素结构钢热轧厚钢板和宽钢带
评论
0/150
提交评论