冬日温暖 2015-05-01
安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(四)
Webmin 是基于 Web 的 Linux 配置工具。它像一个中央系统,用于配置各种系统设置,比如用户、磁盘分配、服务以及 HTTP 服务器、Apache、MySQL 等的配置。
<span class="com"># wget http://prdownloads.sourceforge.net/webadmin/webmin-1.740-1.noarch.rpm</span>
<span class="com"># rpm -ivh webmin-*.rpm</span>
安装 Webmin
安装完 webmin 后,你会在终端上得到一个消息,提示你用 root 密码在端口 10000 登录你的主机 (http://ip-address:10000)。 如果运行的是无接口的服务器你可以转发端口然后从有接口的服务器上访问它。(LCTT 译注:无接口[headless]服务器指没有访问接口或界面的服务器,在此次场景,指的是是出于内网的服务器,可采用外网/路由器映射来访问该端口)
添加不受信任的库并不是一个好主意,尤其是在生产环境中,这可能导致致命的问题。但仅作为例子在这里我们会添加一些社区证实可信任的库,以安装第三方工具和软件包。
为企业版 Linux(EPEL)库添加额外的软件包。
<span class="com"># yum install epel-release</span>
添加社区企业版 Linux (Community Enterprise Linux)库:
<span class="com"># rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm</span>
安装 Epel 库
注意! 添加第三方库的时候尤其需要注意。
在最小化安装 CentOS 时你并没有获得类似 unzip 或者 untar 的工具。我们可以选择根据需要来安装每个工具,或一个能处理所有格式的工具。7-zip 就是一个能压缩和解压所有已知类型文件的工具。
<span class="com"># yum install p7zip</span>
安装 7zip 工具
注意: 该软件包从 Fedora EPEL 7 的库中下载和安装。
NTFS-3G,一个很小但非常有用的 NTFS 驱动,在大部分类 UNIX 发行版上都可用。它对于挂载和访问 Windows NTFS 文件系统很有用。尽管也有其它可用的替代品,比如 Tuxera,但 NTFS-3G 是使用最广泛的。
<span class="com"># yum install ntfs-3g</span>
安装 NTFS-3G 用于挂载 Windows 分区
ntfs-3g 安装完成之后,你可以使用以下命令挂载 Windows NTFS 分区(我的 Windows 分区是 /dev/sda5)。
<span class="com"># mount -ro ntfs-3g /dev/sda5 /mnt</span>
<span class="com"># cd /mnt</span>
<span class="com"># ls -l</span>
VSFTPD 表示 Very Secure File Transfer Protocol Daemon,是用于类 UNIX 系统的 FTP 服务器。它是现今最高效和安全的 FTP 服务器之一。
<span class="com"># yum install vsftpd</span>
安装 Vsftpd FTP
编辑配置文件 ‘/etc/vsftpd/vsftpd.conf’ 用于保护 vsftpd。
<span class="com"># vi /etc/vsftpd/vsftpd.conf</span>
编辑一些值并使其它行保留原样,除非你知道自己在做什么。
<span class="pln">anonymous_enable</span><span class="pun">=</span><span class="pln">NO</span>
<span class="pln">local_enable</span><span class="pun">=</span><span class="pln">YES</span>
<span class="pln">write_enable</span><span class="pun">=</span><span class="pln">YES</span>
<span class="pln">chroot_local_user</span><span class="pun">=</span><span class="pln">YES</span>
你也可以更改端口号,记得让 vsftpd 端口通过防火墙。
<span class="com"># firewall-cmd --add-port=21/tcp</span>
<span class="com"># firewall-cmd --reload</span>
下一步重启 vsftpd 并启用开机自动启动。
<span class="com"># systemctl restart vsftpd</span>
<span class="com"># systemctl enable vsftpd</span>
sudo 通常被称为 super do 或者 suitable user do,是一个类 UNIX 操作系统中用其它用户的安全权限执行程序的软件。让我们来看看怎样配置 sudo。
<span class="com"># visudo</span>
这会打开 /etc/sudoers 并进行编辑
sudoers 文件
给一个已经创建好的用户(比如 tecmint)赋予所有权限(等同于 root)。
<span class="pln">tecmint ALL</span><span class="pun">=(</span><span class="pln">ALL</span><span class="pun">)</span><span class="pln"> ALL</span>
如果给一个已经创建好的用户(比如 tecmint)赋予除了重启和关闭服务器以外的所有权限(等同于 root)。
首先,再一次打开文件并编辑如下内容:
<span class="pln">cmnd_Alias nopermit </span><span class="pun">=</span><span class="str">/sbin/</span><span class="pln">shutdown</span><span class="pun">,</span><span class="str">/sbin/</span><span class="pln">reboot</span>
然后,用逻辑操作符(!)添加该别名。
<span class="pln">tecmint ALL</span><span class="pun">=(</span><span class="pln">ALL</span><span class="pun">)</span><span class="pln"> ALL</span><span class="pun">,!</span><span class="pln">nopermit</span>
如果准许一个组(比如 debian)运行一些 root 权限命令,比如(增加或删除用户)。
<span class="pln">cmnd_Alias permit </span><span class="pun">=</span><span class="str">/usr/</span><span class="pln">sbin</span><span class="pun">/</span><span class="pln">useradd</span><span class="pun">,</span><span class="str">/usr/</span><span class="pln">sbin</span><span class="pun">/</span><span class="pln">userdel</span>
然后,给组 debian 增加权限。
<span class="pln">debian ALL</span><span class="pun">=(</span><span class="pln">ALL</span><span class="pun">)</span><span class="pln"> permit</span>
SELinux 表示 Security-Enhanced Linux,是内核级别的安全模块。
<span class="com"># yum install selinux-policy</span>
安装 SElinux 策略
查看 SELinux 当前模式。
<span class="com"># getenforce</span>
查看 SELinux 模式
输出是 Enforcing,意味着 SELinux 策略已经生效。
如果需要调试,可以临时设置 selinux 模式为允许。不需要重启。
<span class="com"># setenforce 0</span>
调试完了之后再次设置 selinux 为强制模式,无需重启。
<span class="com"># setenforce 1</span>
(LCTT 译注:在生产环境中,SELinux 固然会提升安全,但是也确实会给应用部署和运行带来不少麻烦。具体是否部署,需要根据情况而定。)
Rootkit Hunter,简写为 RKhunter,是在 Linux 系统中扫描 rootkits 和其它可能有害攻击的程序。
<span class="com"># yum install rkhunter</span>
安装 Rootkit Hunter
在 Linux 中,从脚本文件以计划作业的形式运行 rkhunter 或者手动扫描有害攻击。
<span class="com"># rkhunter --check</span>
扫描 rootkits
RootKit 扫描结果