Linux服务器初始化 centos7
- 其他
- 17天前
- 35热度
- 0评论
1、更新
先备份
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
再下载
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
更新缓存
# yum clean all
# yum makecache
# yum update -y
同步时间
确定时区为东八区
# more /etc/localtime
apif2
CST-8
更新时间
# ntpdate ntp1.aliyun.com 或者
# ntpdate ntp2.aliyun.com
定时任务
# crontab -e
00 23 * * * ntpdate ntp1.aliyun.com
设置主机名
# hostname
# hostnamectl set-hostname master
# vi /etc/hosts
127.0.0.1 master
::1 master
2、创建管理用户,避免日常使用root用户
大家都知道超级管理员是root,权限非常大,所以要防止密码泄露,日常尽量避免直接使用
2.1、建用户
# groupadd web
# useradd -g web zhangsan
# passwd zhangsan
2.2、授权
如果是一个人独立管理服务器,涉及使用超级管理员权限时,通过 su 切换到root。
如果是多人管理服务器,建议使用 sudo 进行授权。
授权用户 zhangsan 超级管理员权限:
# visudo
在文件中找到"root ALL=(ALL) ALL"这一行,然后在下面加入一行"zhangsan ALL=(ALL) ALL",这样就把用户user加入sudo组了。
这个是很粗暴的把用户 zhangsan 设置为超级管理员权限,建议在实际操作时,进行详细的授权。
授权用户 zhangsan 个别权限(特别要注意权限溢出问题):
zhangsan ALL=/bin/more
或者更严格的:
zhangsan ALL=/bin/more /etc/shadow
可以用*代替,如
zhangsan ALL=/bin/*,/sbin/*,!/bin/more
3、保护SSH
3.1、禁止root登录
防止匿名用户不断的用root用户尝试登录
# vi /etc/ssh/sshd_config
PermitRootLogin no
重启ssh服务生效
# systemctl restart sshd
注意:如果是远程管理,先使用 zhangsan 登录后,再退出root用户,防止出现意外
3.2、修改SSH登录端口
新增ssh端口 6000
# vi /etc/ssh/sshd_config
Port 22
Port 6000
重启生效
# systemctl restart sshd
配置selinux 授权新的端口(如果selinux启动的话)
安装selinux管理命令工具
# yum -y install policycoreutils-python setroubleshoot(选装)
查看selinux允许的ssh端口
# semanage port -l | grep ssh
增加新的端口
# semanage port -a -t ssh_port_t -p tcp 6000
配置防火墙,允许新的端口
# cp /usr/lib/firewalld/servies/ssh.xml /etc/firewalld/services/
# vi /etc/firewalld/services/ssh.xml
增加端口节点:6000
# firewall-cmd --reload
不要断开目前的连接,尝试使用6000端口连接服务器,如果连接不成功则进行排查
连接成功后删除22端口,并重启生效
# vi /etc/ssh/sshd_config
# systemctl restart sshd
删除防火墙配置中的22端口,并重启生效
# vi /etc/firewalld/services/ssh.xml
# firewall-cmd --reload
selinux先不关了
4、检查防火墙
防火墙非常重要,一定要开启。
centos7 默认使用 firewalld 防火墙,默认开启,前面也使用过了。
注意把对外的网络定义为public级别,然后严格控制其端口和服务。
5、检查selinux
比较重要,建议开启。
默认开启,前面也使用过了。
6、定期维护拒绝IP目录
如果发现那个IP有异常情况,如流量异常,则禁该IP访问一段时间
# vi /etc/hosts.deny
ALL:124.112.137.34
ALL:198.123.44.32
7、禁止密码登录
如果还要加强安全性,直接静止SSH的密码登录,使用证书登录,或者双重验证。
关闭密码登录:
# vi /etc/ssh/sshd_config
PasswordAuthentication no
8、日志监控器
采用fail2ban等第三方日志监控器,当发现有人在试探你的SSH密码的时候,只要达到一定的次数,则调用防火墙屏幕该IP,而且可以发邮件通知管理员,非常强大的一个功能。
9、最后
安全无止境,只有不断优化,做好数据备份,它是最后的一道安全措施了。