服务器的初始化

服务器的初始化

新的服务器到手,部署服务器的初始化。

1、配置ip地址 网关 dns解析(static)内网和外网

2、安装源,外网(在线即可)内网(只能用源码包编译安装)

3、磁盘分区,lvm raid磁盘阵列

4、系统权限配置和基础的安全加固

系统安全:

一、保护数据安全。客户信息,财务信息

2、互联网,网络业务服务,必须要通过工信部的资质审核。

3、保护品牌形象。信息安全是红线(千万不要碰)。

应用:

1、不需要或者不想登录的用户设置为nologin。

usermod -s nologin 用户 管理员权限

2、锁定用户:

usermod -L 用户

usermod -U 用户

passwd -l 用户

passwd -u 用户

3、删除无用账号

userdel -r 用户名 #连家目录一并删除

4、锁定重要的文件

passwd shadow fstab ifcfg-ens33

1)查看文件的状态

lsattr /etc/passwd

------------- /etc/passwd

没有状态 lsattr查看文件的状态

2)chattr +i /etc/passwd /etc/shadow #锁定文件状态

3)查看文件状态

lsattr /etc/passwd

------i------ /etc/passwd

文件被锁定了

4)chattr -i /etc/passwd /etc/shadow #解锁文件状态

二、密码安全控制

新建用户

vim /etc/login.defs #在这个文件下修改

已有用户不受影响

PASS_MAX_DAYS   30          设置后面新创的用户有效期为30天
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7

已有用户

chage  -M  30  用户名

如何强制用户在下一次登录的时候修改密码

chage  -d  0   用户名

三、怎么清空所敲的命令

history -c 临时清空所敲的命令

[root@localhost ~]# vim /etc/profile
    HISTSIZE=1000           #把1000修改为60-100之间
​

设置登录的超时时间

[root@localhost ~]# vim /etc/profile
TMOUT=600               #超过600秒不操作就自动退出登录

四、如何对用户切换进行限制

su 切换用户

su 用户名 不会更改环境变量,用的还是之前用户的shell,不完全切换

su - 用户名 使用用户自己的环境 完全切换

如果在root用户下,su相当于刷新。如果是普通用户就是切回root。

[root@localhost ~]# hostnamectl set-hostname test1          #修改主机名

限制用户使用su这个命令?

PAM安全认证:linux系统身份认证的架构,提供了一种标准的身份认证的接口,允许管理员可以自定义认证的方式和方法。

PAM认证是一个可插拔式的默认。(处于一个注释和非注释的状态)

PAM的认证类型:

认证模块: 验证用户的身份,基于密码的认证方式

授权模块: 控制用户对系统资源的访问,文件权限,进程的权限。

账号管理模块: 管理用户账号信息,密码过期策略,账户锁定策略。

会话管理模块: 管理用户会话,注销用户等。

passwd 用户名 有三次机会

1、失败 1、成功

2、失败

3、成功 失败

结束 失败次数过多结束 结束

required:一票否决,只有成功才能通过认证,认证失败,也不会立刻结束,只有所有的要素验证完整才会最终返回结果。必要条件

requisite:一票否决,只有成功才能通过,但是一旦失败,其他要素不再验证,立刻结束,必要条件。

sufficient:一票通过,成功了之后就是满足条件,但是失败了,也可忽略,成功了执行验证成功的结果,失败返回验证失败的结果,最终的结果。充分条件。

optional:选项 反馈给用户的提示或者结果。

控制位:必须要满足充分和必要条件才能通过。

wheel

wheel组:这个在组文件当中没有,隐藏,特殊组。用来控制系统管理员的权限的一个特殊组。

wheel组专门用来为root服务。

具体来说,如果普通用户加入到了wheel组,就可以拥有管理员才能够执行的一些权限。

但前面必须要加上sudo sudo之后可以使用wheel组的特殊权限。

wheel组默认是空的,没有任何成员,需要管理员账好手动添加。

配置sudo的规则,然后以sudo的方式,才能够运行特定的指令(管理员才能够执行的权限)

wheel组的权限很大,配置的时候要以最小权限的原则来配置。

谁在wheel组,谁才有权限

su

sudo 相当于给普通用户赋予管理员的权限(最小权限,管理员可以使用的命令。)

[root@test1 /]# vim /etc/sudoers
100 root    ALL=(ALL)       ALL
101 dn      ALL=(root)      /usr/bin/passwd,/usr/bin/mkdir,/usr/bin/touch                   #将指定用户可以使用的权限给予该用户
102 ## Allows members of the 'sys' group to run networking, software, 
103 ## service management apps and more.
104 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
105 
106 ## Allows people in group wheel to run all commands
107 #%wheel ALL=(ALL)       ALL             #这一行没有注释,需注释掉
108 
109 ## Same thing without a password
110 # %wheel        ALL=(ALL)       NOPASSWD: ALL       #这一行如没注释,也需注释掉

开关机安全控制:

grub菜单加密:grub2-setpassword

五、总结:

你会做哪些系统加固

1、锁定重要文件

2、修改history命令的历史记录

3、禁止普通用户切换用户

4、设置sudo权限,给普通用户

5、设置grub菜单加密

6、把一些默认的端口号,大家都知道的端口号改掉

7、内核参数修改

vim /etc/sysctl.conf

内核参数的配置文件

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个典型的Linux服务器初始化脚本,可以根据自己的需求进行修改和定制。该脚本主要完成以下操作: 1. 设置主机名和IP地址。 2. 安装常用软件包和工具。 3. 配置防火墙和SELinux。 4. 配置SSH服务。 5. 设置时区。 6. 创建普通用户和用户组。 7. 禁用root用户远程登录。 8. 配置日志轮转。 ```bash #!/bin/bash # 设置主机名 echo "请输入主机名:" read hostname hostnamectl set-hostname $hostname # 设置IP地址 echo "请输入IP地址:" read ipaddr nmcli connection modify ens33 ipv4.addresses $ipaddr/24 systemctl restart network # 安装常用软件包和工具 yum update -y yum install -y vim wget curl net-tools lsof telnet tree # 配置防火墙和SELinux systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 配置SSH服务 sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config systemctl restart sshd # 设置时区 timedatectl set-timezone Asia/Shanghai # 创建普通用户和用户组 groupadd developers useradd -g developers -m -s /bin/bash developer echo "请输入developer用户的密码:" passwd developer # 禁用root用户远程登录 sed -i 's/#RemoteRootLogin yes/RemoteRootLogin no/g' /etc/ssh/sshd_config systemctl restart sshd # 配置日志轮转 cat << EOF > /etc/logrotate.d/myapp /var/log/myapp/*.log { missingok notifempty sharedscripts delaycompress daily rotate 7 create 0644 root root postrotate systemctl reload myapp endscript } EOF ``` 注意:以上脚本仅为示例,具体的Linux服务器初始化脚本应该根据实际情况进行修改和定制。建议在实际操作中参考官方文档,或者咨询专业的Linux技术人员。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值