Answers:
这是我为保护服务器安全而要做的事情的列表。
sudo ufw enable
),然后仅允许实际使用的端口。(sudo ufw allow 80
)sudo apt-get install denyhosts
)还有更多需要考虑的事情。大多数人忘记了物理访问。如果我能亲身体验LiveCD并窃取您的数据,那么世界上所有的软件配置都将毫无意义。当心社会工程学。提出问题以验证谁在打电话,并确保他们有权发出自己的请求。
由于我仍然是“新”用户,因此我发布的链接不能超过2个。您可以在这里阅读有关此主题的更多信息:https : //help.ubuntu.com/12.04/serverguide/index.html并特别注意https://help.ubuntu.com/12.04/serverguide/security.html
iptables
规则锁定系统,以禁止外部访问您将不使用的任何服务(如果您使用的是奇怪的-球设置需要高级布线和填充物。
/ dev / shm可用于攻击正在运行的服务,例如httpd。修改/ etc / fstab使其更安全。
打开一个终端窗口并输入以下内容:
sudo vi /etc/fstab
添加以下行并保存。您需要重新启动才能使此设置生效:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
/etc/sysctl.conf文件包含所有sysctl设置。防止传入数据包的源路由并记录格式错误的IP,在终端窗口中输入以下内容
sudo vi /etc/sysctl.conf
编辑/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
要用最新更改重新加载sysctl,请输入:
sudo sysctl -p
打开一个终端并输入以下内容:
sudo vi /etc/host.conf
添加或编辑以下行:
order bind,hosts
nospoof on
编辑php.ini文件:
sudo vi /etc/php5/apache2/php.ini
添加或编辑以下行:
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
DenyHosts是一个python程序,它通过向/etc/hosts.deny中添加条目来自动阻止SSH攻击。DenyHosts还将通知Linux管理员有关有问题的主机,受攻击的用户和可疑登录的信息。
打开一个终端并输入以下内容:
sudo apt-get install denyhosts
安装后,编辑配置文件/etc/denyhosts.conf 并根据需要更改电子邮件和其他设置。
要编辑管理员电子邮件设置,请打开终端窗口,然后输入:
sudo vi /etc/denyhosts.conf
根据需要在服务器上更改以下值:
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
Fail2ban比DenyHosts更先进,因为它将日志监视扩展到其他服务,包括SSH,Apache,Courier,FTP等。
Fail2ban扫描日志文件并禁止显示恶意标志的IP-过多的密码失败,寻找漏洞等。
然后,通常也可以使用Fail2Ban更新防火墙规则以在指定的时间内拒绝IP地址,尽管也可以配置任何其他其他操作。开箱即用Fail2Ban带有针对各种服务(apache,courier,ftp,ssh等)的过滤器。
打开一个终端并输入以下内容:
sudo apt-get install fail2ban
安装后,编辑配置文件/etc/fail2ban/jail.local 并根据需要创建过滤器规则。
要编辑设置,请打开终端窗口并输入:
sudo vi /etc/fail2ban/jail.conf
激活所有的服务,你想的fail2ban来监视改变启用= false以 * 启用=真 *
例如,如果您想启用SSH监视和禁止入狱,请找到下面的行,并将enabled从false更改为true。而已。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
如果您希望从Fail2Ban接收电子邮件(如果主机被禁止),请将以下行更改为您的电子邮件地址。
destemail = root@localhost
并从更改以下行:
action = %(action_)s
至:
action = %(action_mwl)s
您还可以为希望fail2ban监视的默认情况下未提供的各种服务创建规则过滤器。
sudo vi /etc/fail2ban/jail.local
可以在HowtoForge上找到有关如何配置fail2ban和创建各种过滤器的良好说明- 单击此处获取示例
完成Fail2Ban的配置后,请使用以下命令重新启动服务:
sudo /etc/init.d/fail2ban restart
您也可以使用来检查状态。
sudo fail2ban-client status
无论RKHunter和chkrootkit的基本上做同样的事情-检查你的系统的rootkit。两者都没有害处。
打开一个终端并输入以下内容:
sudo apt-get install rkhunter chkrootkit
要运行chkrootkit,请打开一个终端窗口,然后输入:
sudo chkrootkit
更新并运行RKHunter。打开终端并输入以下内容
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络发现和安全审核。
打开一个终端并输入以下内容:
sudo apt-get install nmap
使用以下命令扫描系统中的开放端口:
nmap -v -sT localhost
使用以下内容进行SYN扫描:
sudo nmap -v -sS localhost
Logwatch是可自定义的日志分析系统。Logwatch会分析系统的日志并创建一个报告,以分析您指定的区域。Logwatch易于使用,并且可以在大多数系统上直接使用。
打开一个终端并输入以下内容:
sudo apt-get install logwatch libdate-manip-perl
要查看logwatch输出,请减少使用:
sudo logwatch | less
要将过去7天的日志观察报告通过电子邮件发送到电子邮件地址,请输入以下内容,然后将mail@domain.com替换为所需的电子邮件。:
sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today'
Tiger是一种安全工具,可以同时用作安全审核和入侵检测系统。
打开一个终端并输入以下内容:
sudo apt-get install tiger
要运行老虎,请输入:
sudo tiger
所有Tiger输出都可以在/ var / log / tiger中找到
要查看老虎安全报告,请打开一个终端并输入以下内容:
sudo less /var/log/tiger/security.report.*
magic_quotes_gpc = On
。魔术引号已被首先弃用,然后删除:php.net/manual/en/security.magicquotes.whynot.php
既然您说这是Web托管服务器 ...我想分享我在Web托管方面5年的最佳实践和经验。
根据我过去的经验,您应该立即按照给定文章中指示的方法组装安全性低下的葡萄,而不是立即陷入困境。
由于您使用的是LAMP,因此您必须非常谨慎地使用PHP及其php.ini设置。这是确保PHP安全的好链接。PHP具有超能力,如果配置不当,可能会变成安全循环。
您可以使用cron作业来检查文件的修改时间,未经您的许可并且可能被黑客入侵;使用这个cron工作。我更喜欢Notepad ++比较cron结果(直接从Web服务器下载cron电子邮件并在Notepad ++中打开)。
如果您要安装一些SEM,则最好选择cPanel(但需付费)。Webmin和zpanel是非常好的免费替代品。Webmin更好,因为它至少使用自签名证书并增加了安全性。
如果您想开箱即用,则可以使用Turnkey Linux。它基于Ubuntu,非常易于实现并且可以灵活满足您的需求。只需付出很少的努力,即可立即获得安全性。这是他们的LAMP堆栈。我个人使用并且仅喜欢此。
如果您是从头开始,那么还可以安装ISPconfig3。这里的说明。
您可以尝试通过使用Back-Track-Linux 渗透安全性来测试您的安全性。
保留复杂的长而随机的密码。不要将它们存储在PC上。记下来。使用实时CD访问这些登录名。
获得类似fail2ban 的暴力保护软件。
不要运行不需要的守护程序。
阻止所有不必要的端口。使用SSH端口(22)时要格外小心。
在系统上通过服务器管理静态IP。充分利用IP阻塞,仅允许您的特定IP访问端口22等配置位置。
归根结底,您要全神贯注地工作,不要为安装而激动,运用常识将使您远远超越。
**My heartiest best wishes to you. good luck.**
brute force attacks
和dictionary attacks
..随机的长密码是保护自己免受此类攻击的唯一方法。
利用Bastille Linux项目。
它提供了一个交互式工具来执行其他安全性增强措施,以提高整体安全性,并降低Ubuntu系统(来自Bastille Linux)受到损害的可能性。
它提供了评估和报告功能,因此可以告诉您系统的哪些部分未被锁定。它以只读方式检查系统,报告其每个强化项目的状态。例如,巴士底狱(Bastille)可能会检查DNS服务器是否锁定在chroot监狱中,是否关闭了telnet或是否要求密码长度足够长。您可以通过此链接查看有关此内容的仅Web演示(更多信息)。
您可以在此处预览Web(仅)演示。
我还将参考CIS Debian Benchmarks文档,该文档包含大量的过程和过程,用于强化适用于Ubuntu的操作系统,因为它是Debian的衍生产品。我还将咨询:
安全总是要付出代价的。设定一些现实的界限将帮助您达成目标。我将考虑以下方面:
检查这里发布的所有链接,我认为应该添加此链接。它不仅详细介绍了如何设置软件,还考虑了安全计划。另外,每条要执行的命令都带有源代码进行了说明。
我不久前发表了一篇关于如何保护ubuntu 16.04-18.04的文章。这些步骤包括:
用授权密钥替换密码登录在Linux服务器上安装防火墙
还有更多。 https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/