当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪有关Linux系统安全加固的建议      有关Linux系统安全加固的建议,不错的一篇文章,有需要的朋友可以参考下。 一、安装和升级 使用custom自定义安装,不必要的软件包尽量不装,如有必要给lilo/grub引导器加入口令限制,安装.........
    ▪有关配置linux磁盘配额的步骤学习      linux下磁盘配额的步骤: 1.查看quota软件包是否安装 #rpm -q quota 2.修改配置文件“fstab”,在需要配置quota的分区装在设置中添加“usrquota”,“grpquota” #vi /etc/fstab LABEL=/    /   ext3      .........
    ▪有关Tcp-Wrapper的相关知识      Tcp-Wrapper:负责管理一些网络服务,控管哪些ip可以连接,哪些ip拒绝连接。 查看tcp-wrapper是否安装:   代码如下: [root@HI0-OA-nagios ~]# rpm -qa|grep tcp tcp_wrappers-7.6-40.4.el5 查看tcp_wrappers包含哪些.........

[1]有关Linux系统安全加固的建议
    来源: 互联网  发布时间: 2013-12-24

有关Linux系统安全加固的建议,不错的一篇文章,有需要的朋友可以参考下。

一、安装和升级
使用custom自定义安装,不必要的软件包尽量不装,如有必要给lilo/grub引导器加入口令限制,安装完成后使用up2date、yum或是apt(Debian)升级系统软件,有时升级内核也是必要的。
编辑 /etc/sudoers 添加下面内容
jinshuai    ALL=NOPASSWD:ALL

二、帐号安全
1、一般服务器都是放在IDC机房,需要通过远程访问进行管理,要限制root的远程访问,管理员通过普通帐号远程登录,然后su到root,开发人员只使用普通帐号权限。

1)、在/etc/default/login 文件,增加一行设置命令: 
  CONSOLE = /dev/tty01 

2)、可以通过下面的脚本禁止对控制台的访问:
 

代码如下:
# !/bin/sh
  cd /etc/pam.d
  for i in * ; do
   sed '/[^#].*pam_console.so/s/^/#/'  foo && mv foo $I
  done

3)、通过下面的措施可以防止任何人都可以su为root,在/etc/pam.d/su中添加如下两行。
  auth       sufficient   /lib/security/$ISA/pam_rootok.so debug
  auth       required     /lib/security/$ISA/pam_wheel.so group=wheel
  然后把您想要执行su成为root的用户放入wheel组:
  usermod -G10 admin

2、编辑/etc/securetty,注释掉所有允许root远程登录的控制台,然后禁止使用所有的控制台程序,其命令如下:
rm -f /etc/security/console.apps/servicename

三、采用最少服务原则,凡是不需要的服务一律注释掉。在/etc/inetd.conf中不需要的服务前加"#",较高版本中已经没有inetd,而换成了Xinetd;取消开机自动运行服务,把/etc/rc.d/rc3.d下不需要运行的服务的第一个字母"S"改成"K",其他不变.

四.文件系统权限
1)、找出系统中所有含s"位的程序,把不必要的"s"位去掉,或者把根本不用的直接删除,这样可以防止用户滥用及提升权限的可能性,其命令如下:
 

代码如下:
find / -type f -perm -4000 -o -perm -2000 -print | xargs ls -lg

2)、把重要文件加上不可改变属性(一般情况不用这么做):
chattr +i /etc/passwd
Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。

3)、找出系统中没有属主的文件:
find / -nouser -o -nogroup

4)、找出任何都有写权限的文件和目录:
 

代码如下:
  find / -type f -perm -2 -o -perm -20 |xagrs ls -lg
  find / -type d -perm -2 -o -perm -20 |xagrs ls -ldg

5)、ftp的上传目录不能给与执行权限,如提供可运行CGI的虚拟主机服务,应该做额外安全配置.编/etc/security/limits.conf,加入或改变如下行:
 

