保护你的Ubuntu服务器

安全是相对的,使用本文介绍的这些方法不能绝对保证你的服务器是“安全的”,但可以肯定的是它比以前更安全,也比大多数服务器要安全,至少菜鸟级的黑客是无法攻破的;安全是一个持续的过程,它不是一蹴而就的,我们认为,在安全领域是需要一点偏执精神的。

本文所列举的这些保护措施在Ubuntu Server 10.04(Lucid)和10.10(Maverick)中测试通过,如果你想让你的新Ubuntu服务器变得坚不可摧,你应该仔细阅读本文。

保护你的Ubuntu服务器

Ubuntu服务器设计优良,并有定期更新,相对来说是比较安全的,Ubuntu安全团队表示会不断努力,保护Ubuntu的安全,将会定期提供安全更新。

· 不打开端口

· 基于角色的管理

· 无X服务器

· 安全更新

· 内核和编译器保护

在这篇文章中,我们将从不同方向来应对安全挑战,包括:系统分析,修改设置,安装防火墙,扫描rootkit和制定周期性维护制度。

· 修改设置,增强安全性

· 实施UFW,简单的防火墙

· 使用denyhosts自动将攻击者列入黑名单

· 使用Tiger扫描系统漏洞

· 使用psad检测入侵尝试行为

· 安装nmap,扫描系统打开的端口

· 使用chkrootkit检查系统rootkit

· 监控日志

修改设置,增强安全

保护共享内存

攻击一个运行中的服务(如httpd)时经常要使用/dev/shm,修改/etc/fstab使其更安全。

sudo vi /etc/fstab

添加下面这一行内容:

tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0

禁止root通过SSH登录

Root帐号在Ubuntu中默认是被禁用了的,如果你在Slicehost或Linode上安装Ubuntu,root则是被启用的,无论怎样,禁止root通过SSH登录系统都是一个好主意。

sudo vi /etc/ssh/sshd_config

PermitRootLogin设为no:

PermitRootLogin no

当然,如果你通过SSH访问你的服务器,在禁用root使用SSH之前,确保其它用户可以正常使用sudo工作。

只允许管理用户使用su

这将有助于预防特权提升,默认情况下,Ubuntu没有提供管理组,因此需要先创建一个管理组。

sudo groupadd admin

将你自己加入到管理组:

sudo usermod -a -G admin andrew

限制/bin/su的访问权,仅授予管理组成员:

sudo dpkg-statoverride --update --add root admin 4750 /bin/su

检查/bin/su的权限:

ls -lh /bin/su

看到下面的输出内容:

-rwsr-x--- 1 root admin 31K 2010-01-26 17:09 /bin/su

不允许跟踪入站数据包的源路由

sudo sysctl -w net.ipv4.conf.all.accept_source_route=0 sudo sysctl ­-w net.ipv4.conf.default.accept_source_route=0

不允许系统用户访问FTP服务器

只有当你安装了ftpd才需要这么做,只要tiger扫描报告中不出现相关警告即可,SFTP比FTP的安全性要好,如果可能,应尽量使用SFTP。

Edit /etc/ftpusers:

sudo vi /etc/ftpusers

添加系统用户拒绝使用ftpd:

backup bin daemon games gnats irc libuuid list lp mail man mysql news ntp postfix proxy sshd sync sys syslog uucp www-data 

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyzzsf.html