如果想让Ubuntu服务器的安全性能上升一个层次的话,请仔细阅读下面的5招。
Ubuntu 16.04的安装相对简单,安装之后,你将享受Linux带来的安全性。实际上为了提高数据的安全性,你还可以做的更多,下面的5招将给你带来不错的安全收益。
1.确保共享内存的安全
黑客攻击总会想查看共享内存,所以保证共享内存的安全的重要性不言而喻。可以修改 /etc/fstab文件来确保共享内存的安全。
首先,使用终端命令打开文件
- sudo nano /etc/fstab
然后,文件的底部加入如下代码
- tmpfs /run/shm tmpfs defaults,noexec,nosuid 0 0
保存,关闭文件。为了使改变生效,需要重启Ubuntu 16.04.
2.允许特定用户的ssh登录
假如说你只想用户名为olivia,IP地址为192.168.1.152的用户通过secure shell,做法是这样的:
1.打开终端命令窗口
2.使用命令打开ssh配置文件
- sudo nano /etc/ssh/sshd_config
3.在文件最下面,添加AllowUsers olivia@192.168.1.152
4.保存,关闭文件
5.使用命令重启sshd
- sudo service ssh restart
到这里,secure shell只会让IP地址为192.168.1.152的olivia获得访问Ubuntu服务器的权限。如果其他人尝试使用ssh访问服务器,他们会被要求输入密码,但是即使密码正确,访问Ubuntu服务器也会被拒绝。
假如,你想让你的网络下的所有用户都能通过ssh访问服务器的话,添加如下代码
AllowUsers *@192.168.1.*
重启ssh服务器,就生效了。
3.添加一个安全登录banner
添加一个安全登录bannner似乎对你的服务器安全没有什么作用,但是假如有人获得访问你服务器的权限后,看到了banner上的警告信息,可能会思考再三要不要继续下去。虽然这是一种心里作用,但是也不要小瞧了它。
创建一个新的banner步骤如下:
1.打开终端窗口
2.执行命令
- sudo nano /etc/issue.net
3.添加合适的警告信息
4.关闭,保存文件
接下来,我们要禁止motd显示banner。首先打开终端输入如下命令
- sudo nano /etc/pam.d/sshd
加入下面两行(每行前加#)
- session optional pam_motd.so motd=/run/motd.dynamic
- session optional pam_motd.so noupdate
在文本编辑器里打开 /etc/ssh/sshd_config文件,加入
- Banner /etc/issue.net
关闭,保存文件
最后,使用命令重启ssh服务器
- sudo service ssh restart
这时,假如有人通过ssh登录你的服务器,他们就会看到你新加的banner,警告他们你在留意。
4.增强网络层
为避免你的Ubuntu服务器上源路由输入包,并且打印出所有畸形IP地址,可以使用命令
- sudo nano /etc/sysctl.conf
然后添加如下内容
- # IP Spoofing protection
- net.ipv4.conf.all.rp_filter = 1
- net.ipv4.conf.default.rp_filter = 1
- # Ignore ICMP broadcast requests
- net.ipv4.icmp_echo_ignore_broadcasts = 1
- # Disable source packet routing
- net.ipv4.conf.all.accept_source_route = 0
- net.ipv6.conf.all.accept_source_route = 0
- net.ipv4.conf.default.accept_source_route = 0
- net.ipv6.conf.default.accept_source_route = 0
- # Ignore send redirects
- net.ipv4.conf.all.send_redirects = 0
- net.ipv4.conf.default.send_redirects = 0
- # Block SYN attacks
- net.ipv4.tcp_syncookies = 1
- net.ipv4.tcp_max_syn_backlog = 2048
- net.ipv4.tcp_synack_retries = 2
- net.ipv4.tcp_syn_retries = 5
- # Log Martians
- net.ipv4.conf.all.log_martians = 1
- net.ipv4.icmp_ignore_bogus_error_responses = 1
- # Ignore ICMP redirects
- net.ipv4.conf.all.accept_redirects = 0
- net.ipv6.conf.all.accept_redirects = 0
- net.ipv4.conf.default.accept_redirects = 0
- net.ipv6.conf.default.accept_redirects = 0
- # Ignore Directed pings
- net.ipv4.icmp_echo_ignore_all = 1
关闭,保存文件,使用如下命令重启。
- sudo sysctl -p
5.避免IP地址欺骗
接下来通过简单的操作就可以避免IP地址欺骗。使用如下终端命令:
- sudo nano /etc/host.conf
打开之后的文件是像这样的:
- # The "order" line is only used by old versions of the C library.
- order hosts,bind
- multi on
更改这个文件为:
- # The "order" line is only used by old versions of the C library.
- order bind,hosts
- nospoof on
保存,关闭文件,现在不会有IP地址欺骗了。
结束语:我们只是从较浅的角度增强你的Ubuntu 16.04,但是这5招能显著提高服务器的安全性。后续我们会继续关注这一话题,带来更安全的Ubuntu平台安全攻略。