1 Star 1 Fork 0

Seaton Jiang / narsil-ubuntu

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

English | 简体中文

💻 工具截图

脚本执行

script-execution

登录信息

login-information

挂载硬盘

mount-disk

✨ 工具特性

  • 限制密码使用期限为 30 天
  • 密码过期 30 天后,该账户将被禁用
  • 设置两次修改密码的时间间隔为 1 天
  • 在密码过期前 7 天将发出警告
  • 将系统默认加密算法设置为 SHA512
  • 将会话超时策略设置为 180 秒
  • 为新建的用户创建并加入一个同名的组
  • 将新建用户的 home 目录权限设置为 0750
  • 将存量用户的 home 目录权限设置为 0750
  • 强化 OpenSSH 配置(有些配置需要手动配置)
  • 禁止没有 home 目录的用户登录
  • 禁止新建的用户使用 SHELL 登录
  • 禁止上传和用户信息的功能
  • 禁止删除用户时同步删除该用户的组

还有很多特性没有被列举出来,可以参考 scripts 目录下的文件了解更多信息。

🚀 快速入门

第一步:克隆仓库

确保服务器安装了 Git,否则需要先安装 git 软件:

git clone https://github.com/seatonjiang/narsil-ubuntu.git

如果因为网络问题无法连接,可以使用国内镜像仓库,但是镜像仓库会有 30 分钟的延迟:

git clone https://gitee.com/seatonjiang/narsil-ubuntu.git

第二步:编辑配置

进入项目文件夹:

cd narsil-ubuntu/

核对配置文件中的配置信息(配置文件说明在下文):

vi narsil.conf

第三步:运行脚本

如果使用 root 账号,可以直接运行,如果是普通账号,需要使用 sudo 运行,而且必须用 bash 运行该脚本:

sudo bash narsil.sh

📝 配置文件

# 每一项操作完成后进行验证
VERIFY='Y'

# 云服务器使用 Metadata 覆盖默认配置
METADATA='Y'

# 在 banner 中添加生产环境的提示
PROD_TIPS='Y'

# 无响应注销时间 (单位:秒)
LOGOUT_TIME='180'

# SSH 端口配置
SSH_PORT='22'

# 时区配置
TIME_ZONE='Asia/Shanghai'

# 主机名称配置
HOSTNAME='Ubuntu'

# DNS 服务器配置
DNS_SERVER='119.29.29.29 223.5.5.5'

# NTP 服务器配置
NTP_SERVER='ntp1.tencent.com ntp2.tencent.com ntp3.tencent.com ntp4.tencent.com ntp5.tencent.com'

# Docker 配置
DOCKER_CE_REPO='https://mirrors.cloud.tencent.com/docker-ce'
DOCKER_HUB_MIRRORS='https://hub-mirror.c.163.com'

📂 目录结构

下面是整个项目的文件夹结构,configscripts 文件夹中的文件省略显示。

narsil-ubuntu
├── narsil.conf
├── narsil.sh
├── config
│   └── (some config files)
└── scripts
    └── (some script files)

🔨 独立功能

Narsil 中包含了一些独立的功能,这些功能并不在自动执行的脚本中,需要使用参数单独使用,可以使用 sudo bash narsil.sh -h 命令查看所有独立功能。

清理垃圾

清理所有的系统日志文件。

建议在初始化系统之前先进行清理。

sudo bash narsil.sh -c

安装 Docker

安装 Docker 服务并设置镜像加速。

安装完成后,可以使用 docker run hello-world 测试 Docker 相关功能是否正常。

sudo bash narsil.sh -d

挂载硬盘

交互式挂载数据盘,数据无价,操作过程切记小心!

如果所选的硬盘已经被挂载,会提示解除挂载及格式化操作,腾讯云会优先使用弹性云硬盘的软链接方式挂载。

sudo bash narsil.sh -f

修改主机名称

默认为 Ubuntu,如果 METADATA=Y 那么默认名称为元数据获取的名称。

元数据功能目前仅支持腾讯云服务器。

sudo bash narsil.sh -n

修改端口

交互式修改 SSH 端口。

端口范围需要在 10000 到 65535 之间。

sudo bash narsil.sh -p

卸载监控

卸载服务商安装到服务器中的各种监控组件。

此功能目前仅支持腾讯云服务器。

sudo bash narsil.sh -r

添加交换空间

如果物理内存太小,建议添加交换空间。

sudo bash narsil.sh -s

🤝 参与共建

我们欢迎所有的贡献,你可以将任何想法作为 Pull requests 或 Issues 提交,顺颂商祺!

📃 开源许可

项目基于 MIT 许可证发布,详细说明请参阅 LICENCE 文件。

MIT License Copyright (c) 2024 Seaton Jiang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Ubuntu 安全加固工具 展开 收起
Shell
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Shell
1
https://gitee.com/seatonjiang/narsil-ubuntu.git
git@gitee.com:seatonjiang/narsil-ubuntu.git
seatonjiang
narsil-ubuntu
narsil-ubuntu
main

搜索帮助