Linux 安全配置

Linux 作为服务器时,对系统的安全配置如下:

Linux有很多无用的帐号,对于一个系统来说,多一个帐号就多一份危险,可以把无用的帐号删除

     删除用户命令 usedel + 用户名

     删除用户组

关闭其他默认启动服务

系统默认会启动很多不必要的服务,有可能造成安全隐患。建议关闭以下不必要的服务:

apmd canna FreeWnn gpm hpoj innd irda isdn kdcrotate lvs mars-nwe oki4daemon privoxyrstatd rusersd rwalld rwhod spamassassin wine nfs nfslock autofs ypbind ypservyppasswdd portmap smb netfs lpd apache httpd tux snmpd named postgresql mysqldwebmin kudzu squid cups

           关闭服务命令   chkconfig --level 12345  服务名 off

关闭上面服务后,同时也要删除相对应的帐号

要求设置口令策略以提高系统的安全性。例如要将口令策略设置为:非root用户强制在90天内更该口令、之后的7天之内禁止更改口令、用户在口令过期的10天前接受到系统的提示、口令的最小长度为8位。RedHat Linux为例,可在/etc/login.defs文件中进行如下设置:

      vi /etc/login.defs

      PASS_MAX_DAYS   90

      PASS_MIN_DAYS   7

      PASS_MIN_LEN    8

      PASS_WARN_AGE   10

修改自动注销帐号时间

  自动注销帐号的登录,在Linux系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全隐患,应该让系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTSIZE="后面加入下面这行:

       TMOUT=300

  300,表示300秒,也就是表示5分钟。这样,如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注销这个账户


限制Shell命令记录大小

   默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。


  您可以编辑/etc/profile文件,修改其中的选项如下:


  HISTFILESIZE=20或HISTSIZE=20


  #vi /etc/profile


  HISTSIZE=20


注销时删除命令记录

  编辑/etc/skel/.bash_logout文件,增加如下行:

  rm -f $HOME/.bash_history

  这样,系统中的所有用户在注销时都会删除其命令记录。

  如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。


修改ssh服务的root登录权限

  修改ssh服务配置文件,使的ssh服务不允许直接使用root用户来登录,这样减少系统被恶意登录攻击的机会。

  #vi /etc/ssh/sshd_config

  PermitRootLogin yes

  将这行前的#去掉后,修改为:

  PermitRootLogin no

  10.修改ssh服务的sshd 端口

  ssh默认会监听在22端口,你可以修改至6022端口以避过常规的扫描。

  注意:修改端口错误可能会导致你下次连不到服务器,可以先同时开着22和6022两个端口,然后再关掉22端口;

  重启sshd不会弹掉你当前的连接,可以另外开一个客户端来测试服务;

  vi /etc/ssh/sshd_config

  增加修改

  Port 22 #关闭22端口

  Port 6022 #增加6022端口

  重启sshd服务

  service sshd restart

  检查一下sshd的监听端口对不对

  netstat -lnp|grep ssh

  iptables开放sshd的6022端口

  vi /etc/sysconfig/iptables

  如果使用redhat默认规则则增加

  -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6022 -j ACCEPT

  或

  iptables -A INPUT -p tcp --dport 6022 -j ACCEPT

  iptables -A OUTPUT -p udp --sport 6022 -j ACCEPT

  重启iptables 服务

  service iptables restart

  测试两个端口是否都能连上,连上后再将22端口删除

还有一点,我们知道,当开机时,进入grub界面,我们按e 就可以选择进入单用户模式,这样root密码就可以更改,在是不是不安全呢 ,可以这样设置

编辑 vi /etc/grub.conf

如果还想进入grub界面,可以按按键P而不是e了

如果不想暴露自己的系统的内核版本,可以编辑 vi /etc/issue 和 vi /etc/issue.net


你可能感兴趣的:(linux,服务器,安全,用户组,用户名)