如何提高Linux主机安全性

Yxhds YW| 2013-03-27 主机空间 评论数( 0 )

众所周知,Linux相对于Windows有更多的优势,运行在Linux上的网站也越来越多了。但是,不管哪一种Linux发行版本,安装完成后都需要必须的配置,增强它的安全性。下面简单介绍一下,如何提高Linux主机安全性能。

1. 从mini linux开始

如果允许,初装的linux,系统尽可能的小。比方说,作为网站的服务器,没有必要将桌面系统一并安装。最初的系统,除了最最基本的功能,再具备“ssh”就够了。这样最少有三大优点:

  • 系统小,占用资源小,为性能提升留下更多的空间。
  • 只安装必须的软件和服务,便于管理,资源更可控。
  • 安全,潜在的漏洞和后门少了。

2. SSH登录安全管理

笔者认为,远程登录安全,是网站首要解决的问题。ssh登录服务器时需要注意一下几点:

  • 不允许用root直接登录
  • 建议,禁用密码,使用密匙的方式登录
  • 使用最新版本的SSH,版本号高于2.0
  • 设置白名单

通过修改文件/etc/sshd_config,设置白名单:

AllowUsers <user@Host>

3. 保持更新

每个大型系统都有一个不断的改进过程,定期更新升级,是非常有必要的。第一次登陆系统时,做的第一件事就是更新和升级。

Debian/Ubuntu:

# apt-get update && apt-get upgrade

5. 文件和权限

  读Read(r) 写Write(w) 执行Execute(x)
用户User 4 2 1
组Group 4 - 1
其他Others 4 - -

chmod: -rwxr-xr-- | 0754

6. 删除不必要服务

不需要的一律去掉。如ftp,telnet,exec,talk,imap,pop等,这些如果不是必须,就关闭,甚至删除。关闭和删除的方法,不同版本的linux会有所不同,以ubuntu/debian为例:

停止服务:

# /etc/init.d/(servicename) stop

禁止开机运行:

# update-rc.d (servicename) remove

7. 网站服务

Linux下较为流行的网站服务有Apache和Nginx等。如何提高Apache或Nginx安全性能,可以深入的内容有很多。这里只讲两点:

  • 给网站服务分配单独的用户和用户组,例如www-data。
  • 不要把不必要的文件暴露在http下面

建议的目录结构如下。只有public目录下的文件可以通过http访问。

/var/www/site public --> 可以通过http访问 config src ……

8. 数据库

  • 1)限制数据库客户端。 例如,如果网站服务和数据库在同一台服务器,MySQL可以通过配置/etc/mysql/my.cnf文件,限制客户端用户必须来自本机:bind-address=127.0.0.1
  • 为每个新数据库创建一个新的用户
  • 新用户,只可以拥有SELECT, UPDATE INSERT DELETE, ALTER, CREATE权限,避免错误的删除数据
  • 新用户,能用'new_user'@'localhost'就绝不用'new_user'@'%'

9. 适当地配置防护墙

防火墙是外部攻击的第一道防线。可以通过以下命令查看监听的TCP和UDP端口。

# netstat -nltup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 1648/sendmail: MTA: tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 1162/memcached tcp 0 0 0.0.0.0:28017 0.0.0.0:* LISTEN 1022/mongod tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1633/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1648/sendmail: MTA: tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1022/mongod tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1354/mysqld tcp6 0 0 :::139 :::* LISTEN 1079/smbd tcp6 0 0 :::80 :::* LISTEN 1098/apache2 tcp6 0 0 :::22 :::* LISTEN 1633/sshd tcp6 0 0 :::445 :::* LISTEN 1079/smbd udp 0 0 0.0.0.0:68 0.0.0.0:* 856/dhclient udp 0 0 127.0.0.1:11211 0.0.0.0:* 1162/memcached udp 0 0 192.168.47.255:137 0.0.0.0:* 1045/nmbd udp 0 0 192.168.47.10:137 0.0.0.0:* 1045/nmbd udp 0 0 192.168.83.255:137 0.0.0.0:* 1045/nmbd udp 0 0 192.168.83.128:137 0.0.0.0:* 1045/nmbd udp 0 0 0.0.0.0:137 0.0.0.0:* 1045/nmbd udp 0 0 192.168.47.255:138 0.0.0.0:* 1045/nmbd udp 0 0 192.168.47.10:138 0.0.0.0:* 1045/nmbd udp 0 0 192.168.83.255:138 0.0.0.0:* 1045/nmbd udp 0 0 192.168.83.128:138 0.0.0.0:* 1045/nmbd udp 0 0 0.0.0.0:138 0.0.0.0:* 1045/nmbd

再通过文件/etc/services,查看默认的端口:

…… whois 43/tcp nicname tacacs 49/tcp # Login Host Protocol (TACACS) tacacs 49/udp re-mail-ck 50/tcp # Remote Mail Checking Protocol re-mail-ck 50/udp domain 53/tcp # name-domain server domain 53/udp mtp 57/tcp # deprecated tacacs-ds 65/tcp # TACACS-Database Service tacacs-ds 65/udp bootps 67/tcp # BOOTP server bootps 67/udp bootpc 68/tcp # BOOTP client bootpc 68/udp tftp 69/udp gopher 70/tcp # Internet Gopher gopher 70/udp rje 77/tcp netrjs finger 79/tcp www 80/tcp http # WorldWideWeb HTTP www 80/udp # HyperText Transfer Protocol link 87/tcp ttylink ……

然后根据需求限制端口的使用,关闭不必要的端口,切记,防火墙不是万能的,不要配置的过于复杂。

9. 日志与监控

日志是监控服务器,查找问题,发现黑客攻击最好的手段,如果必要的话使用专门的服务器管理和备份日志。Linux日志,如何配置和分析,详细内容,以后的文章再介绍。

标签:

聚焦云计算,扫描二维码,关注HostUCan云计算

有好的文章希望站长之间帮助分享推广,猛戳这里我要投稿

您需要登录后才可以评论登录|注冊

暂无评论