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