IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页服务器其他服务器 → 明明白白你的Linux服务器——安全篇

明明白白你的Linux服务器——安全篇

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  一、Linux服务器的硬件防护

  我在项目实施中和自己的网站架设中,发现防DDOS攻击及SQL注入、跨站脚本、蠕虫、黑客扫描和攻击等攻击效果不错的方案有:

  ①华赛三层防火墙+天泰web防火墙;

  ②Juniper系列防火墙;

  如果你的Linux或FreeBSD前端无任何硬件防护,一下要记得开启iptables或ipfw防火墙。虽然它们不能防DDOS攻击,但在安全防护上或多或少的有所作用;如果是windows2003服务器,建议开启它自带的系统防火墙,并禁ping。

  建议采用64位的Linux操作系统,如centos 5.4;如果是UNIX,建议采用FreeBSD 8.0(也采用64位的)。多关注下服务器的内核漏洞,现在linux很多攻击都是针对内核的,保证内核版本为2.6.9以上。

  二、远程连接你的Linux服务器

  对于远程连接,建议只允许在内网进行ssh操作,而拒绝外网控制,这样做是比较安全的(此步操作可能要配合公司的网络工程师来操作)。

  如果非要从外网进行ssh操作,建议正确配置x-shell、putty等远程连接工具的公钥和私钥。root密码我一般设置为28位以上,建议用字母+数字的组合,如p@sSw0rdyuhongchun027nagios,而且某些重要的服务器必须只有几个人知道root密码,这个根据公司权限来设置,如果有公司的系统管理员离职,root密码一定要更改;玩linux久了的人都应该知道,更改root密码不会影响linux的crontab计划任务(这个在windows2003就不一样了,如果随意更改administrator密码,会直接影响其计划任务运行)。

  三、Linux服务器如何防ssh暴力破解

  我的Nagios外网监控服务器,刚开始测试时取的密码是redhat,放进公网一天就被人改了,郁闷死了;后来环境部署成熟以后发现仍然有不少外网ip在扫描和试探,看来不用点工具不行啊;呵呵,我尝试使用大家都推荐使用的DenyHosts,它是用python2.3写的一个程序,它会分析/var/log/secure等日志文件,当发现同一IP在进行多次SSH密码尝试时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽该IP的目的。DenyHosts官方网站为:https://denyhosts.sourceforge.net

  ①检查安装条件

  1、首先判断系统安装的sshd是否支持tcp_wrappers(默认都支持)

  # ldd /usr/sbin/sshd

  libwrap.so.0 => /usr/lib/libwrap.so.0 (0x0046e000)

  2、判断默认安装的Python版本

  # python -V

  Python 2.3.4

  3、已安装Python2.3以上版本的情况可以直接安装DenyHosts

  # cd /usr/local/src

  # wget https://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz

  # tar zxf DenyHosts-2.6.tar.gz

  # cd DenyHosts-2.6

  # python setup.py install

  程序脚本自动安装到/usr/share/denyhosts

  库文件自动安装到/usr/lib/python2.3/site-packages/DenyHosts

  denyhosts.py自动安装到/usr/bin

  ②设置启动脚本

  # cd /usr/share/denyhosts/

  # cp daemon-control-dist daemon-control

  # chown root daemon-control

  # chmod 700 daemon-control

  # grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

  # vi denyhosts.cfg

  根据自己需要进行相应的修改

  denyhosts.cfg

  SECURE_LOG = /var/log/secure

  #RedHat/Fedora Core分析该日志文件

  #其它版本linux根据denyhosts.cfg-dist内提示选择。

  PURGE_DENY = 30m

  #过多久后清除

  DENY_THRESHOLD_INVALID = 1

  #允许无效用户(/etc/passwd未列出)登录失败的次数

  DENY_THRESHOLD_VALID = 5

  #允许有效(普通)用户登录失败的次数

  DENY_THRESHOLD_ROOT = 3

  #允许root登录失败的次数

  HOSTNAME_LOOKUP=NO

  #是否做域名反解

  如果需要DenyHosts随系统重启而自动启动,还需做如下设置:

  # vi /etc/rc.local

  加入下面这条命令

  /usr/share/denyhosts/daemon-control start

  ③启动

  # /usr/share/denyhosts/daemon-control start

  如果要使DenyHosts每次重起后自动启动还需做如下设置:

  # cd /etc/init.d

  # ln -s /usr/share/denyhosts/daemon-control denyhosts

  # chkconfig --add denyhosts

  # chkconfig --level 345 denyhosts on

  然后就可以启动了:

  service denyhosts start

  DenyHosts配置文件:

  vi /etc/denyhosts.cfg

  SECURE_LOG = /var/log/secure #ssh日志文件,它是根据这个文件来判断的。

  HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件

  PURGE_DENY = 5m#过多久后清除已经禁止的

  BLOCK_SERVICE   = sshd#禁止的服务名

  DENY_THRESHOLD_INVALID = 1#允许无效用户失败的次数

  DENY_THRESHOLD_VALID = 10#允许普通用户登陆失败的次数

  DENY_THRESHOLD_ROOT = 5#允许root登陆失败的次数

  HOSTNAME_LOOKUP=NO#是否做域名反解

  DAEMON_LOG = /var/log/denyhosts#自己的日志文件

  ADMIN_EMAIL = yuhongchun027@163.com#管理员邮件地址,它会给管理员发邮件

  下面这个是全自动下载安装的小脚本(推荐),当然安装后还得手动调整配置文件。install_denyhosts.sh脚本内容如下:

  #!/bin/bash

  cd /usr/local/src

  wget https://jaist.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.6.tar.gz

  tar zxf DenyHosts-2.6.tar.gz

  cd DenyHosts-2.6

  python setup.py install

  cd /usr/share/denyhosts/

  cp daemon-control-dist daemon-control

  chown root daemon-control

  chmod 700 daemon-control

  grep -v "^#" denyhosts.cfg-dist > denyhosts.cfg

  echo "/usr/share/denyhosts/daemon-control start" >>/etc/rc.local

  cd /etc/init.d

  ln -s /usr/share/denyhosts/daemon-control denyhosts

  chkconfig --add denyhosts

  chkconfig --level 345 denyhosts on

  service denyhosts start

  下面是hostsdeny的示例:

  Connection to 192.168.0.154 closed.

  [root@autolemp ~]# ssh 192.168.0.154

  root@192.168.0.154's password:

  Permission denied, please try again.

  root@192.168.0.154's password:

  Permission denied, please try again.

  root@192.168.0.154's password:

  Permission denied (publickey,gssapi-with-mic,password)

  出现最后这行表示生效。

关键词标签:Linux,服务器

相关阅读

文章评论
发表评论

热门文章 VMware中Shared Folders(共享文件夹)的配VMware中Shared Folders(共享文件夹)的配CentOS NTP服务器安装与配置CentOS NTP服务器安装与配置实战:RemoteApp服务器应用程序安装实战:RemoteApp服务器应用程序安装nginx搭建flv流媒体服务器nginx搭建flv流媒体服务器

相关下载

人气排行 VMware中Shared Folders(共享文件夹)的配置nginx搭建flv流媒体服务器CentOS NTP服务器安装与配置修改Windows Server 远程登录(远程桌面)最大连接数目nginx的自动启动脚本heartbeat+LVS-ipvsadm+ldirectord搭建lvs DR集群Windows 2003下配置架设NTP时间服务器五步解决“服务器超出最大允许连接数”错误