代码如下:
  hard core 0
  hard rss 5000
  hard nproc 20

五.Banner伪装
1)、入侵者通常通过操作系统、服务及应用程序版本来攻击,漏油列表和攻击程也是按此来分类,所以我们有必要作点手脚来加大入侵的难度。
所以编辑/etc/rc.d/rc.local如下:
 

代码如下:
  echo "Kernel $(uname -r) on $a $(uname -m)" >/etc/issue
  echo "Kernel \r on an \m" >> /etc/issue
  cp -f /etc/issue /etc/issue.net
  echo >> /etc/issue

2)、对于Apache的配置文件,找到ServerTokens和ServerSignature两个directive,修改其默认属性如下,使用不回显版本号:
 

代码如下:
  ServerTokens prod
  ServerSignature Off

六、IPTABLES防火墙规则:

代码如下:
iptables -A INPUT -p --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j DROP

以上规则将阻止由内而外的TCP主动选接。上面是一个简单例子,IPTABLES功能十分强大,可以根据具体情况设置防火墙规则。

七、tripwire配置
现在的Linux发行版中一般部带有该工具的开源版本,在默认的校验对象配置文件中加入一些敏感文件就可以使用。

八.自行扫描
普通的安全加固基本上是做完了,我们可以自己做一个风险评估,推荐使用nessus latest version.

九.日志策略
主要就是创建对人侵相关的重要日志的硬拷贝,不致于应急响应的时候连最后的黑匣子都没有。可以把它们重定向到打印机,管理员邮件,独立的日志服务器及其热备份。

十.Snort入侵检测系统
对人侵响应和安全日志要求较高的系统有此必要;对于一般的系统而言,如果管理员根本不会去看一大堆日志,那么它白白占用系统资源,就如同鸡肋一样。

对Linux平台下病毒的防范总结出以下几条建议,仅供参考:
(1)做好系统加固工作。
(2)留心安全公告,及时修正漏洞。
(3)日常操作不要使用root权限进行。
(4)不要随便安装来历不明的各种设备驱动程序。
(5)不要在重要的服务器上运行一些来历不明的可执行程序或脚本。
(6)尽量安装防毒软件,并定期升级病毒代码库。
(7)对于连接到Internet的Linux服务器,要定期检测Linux病毒、蠕虫和木马是否存在。
(8)对于提供文件服务的Linux服务器,最好部署一款可以同时查杀Windows和Linux病毒的软件。
(9)对于提供邮件服务的Linux服务器,最好配合使用一个E-mail病毒扫描器。
总而言之,对于Linux平台下病毒的防范要采取多种手段,决不可因为现在Linux病毒很少就掉以轻心。


    
[2]有关配置linux磁盘配额的步骤学习
    来源: 互联网  发布时间: 2013-12-24

linux下磁盘配额的步骤:

1.查看quota软件包是否安装
#rpm -q quota

2.修改配置文件“fstab”,在需要配置quota的分区装在设置中添加“usrquota”,“grpquota”
#vi /etc/fstab
LABEL=/    /   ext3      defaults,usrquota,grpquota          1   1

3.重新挂在文件系统
正确配置“fstab”文件后需要重新挂在文件系统,是文件系统的配置生效,对于根分区的设置,最简单的办法就是重启系统。
#reboot

4.重启完系统后,创建配额文件,分别对用户和组:
#quotacheck -cmug /
配额文件会自动建立在分区文件系统的根目录中

5.临时创建一个用户:aaa
给这个用户设置配额

6.给用户aaa设置配额,在实际应用中,一般只对用户最磁盘使用的大小,不用设置用户对文件的多少,应硬限制应大于软限制,为了方便验证用户对配额的使用情况,只对用户设置文件数量的多少:
edquota -u aaa
要是给足设置的话可以用:edquota -g 组名

