linux安全设置几方面保护Ubuntu服务器

更新时间:2023-07-07 07:35:53 阅读: 评论:0

linux安全设置几方面保护Ubuntu服务器
安全是相对的,使用本文介绍的这些方法不能绝对保证你的服务器是“安全的”,但可以肯定的是它比以前更安全,也比大多数服务器要安全,至少菜鸟级的黑客是无法攻破的;安全是一个持续的过程,它不是一蹴而就的,我们认为,在安全领域是需要一点偏执精神的。
本文所列举的这些保护措施在Ubuntu Server 10.04(Lucid)和10.10(Maverick)中测试通过,如果你想让你的新Ubuntu服务器变得坚不可摧,你应该仔细阅读本文。
Ubuntu服务器设计优良,并有定期更新,相对来说是比较安全的,Ubuntu安全团队表示会不断努力,保护Ubuntu的安全,将会定期提供安全更新。
· 不打开端口
· 基于角色的管理
· 无X服务器
· 安全更新
· 内核和编译器保护
在这篇文章中,我们将从不同方向来应对安全挑战,包括:系统分析,修改设置,安装防火墙,扫描rootkit和制定周期性维护制度。
· 修改设置,增强安全性
· 实施UFW,简单的防火墙
· 使用denyhosts自动将攻击者列入黑名单
· 使用Tiger扫描系统漏洞
· 使用psad检测入侵尝试行为
night prayer· 安装nmap,扫描系统打开的端口
· 使用chkrootkit检查系统rootkit
· 监控日志
指挥官英文sake修改设置,增强安全
保护共享内存
攻击一个运行中的服务(如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登录系统都是一个好主意。
psdn
sudo vi /etc/ssh/sshd_config将PermitRootLogin设为no:PermitRootLogin no当然,如果你通过SSH访问你的服务器,在禁用root使用SSH之前,确保其它用户可以正常使用sudo工作。
只允许管理用户使用su
这将有助于预防特权提升,默认情况下,Ubuntu没有提供管理组,因此需要先创建一个管
理组。
sudo groupadd admin将你自己加入到管理组:
sudo urmod -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 f.all.accept_source_route=0sudo sysctl ­-w f.default.accept_source_route=0不允许系统用户访问FTP服务器
只有当你安装了ftpd才需要这么做,只要tiger扫描报告中不出现相关警告即可,SFTP比FTP的安全性要好,如果可能,应尽量使用SFTP。
Edit /etc/ftpurs:
sudo vi /etc/ftpurs添加系统用户拒绝使用ftpd:
backup 
回复英语
bin 
daemon 
games 
gnats 
irc 
libuuid 
list  小学英语学习网站
lp 
mail 
man 
mysql 
news 
ntp 
postfix 
proxy 
sshd 
sync 
sys 
syslog 
uucp 
www-data 
UFW:简单防火墙
UFW(Uncomplicated Firewall,简单防火墙)提供了一个易于理解的接口控制iptable(iptable控制Netfilter,Netfilter内置于内核之中),只需要几个简单的命令,你的服务器就可以控制访问,创建状态也很容易。
UFW是用于配置iptable的一个简单接口。
安装并启用Uncomplicated Firewall:
sudo aptitude install -y ufwsudo ufw enable显示可用的UFW命令:
sudo ufw show显示UFW配置:
sudo ufw status允许SSH和HTTP访问Apache服务器:
sudo ufw allow sshsudo ufw allow http在上面的示例中,OpenSSH和Apache的端口通过服务名(ssh和http)打开,你可以使用端口号替换这里的服务名(如用80替换http)。
查看服务运行情况:
查看运行中的服务,便知道应该打开哪些端口:科里 蒙蒂思
sudo ufw app list查看UFW使用的服务:
less /etc/rvices
Denyhosts:避免SSH攻击
项目主页: denyhosts.sourceforge/
查看服务器上的/var/log/auth.log,我发现有一连串的SSH攻击,对付这种攻击有很多方法,首先就是denyhosts。
Denyhosts会周期性地扫描/var/log/auth.log,找出通过SSH反复失败访问系统的行为和来源,然后将它们添加到/etc/hosts.deny中。详细情况请访问项目主页。
sudo aptitude -y install denyhosts
要做的就这些,剩下来的都是自动的,你可以使用下面的命令查看添加到/etc/hosts.deny中的IP地址:
sudo less /etc/hosts.deny
Tiger:系统安全扫描器
项目主页: u/tiger/
通过分析系统上的文件和设置,Tiger创建自动的安全审核,最终以报告的形式列出分析的内容,警告,警报和故障。
Tiger命令在/var/log/tiger中记录了潜在的安全问题,使用tigexp命令查找结果编码可以获得详细的解释和安全加固建议,tiger认为很严重的问题都标记为Fail。
云用英语怎么说
安装tiger:
sudo aptitude -y install tiger运行tiger,创建一个安全问题报告:
sudo tiger使用less查看最近的tiger报告:
sudo -iless /var/log/tiger/`ls -t1 /var/log/tiger | head -1`exit使用tigexp列出Fail代码的解释:
tigexp dev002f当然使用Google搜索一下也可以。
忽略这些:
--FAIL-- [dev002f] /dev/fu has world permissions--FAIL-- [logf005f] Log file /var/log/btmp permission should be 660修改它们的权限可能会导致其它问题。
使用psad检测入侵行为
项目主页: www.cipherdyne/psad/
Psad可以记录下入侵行为,还可以监控iptable。
安装psad:
sudo aptitude -y install psad后台进程会自动运行。
cet 6检查当前的状态:
sudo psad -S你可以修改psad设置,检测到入侵行为时给管理员发送电子邮件。
Nmap:端口扫描
项目主页: nmap/
Nmap允许你查看打开的端口,验证UFW/iptable工作是否正常。
安装nmap:
sudo aptitude install -y nmap端口扫描:
nmap -v -sT localhostSYN扫描:
sudo nmap -v -sS localhost扫描类型解释: nmap/book/man-port-scanning-techniques.html
Chkrootkit:检查rootkit
项目主页: www.chkrootkit/
Chkrootkit扫描系统中是否存在rootkit。
理想情况下,你并不需要做这种扫描,但现实中最好还是定期运行一下。
安装chkrootkit:
sudo aptitude install -y chkrootkit运行chkrootkit:
sudo chkrootkitLogWatch
Ubuntu社区文档: /community/Logwatch
日志再详细,如果没有一款好用的日志查看器,日志起的作用也非常有限,Logwatch可以从海量的日志中精选出最有用的信息,形成一个易读的报告,每天打开Logwatch看一下系统产生的日志是一个良好的习惯。
安装:
sudo aptitude -y install logwatch用法:
sudo logwatch | less持续维护
你的服务器现在更安全了,但不要就此停下来,每周例行一次维护是个好习惯。
更新软件:
sudo aptitude updatesudo aptitude safe-upgrade我喜欢使用safe-upgrade,因为它执行的是安全更新。
请看: wiki.debian/Aptitude
或者,你可以将安全更新设置为自动,如果你不能每周维护一次,这不是一个完美的解决方案,因为管理员没有监控更新了什么,更新后也没有执行测试。请看: /10.04/rverguide/C/automatic-updates.html
finishdoing检查入侵行为:
sudo psad -S请先使用tiger分析一下系统,因为tiger在/var/log/tiger中的报告属于root用户,每次都运行一下这些命令,解决有些用户的权限问题。
sudo -itigergrep FAIL /var/log/tiger/`ls -t1 /var/log/tiger | head -1`exit在上面的命令中,使用grep从最新的报告文件中提取出Fail标记,ls子句给grep输送目录中的最新文件,sudo -i命令允许你以root用户运行多个命令,使用exit结束命令。

本文发布于:2023-07-07 07:35:53,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1083233.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   系统   命令   用户   扫描   报告
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图