Com*_*nts 5 automation security ubuntu configuration-management
每次设置新服务器时,我都会在每台服务器上执行一系列步骤以获取更新、设置密码、通过 root 用户删除登录、自定义熟悉的环境 (bashrc) 并保护服务器。
是否可以使用脚本来完成所有这些工作?设置可能包括:
发行版升级和更新
apt-get 更新
apt-get 升级
添加用户
添加用户部署者
adduser 部署者 sudo
mkdir /home/deployer/.ssh
chmod 700 /home/deployer/.ssh
触摸 /home/deployer/.ssh/authorization_keys
部署者密码
su 部署者
cd 到 /home/deployer/.ssh/
须藤 chown 部署者 .ssh/
在本地机器上执行命令:
ssh-copy-id root@hostname.com
ssh-copy-id deployer@hostname.com
重新登录服务器:
chmod 400 /home/deployer/.ssh/authorized_keys
chown 部署者:部署者 /home/deployer -R
5..6...7.. 自定义bashrc,编辑sshd_config,安装ufw & logwatch
使用 Kickstart 或等效流程来管理构建。使用像 Puppet 这样的配置管理产品来部署您的设置。
您还可以使用一点脚本魔法在构建结束时启动配置管理,使其成为无缝体验。
我的脚本设置了一个静态 IP,配置 OSSEC 并执行几次 puppet 运行以整理所有依赖项,然后运行 yum 更新(我主要是 CentOS 用户)。
可以拼凑其他方法来获得相同的结果,但我发现这是我使用过的最灵活的方法。