7.检查配额系统的一致性(此步可以省略)
#quotacheck -mfvug /

8.启动配额项:
quotaon -avug

9.配额步骤基本完事成,用quota -u aaa查看一下对用户aaa的配额情况。


    
[3]有关Tcp-Wrapper的相关知识
    来源: 互联网  发布时间: 2013-12-24

Tcp-Wrapper:负责管理一些网络服务,控管哪些ip可以连接,哪些ip拒绝连接。

查看tcp-wrapper是否安装:
 

代码如下:
[root@HI0-OA-nagios ~]# rpm -qa|grep tcp
tcp_wrappers-7.6-40.4.el5

查看tcp_wrappers包含哪些文件:
 

代码如下:
[root@HI0-OA-nagios ~]# rpm -ql tcp_wrappers-7.6-40.4.el5
/usr/include/tcpd.h
/usr/lib/libwrap.a
/usr/lib/libwrap.so
/usr/lib/libwrap.so.0
/usr/lib/libwrap.so.0.7.6
/usr/sbin/safe_finger
/usr/sbin/tcpd
/usr/sbin/try-from
/usr/share/doc/tcp_wrappers-7.6
/usr/share/doc/tcp_wrappers-7.6/BLURB
/usr/share/doc/tcp_wrappers-7.6/Banners.Makefile
/usr/share/doc/tcp_wrappers-7.6/CHANGES
/usr/share/doc/tcp_wrappers-7.6/DISCLAIMER
/usr/share/doc/tcp_wrappers-7.6/README
/usr/share/doc/tcp_wrappers-7.6/README.IRIX
/usr/share/doc/tcp_wrappers-7.6/README.NIS
/usr/share/man/man3/hosts_access.3.gz
/usr/share/man/man5/hosts.allow.5.gz
/usr/share/man/man5/hosts.deny.5.gz
/usr/share/man/man5/hosts_access.5.gz
/usr/share/man/man5/hosts_options.5.gz
/usr/share/man/man8/tcpd.8.gz

一般来说Tcp-Wrapper支持的服务有pop3、sshd、vsftpd、telnet、imap等。
判断一个服务能否被Tcp-Wrapper支持,这里以sshd为例:
 

代码如下:
[root@HI0-OA-nagios ~]# ldd /usr/sbin/sshd
linux-gate.so.1 =>  (0x00e16000)
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x005a9000)
libpam.so.0 => /lib/libpam.so.0 (0x00873000)
libdl.so.2 => /lib/libdl.so.2 (0x001f1000)
libselinux.so.1 => /lib/libselinux.so.1 (0x005b1000)
libaudit.so.0 => /lib/libaudit.so.0 (0x002e4000)
...

省略N项,看到上面的libwrap.so.0 => /usr/lib/libwrap.so.0 (0x005a9000)这一行了吧,形如此所示的便是支持了。

当封包到达主机之后,使用 TCP-Wrapper 会先参考 hosts.allow,若是该服务在 hosts.allow 里面,就会先被通过,如果不在 hosts.allow 里面,就会继续往下,参考 hosts.deny,如果该服务在 hosts.deny 在该项目里面,那么就无法使用;最后,万一该服务在 hosts.allow 或 hosts.deny 里被没有被描述的话,就可以使用。实际中,都是先 deny 所有的 service,再逐一打开。因此,都会在 hosts.deny 里会设定 ALL:ALL,再到 hosts.allow。
举个例子:
 

代码如下:
vi /etc/hosts.deny
sshd:ALL EXCEPT 192.168.1.100: spawn (/bin/echo illegal connection attempt from %h %a to %d %p at `date` >>/var/log/unknow.log | mail root) &

注解:
只是允许192.168.1.100访问sshd,连接到linux。spawn开始的这一段意思是除了192.168.1.100之外的所有的访问都把它记录到一个log文件中去

至于参数的含义,man hosts.deny 吧,答案尽在man中了。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3