如何在Ubuntu上搭建一台安全的Apache Web服务器
1.安装Apache2
使用下面这个命令,安装Apache2及其他库。
$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
2.阻止分布式拒绝服务(DDoS)攻击
$ sudo apt-get -y install libapache2-mod-evasive$ sudo mkdir -p /var/log/apache2/evasive$ sudo chown -R www-data:root /var/log/apache2/evasive
把下面这个命令添加到mod-evasive.load的末尾处。
$ sudo nano /etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048DOSPageCount 20 # 请求同一页面的最大数量DOSSiteCount 300 # 同一侦听器上同一客户端IP请求任何对象的总数量DOSPageInterval 1.0 # 页面数量阈值的间隔DOSSiteInterval 1.0 # 站点数量阈值的间隔DOSBlockingPeriod 10.0 # 客户机IP被阻止的时间段DOSLogDir “/var/log/apache2/evasive”DOSEmailNotify admin@domain.com
3.阻止DNS注入攻击
$ sudo apt-get -y install libapache2-mod-spamhaus$ sudo touch /etc/spamhaus.wl Append the config to apache2.conf$ sudo nano /etc/apache2/apache2.confMS_METHODS POST,PUT,OPTIONS,CONNECTMS_WhiteList /etc/spamhaus.wlMS_CacheSize 256
Apache Web服务器,一般不用ubuntu。建议使用centOS,安装所需要的软件。ubuntu su不到root
本教程假设你已有一台在运行的Ubuntu服务器,网络方面已设置好,而且可以通过SSH进行访问。Apache2是许多安装的Linux发行版使用的默认Web服务器。它不是对所有环境来说唯一可用的Web服务器,也不是最佳的Web服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个Web服务器要自动重新配置。选择“apache2”即可。
安装Apache2
使用下面这个命令,安装Apache2及其他库。
$ sudo apt-get -y install apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt libapache2-mod-suphp libopenssl-ruby libapache2-mod-ruby
更新时区(TimeZone)和检查正确时间
为了减小共享数据或镜像数据方面的混淆,所有服务器在运行时都应该尽可能接近同步状态。一些加密密钥管理系统需要准确的时间。最后,就企业服务器而言,《萨班斯-奥克斯利法案》(Sarbanes-Oxley)和《健康保险可携性及责任性法案》(HIPAA)的安全规则要求正确的时间戳机制。
$ sudo apt-get -y install openntpd tzdata
$ sudo dpkg-reconfigure tzdata
$ sudo service openntpd restart
禁止AppArmor冲突
虽然AppArmor这个套件的确提供了一层额外的安全,但在我看来,需要为每个系统创建自定义配置文件。这不是本教程所探讨的内容。所以眼下,我们会禁用AppArmor,防止与任何默认的配置发生冲突。
$ sudo /etc/init.d/apparmor stop
$ sudo update-rc.d -f apparmor remove
$ sudo apt-get remove apparmor apparmor-utils
注意:如果是生产环境下的Web服务器,不建议禁用AppArmor。如果有些人想创建自定义的AppArmor配置文件,请参阅官方说明文档(http://wiki.apparmor.net/index.php/Documentation)。
阻止分布式拒绝服务(DDoS)攻击
DDoS攻击是一种分布式拒绝服务攻击。有一个Apache模块可以阻止这类攻击。
$ sudo apt-get -y install libapache2-mod-evasive
$ sudo mkdir -p /var/log/apache2/evasive
$ sudo chown -R www-data:root /var/log/apache2/evasive
把下面这个命令添加到mod-evasive.load的末尾处。
$ sudo nano /etc/apache2/mods-available/mod-evasive.load DOSHashTableSize 2048
DOSPageCount 20 # 请求同一页面的最大数量
DOSSiteCount 300 # 同一侦听器上同一客户端IP请求任何对象的总数量
DOSPageInterval 1.0 # 页面数量阈值的间隔
DOSSiteInterval 1.0 # 站点数量阈值的间隔
DOSBlockingPeriod 10.0 # 客户机IP被阻止的时间段
DOSLogDir “/var/log/apache2/evasive”
DOSEmailNotify admin@domain.com
阻止Slowloris攻击
还有一个Apache模块可以阻止Slowloris攻击,不过模块名称取决于你使用的Ubuntu的具体版本。如果是Ubuntu 12.10或以后版本:
$ sudo apt-get -y install libapache2-mod-qos
然后,检查qos.conf中的配置:
$ sudo nano /etc/apache2/mods-available/qos.conf
## 服务质量方面的设置
# 处理来自多达100000个不同IP的连接
QS_ClientEntries 100000
# 只允许每个IP仅50条连接
QS_SrvMaxConnPerIP 50
# 活动TCP连接的最大数量限制在256条
MaxClients 256
# 当70%的TCP连接被占用时,禁用保持活动连接状态
QS_SrvMaxConnClose 180
# 最小请求/响应速度(拒绝阻塞服务器的慢速客户端,即slowloris保持连接开启,不提出任何请求):
QS_SrvMinDataRate 150 1200
# 并限制请求标题和主体(注意,这还限制了上传和发帖请求):
# LimitRequestFields 30
# QS_LimitRequestBody 102400
注意:如果你运行12.04之前的Ubuntu版本,改而使用下面这个命令:
$ sudo apt-get -y install libapache2-mod-antiloris
检查antiloris.conf中的配置
$ sudo nano /etc/apache2/mods-available/antiloris.conf
# 每个IP地址处于READ状态的最大并行连接数量
IPReadLimit 5
阻止DNS注入攻击
Spamhaus这个模块使用域名系统黑名单(DNSBL),目的是为了阻止通过Web表单实现的垃圾邮件转发,防止URL注入攻击,阻止来自机器人程序的http DDoS攻击,通常保护服务器,远离已知的恶意IP地址。
$ sudo apt-get -y install libapache2-mod-spamhaus
$ sudo touch /etc/spamhaus.wl Append the config to apache2.conf
$ sudo nano /etc/apache2/apache2.conf
MS_METHODS POST,PUT,OPTIONS,CONNECT
MS_WhiteList /etc/spamhaus.wl
MS_CacheSize 256
重启Apache装入新模块
$ sudo service apache2 restart
现在Web服务器已安装完毕,并在正常运行。将Web浏览器指向你的域,即可看到证明你一切正常的默认消息。作为最后的检查机制,运行下面这个命令,看看你的服务器有没有任何错误信息。要是有错误信息,你需要上谷歌搜索一下,立马解决这些错误。
$ sudo tail -200 /var/log/syslog
您好,希望以下回答能帮助您 Apache2是许多安装的Linux发行版使用的默认Web服务器。它不是对所有环境来说唯一可用的Web服务器,也不是最佳的Web服务器,但是它适合许多使用场景。在安装过程中,系统可能会询问你哪个Web服务器要自动重新配置。选...
ubuntu系统下,如何将硬盘格式化为NTFS硬盘?
安装ntfsprogs sodu apt-get install ntfsprogs 使用命令:sudo mkfs.ntfs \/dev\/sdb1 如需快速格式化加-f参数 望采纳!
ubuntu系统问题?
var\/cache\/apt\/archives 备份这个干什么 ...没用的 sudo apt-get update这个就是更新系统的软件仓库维护列表 ,包含了软件仓库中各软件的信息和安全验证散列 不管能不能联网 已下载的文件都没必要备份 linux备份时候只需要备份配置文件 ,和数据 ,这种安装包完全没必要 当然不行 apt-get 必须先...
Ubuntu ltsc和ltsb有何不同
老电脑ltsb比ltsc流畅的原因可能在于:1. LTSB(长期服务分支)和LTSC(长期稳定分支)是Linux发行版常用的版本名称,前者更注重性能优化,适合对流畅度要求较高的用户使用。2. 老电脑的硬件配置可能已经相对较低,LTSB的优化可以使老电脑运行更加流畅。3. LTSB可能更新更多的小补丁,这些小补丁通常可以优化...
ubuntu 备份dump的问题
用restore tf \/dev\/hda3就会看到刚刚写入的文件会出现在列表中。restore命令是用来恢复备份的。[root@localhost frank]# restore rf \/dev\/hda3 \/home\/frank用restore命令来查看备份文件里的文件列表[root@localhost frank]# restore ft \/dev\/hda3 参考资料: http:\/\/www.liusuping.com\/ubuntu-linux\/linux-dump...
如何修改ubuntu14.04为中文语言
怎么改变ubuntu14.04的窗口菜单的语言为中文呢?安装可ubuntu进入桌面满是英文的菜单与桌面,让我们这些没有好好学习英文的情何以堪啊... 点击桌面右上角的用户按钮 进入菜单中的 系统设置(应该是英文的自己看位置吧) 点击 语言支持(Language......
ubuntu中如何卸载arm-linux-gcc-4.3.2.tgz
1、TGZ文件是Gzip压缩的 Tar 文件。2、Unix系统中的.TAR文件归档通过Gnu Zip (.GZIP) 方式压缩,TAR文件归档生成的多个文件经Gzip 压缩后归为一个文件,从而减小占用的空间。3、arm-linux-gcc-4.3.2.tgz是一个gcc编译器的安装包文件,删除此安装包文件,只需要执行rm命令删除即可。rm -f rm...
用grub在windows下安装Ubuntu后将c盘下的Ubuntu安装文件移位了进不去U...
用winrar或者其它工具从iso文件中提取Casper下的vmlinuz和initrd.gz两个文件到这同一个盘的根目录下.在这个盘的根目录下,新建一个文本文件,把它重命名为:menu.lst 在这个文件里面写入如下命令:title Install Ubuntu find --set-root \/ubuntu-9.04-desktop-amd64.iso kernel \/vmlinuz boot=casper ...
魅族ubuntu版MX3锁屏待机操作界面如何?
锁屏界面展现出Ubuntu系统独特的个性,与传统手机界面大相径庭,拥有极高的辨识度,配色与PC版Ubuntu保持一致,尽显简洁优雅。待机桌面采用了磁贴设计,虽然与Windows Phone相似,但Ubuntu的排列更为随意,圆润的棱角增添了一份亲和力。Ubuntu在桌面设计上的实力不容小觑,MX3的表现无疑让人充满期待。系统操作...
魅族MX3Ubuntu版体验:流畅但不稳定,何时量产?
结论:魅族MX3 Ubuntu版在亚洲通讯展上惊艳回归,展示了其流畅的操作体验和独特的差异化优势。以下是更详细的介绍:在6月11日的亚洲通讯展上,魅族MX3 Ubuntu版终于从沉寂中浮现,现场展示了这款备受期待的手机,魅族对其进行了深入的展示和介绍。魅族强调,Ubuntu系统为OEM厂商提供了更高的灵活性,摆脱...
Ubuntu 中文语言包
何必找什么懒人包,Ubuntu的自动化很高。只要点击system,在首选项,选择语言支持(Language这个单词会吧),找到汉语之后,点下OK就自动下载语言包了,也会自动安装。如果发现找不到,就先点击一下更新管理器(名字大概是这样,也是在system里面可以找到),选择Check,等它下载完更新列表之后,我们不必抢着...
秦闸上生: 你好KuLa耶,1、打开VMware,点击创建新的虚拟机.2、选择典型安装,点击下一步.3、选择稍后安装操作系统,点击下一步.4、选择Linux,在下面的单选框中选择计划安装的Linux操作系统,这里以Ubuntu为例,点击下一步.5、修改虚拟机名称和虚拟机在真实机硬盘上的存放位置,点击下一步.6、设置磁盘大小和选择是否拆分为多个文件,这里可以根据自己的需要选择,如果仅仅用来学习那么默认的20GB已经足够,点击下一步.7、最后查看虚拟机的各项硬件参数,如果需要修改则点击自定义硬件,如果没有问题,则点击完成.这样一台Linux虚拟机就创建完成了.如果需要正常使用还需要在这台虚拟机上安装Linux操作系统.
南丰县17744015511: 怎么搭建本地Ubuntu镜像服务器? - ?
秦闸上生: 一.需求分析 最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器, 这样作的好处是可以节省Ubuntu某些常用工具的安装时间. 二.部署过程 2.1 测试环境 目前在公司内有一台能连接到外网的Ubuntu机器, ...
南丰县17744015511: 如何在一台电脑上搭建一个私有云平台 - ?
秦闸上生: 安装好系统,再安装好私有云软件,比如安装Ubuntu9.10服务器版,这个版本已经集成了Eucalyptus这个开源的私有云软件. 安装过程如下: 1.安装引导时,要选择 "Install Ubuntu Enterprise Cloud" 2. 安装过程中,如果提示"Cluster" 还是...
南丰县17744015511: ubuntu 怎么搭建web服务器 - ?
秦闸上生: 一条命令可以让你在ubuntu上很方便地安装web服务器 sudo tasksel install lamp-server用这个可以一次安装好apache+php+mysql 再两条命令让你安装上phpmyadmin,让你方便地管理mysql数据库:sudo apt-get install phpmyadmin sudo ln -s /usr/share/phpmyadmin/ /var/www/html
南丰县17744015511: ubuntu怎么做web服务器 - ?
秦闸上生: 第一步,我们在Ubuntu下搭建LAMP环境,首先,安装apache:sudo apt-get install apache2 apache2-doc 测试apache2正常工作:接下来是安装mysql:sudo apt-get install mysql-server sudo apt-get install mysql-client 安装mysql的时候会提醒设置...
南丰县17744015511: 如何在vmware虚拟机安装ubuntu系统 - ?
秦闸上生: 一、新建一个需虚拟机 1、打开自己的VMware Workstation10虚拟机,进入主页,然后点击【创建新的虚拟机】. 2、然后需要选择一个适合类型的配置,选择【自定义】,然后点击【下一步】.下一步之后,会进入虚拟机兼容性选择,直接...
南丰县17744015511: 如何在ubuntu 搭建虚拟环境 - ?
秦闸上生: 在FreeBsd上搭建nginx + php环境,虽然难度不小,可是由于使用历史的问题,网络关于这方面的经验文章还是比较多的,随着Ubuntu的逐渐推广,研究下如何在ubuntu下搭建nginx + php环境还是有必要的,方便有这方面需求的朋友,并且可以...
南丰县17744015511: 如何用Ubuntu DIY文件服务器 - ?
秦闸上生: 下载Ubuntu系统首先是找到下载页面,然后点击服务器版的下载地址.下载完最新版本的软件后,你把ISO文件刻录到CD上.于是,你就可以从光盘启动服务器了,整个操作系统的安装大概需要20分钟的时间.安装完成后,操作系统自动启...
南丰县17744015511: 如何在Ubuntu上几步搭建Git Server - ?
秦闸上生: 搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装. 假设你已经有sudo权限的用户账号,下面,正式开始安装. 第一步,安装git: $ sudo apt-get install git
南丰县17744015511: ubuntu服务器怎么搭建网站 - ?
秦闸上生: 如果想用Ubuntu作为网站的服务器,一些基本的服务是必备的.本文对环境的搭建做一个简单的整理.Appach Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用...