AppArmor的是一个安全扩展(类似于SELinux)的应提供扩展的安全性。在我看来,你不需要它来配置一个安全的系统,它通常会导致更多的问题比优点(想想看你做了一个星期后,故障排除,因为预期有些服务不能正常工作,然后你发现一切正常,只是AppArmor配置是造成问题)。因此,我禁用它(这是必须的,如果你想稍后安装ISPConfig)。
我们可以像这样禁用它:
service apparmor stop
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils
5.同步系统时钟
这是当你运行一个物理服务器系统时钟在互联网上的NTP(网络时间协议)服务器同步是一个好主意。如果你运行一个虚拟服务器,那么你应该跳过此步骤。 运行:
apt-get -y install ntp ntpdate
和你的系统时间就会始终保持同步。
6. 安装 Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter 和 binutils
对于安装postfix,我们需要确保的sendmail未安装和运行。要停止并删除sendmail的运行以下命令:
service sendmail stop; update-rc.d -f sendmail remove
错误信息:
Failed to stop sendmail.service: Unit sendmail.service not loaded.
确定的,它只是意味着没有安装sendmail的,所以没有什么被删除。
现在我们可以安装Postfix,Dovecot,MariaDB(如MySQL的替代品),rkhunter和binutil用一个命令:
apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo
你会被问以下几个问题:
General type of mail configuration: System mail name:
您使用一个子域作为要为以后的电子邮件域名(例如yourdomain.tld)使用“系统邮件名称为”像server1.example.com或server1.yourdomain.com,域名不是非常重要的。
接下来,打开后缀的TLS/ SSL和提交端口:
nano /etc/postfix/master.cf
取消对提交和SMTPS部分如下: – 添加一行-o
smtpd_client_restrictions=permit_sasl_authenticated,reject 两行设置:
[...]
submission inet n - - - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]
注:空格在前面的“-o……”行很重要!
重新启动 Postfix:
service postfix restart
我们希望MySQL监听所有的接口,而不仅仅是本地主机。因此,我们编辑:
/etc/mysql/mariadb.conf.d/50-server.cnf 并注释掉线 bind-address = 127.0.0.1:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]
现在,我们在MariaDB设置root密码。 运行:
mysql_secure_installation
将会被问以下问题:
Enter current password for root (enter for none): <– press enter
Set root password? [Y/n] <– y
New password: <– Enter the new MariaDB root password here
Re-enter new password: <– Repeat the password
Remove anonymous users? [Y/n] <– y
Disallow root login remotely? [Y/n] <– y
Reload privilege tables now? [Y/n] <– y
重启 MariaDB:
service mysql restart
现在检查联网启用。运行:
netstat -tap | grep mysql
输出应该是这样的:
root@server1:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 5230/mysqld
root@server1:~#
7. 安装 Amavisd-new, SpamAssassin, 和 Clamav