安装Ubuntu Server后要做的重要事情

我刚刚在VPS上安装了Ubuntu Server。

要配置服务器,我正在阅读“Ubuntu服务器指南”。 但是Ubuntu服务器指南并没有告诉我一切。

例如,Ubuntu服务器指南没有告诉我如何保护SSH,在我看来,这是安装服务器后要做的重要事情。

我知道我要保护SSH访问,但我可能会忘记要配置的东西。 因为我不知道我不知道的是什么。

是否存在完整的指南,它告诉我在安装Ubuntu服务器后我会遇到哪些重要事项? 如果没有,谁能告诉我那些事情?

安全共享内存

/ dev / shm可用于对正在运行的服务的攻击 ,例如httpd。 修改/ etc / fstab以使其更安全。

打开终端窗口并输入以下内容:

sudo vi /etc/fstab 

添加以下行并保存。 您需要重启才能使此设置生效:

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

使用sysctl设置强化网络

/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 

防止IP欺骗

打开终端并输入以下内容:

 sudo vi /etc/host.conf 

添加或编辑以下行:

 order bind,hosts nospoof on 

加强PHP的安全性

编辑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 

Web应用程序防火墙 – ModSecurity

http://www.thefanclub.co.za/how-to/how-install-apache2-modsecurity-and-modevasive-ubuntu-1204-lts-server

防止DDOS(拒绝服务)攻击 – ModEvasive

http://www.thefanclub.co.za/how-to/how-install-apache2-modsecurity-and-modevasive-ubuntu-1204-lts-server

扫描日志并禁止可疑主机 – DenyHosts和Fail2Ban

@DenyHosts

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

Fail2ban比DenyHosts更先进,因为它将日志监控扩展到其他服务,包括SSH,Apache,Courier,FTP等。

Fail2ban扫描日志文件并禁止显示恶意标志的IP – 密码失败太多,寻求攻击等。

通常,Fail2Ban然后用于更新防火墙规则以在指定的时间内拒绝IP地址,但也可以配置任何其他任意操作。 开箱即用的Fail2Ban带有各种服务的filter(apache,courier,ftp,ssh等)。

打开终端并输入以下内容:

 sudo apt-get install fail2ban 

安装后编辑配置文件/etc/fail2ban/jail.local并根据需要创建过滤规则。

要编辑设置,请打开终端窗口并输入:

 sudo vi /etc/fail2ban/jail.conf 

通过将enabled = false更改 * enabled = true * 激活您希望fail2ban监控的所有服务

例如,如果要启用SSH监视和禁止jail,请找到下面的行并将falsefalse更改为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 

有关如何配置fail2ban和创建各种filter的良好说明可以在HowtoForge上找到 – 点击此处查看示例

完成Fail2Ban配置后,重启服务:

 sudo /etc/init.d/fail2ban restart 

您还可以查看状态。

 sudo fail2ban-client status 

检查rootkit – RKHunter和CHKRootKit。

RKHunter和CHKRootkit基本上都做同样的事情 – 检查你的系统是否有rootkit。 使用两者都没有害处。

打开终端并输入以下内容:

 sudo apt-get install rkhunter chkrootkit 

要运行chkrootkit,请打开一个终端窗口并输入:

 sudo chkrootkit 

更新并运行RKHunter。 打开终端并输入以下内容

 sudo rkhunter --update sudo rkhunter --propupd sudo rkhunter --check 

扫描开放端口 – Nmap

Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络发现和安全审计。

打开终端并输入以下内容:

 sudo apt-get install nmap 

使用以下命令扫描系统中的开放端口

 nmap -v -sT localhost 

使用以下内容进行SYN扫描:

 sudo nmap -v -sS localhost 

分析系统LOG文件 – LogWatch

Logwatch是一个可定制的日志分析系统。 Logwatch会解析系统的日志,并创建一份报告,分析您指定的区域。 Logwatch易于使用,并且可以在大多数系统上直接使用。

打开终端并输入以下内容:

 sudo apt-get install logwatch libdate-manip-perl 

要查看logwatch输出,请使用less:

 sudo logwatch | less 

要将过去7天的logwatch报告通过电子邮件发送到电子邮件地址,请输入以下内容并将mail@domain.com替换为所需的电子邮件地址。 :

 sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today' 

审核您的系统安全性 – Tiger。

Tiger是一种安全工具,可用作安全审计和入侵检测系统。

打开终端并输入以下内容:

 sudo apt-get install tiger 

要运行老虎输入:

 sudo tiger 

所有Tiger输出都可以在/ var / log / tiger中找到

要查看老虎安全报告,请打开终端并输入以下内容:

 sudo less /var/log/tiger/security.report.* 

获得更多帮助

默认情况下,Ubuntu非常安全,SSH也是如此。

最重要的是:

  1. 不要为您的用户使用弱密码,如12345qwerty
  2. 不要激活root帐户
  3. 使用Fail2ban或每个类似的软件来避免暴力登录
  4. 定期检查您的日志 ,看看是否一切正常
  5. 只在服务器上安装您需要的内容并仔细配置它,我的意思是真正阅读文档深入了解您使用的每个软件,尤其是邮件服务器。

如果你这样玩,那应该没问题。 哦,当然,做一些定期备份:)