centos怎么重装系统7系统删掉,还能重装这个系统吗?

CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7。当你兴趣勃勃地在一台主机或 VPS 上安装 CentOS 7 后,首要的工作肯定是加强它的安全性,以下列出的七件事,是你进一步配置系统和安装其他软件前必须做的。
1. 更改 root 密码
若果你是自行安装 CentOS 7 的话,安装程序会让你自行设定 root 的密码。不过很多 VPS 服务商只会提供预先安装好的 CentOS 7 映像档,这种情况下他们会透过主控界面告诉你 root 的密码,这个密码的安全性谁也不知道,它是如何产生的呢?随机性可靠吗?复杂性足够吗?服务商的服务器是否记录了密码的副本?我们实在有必要第一时间重设这个密码。
首先使用&ssh&登入服务器,在 Windows 可以使用&Putty、Tera Term、或者在&Cygwin&环境下执行&OpenSSH。在 Mac 和 Linux 上只需在终端机 (terminal) 中执行以下指令便可以了,比 Windows 简单得多:
由于你从来没有使用过 ssh 联系到这台服务器,你的电脑会把服务器的加密公钥下载,然后询问你是否信任它,这台新鲜安装好的 CentOS 7 应该还未引起黑客的兴趣,也不大可能在这么短的时间内被攻陷,所以可以放心接受这个加密公钥。跟着输入 root 的密码登入服务器:
登入后立即更改 root 的密码,你需要输入新密码两次:
好的密码应该同时包含数字、小写英文字母、大写英文字母、和标点符号,最少 15 个字符,这样的密码强度大概有 90 bit,勉强可以应付密码被“暴力破解”,当然我假设了你的密码是真正随机产生,有些人喜欢把个人资料例如名字、出生日期、车牌号码、地址、配偶和子女的名字等等崁入密码中,或者使用字典里的字词拼凑密码,这样密码的强度将会大幅下降,甚至不堪一击,这些问题我曾经在《如何管理密码?》讨论过。
网上有很多随机密码产生器,例如&RANDOM.ORG,大都可用,但记紧必须使用 HTTPS 造访这些网站。如果你有使用“密码夹万”一类的软件,不妨使用它们内建的密码产生器。
完成后不要登出系统,使用另一个视窗用新密码尝试登入,即使失败也可以在原来的视窗重复以上步骤。
2. 新增一个普通帐号
这一步连同下一步,相当于为一个城市筑起两道城墙,既可加强防卫,也建立了一道警报机制,当敌人(黑客)卒然来袭,第一道城墙被袭击和破坏,我们还有第二道城墙阻延一下,有时间部署防卫甚至反击。所以这是一个很多人忽略,但其实非常重要的步骤。
首先我们新增一个帐号:
这个新帐号 ahhang 没有默认密码,即是说登入 ahhang 时系统不用输入密码!所以我们立即要设定密码:
有些人认为不应该把建立帐号和设定密码两件事分开来做,一来可能会不慎遗忘,二来也给黑客一道时间缝隙登入这个新帐号,所以他们会在&adduser&指令中一并提供加密后的默认密码,方法是加入&-p&参数,不过这样做也有风险,因为黑客可以透过列出系统的进程,得知加密了的新密码,然后把密码破解。
3. 禁止 root 使用 ssh 登入
CentOS 7 默认容许任何帐号透过&ssh&登入,包括 root 和一般帐号,为了不让 root 帐号被黑客暴力入侵,我们必须禁止 root 帐号的&ssh&功能,事实上 root 也没有必要&ssh&登入服务器,因为只要使用&su&或&sudo&(当然需要输入
root 的密码) 普通帐号便可以拥有 root 的权限。使用&vim&(或任何文本编辑器) 开启&/etc/ssh/sshd_config,寻找:
#PermitRootLogin&yes
PermitRootLogin&no
最后输入以下指令重新启动&sshd:
systemctl&restart&sshd.service
这样黑客要取得 root 的权限,必须破解 root 和一个普通用户的密码,难度增加了。
完成后不要登出系统,使用另一个视窗尝试登入 root 和普通帐号,测试无误便可进行下一步。
4. 使用非常规的 ssh 端口
Ssh&默认使用端口 22,这是在 IANA 注册的官方端口,但没有人说 ssh 不能使用其他端口,很多黑客专门向服务器的 22 端口发动攻击,即使你的服务器固若金汤、牢不可破,但是要系统日以继夜接受攻击,消耗的系统资源(网络、处理器、内存等等)也不会少,何况它是否真的牢不可破还说不定呢!所以有必要让&ssh&使用其他端口,只让有权使用&ssh&的用户知道。
使用 vim& (或任何文本编辑器) 开启&/etc/ssh/sshd_config,寻找:
Port&10837
你可以把 10837 改为任何 1024 – 65535 之间的任何数字,若果怕与某些系统服务发生冲突,可以参考一下这里。
跟着重新启动&sshd:
systemctl&restart&sshd.service
然后是设定防火墙,CentOS 7 的内核已经有防火墙&netfilter,但你的系统未必安装了用户界面,较前版本的 CentOS 默认使用&iptables,但 CentOS 7 开始使用效能更高、稳定性更好的&firewalld,若果服务器尚未安装firewalld,可以使用以下指令安装,不确定是否已经安装的话也可以输入这个指令,它会告诉你已经安装然后退出。
yum&install&firewalld
跟着启动:
systemctl&start&firewalld
设定&firewalld&的方法有两个,第一个是修改&firewalld&有关&sshd&的设定,把端口 22 改为 10837,这是正统的做法,但步骤比较多;第二个是要求&firewalld&开启端口
10837,不指定它属于哪一个服务,这个做法通常处理临时的端口开启/封锁,步骤简单,但是日后你要是忘记了这个端口为什么开启了呢?什么时候开启的呢?为了哪一项服务开启呢?可能有点麻烦。我两种方法都会介绍一下,但作为专业的系统管理员(即使不是真正的专业,也应该具备这样的心态),我推荐使用第一种方法。
设定防火墙方法一:
复制&firewalld&有关&sshd&的设定档案:
cp&/usr/lib/firewalld/services/ssh.xml&/etc/firewalld/services/
使用&vim& (或任何文本编辑器) 开启&/etc/firewalld/services/ssh.xml,寻找:
&&&port&protocol=&tcp&&port=&22&/&
&&&port&protocol=&tcp&&port=&10837&/&
储存后重新加载&firewalld:
firewall-cmd&--reload
设定防火墙方法二:
输入以下指令:
firewall-cmd&--zone=public&--add-port=10837/tcp&--permanent
就是这样简单!
不论使用哪种方法,完成后不要登出系统,使用另一个视窗尝试登入,例如:
ssh&-p&10837&ahhang@192.168.1.188
5. 启用公钥验证登入&ssh
现在只有普通帐号才能透过&ssh&登入服务器,但是&ssh&提供一个更先进更安全的验证方法:公钥验证法。
首先每一名用户建立一对加密钥匙(密钥和公钥),密钥储存在日常使用的电脑,公钥则储存在服务器,使用&ssh联系到服务器的时候,电脑会把一些建立连线请求的资料,其中包括帐号名称和公钥,并且把部分资料用密钥制作数码签署,一股脑儿送到服务器,服务器检查自己的“公钥库”是否包含送来的公钥,有的话再验证数码签署,成功的话便直接登入服务器,无需输入帐号密码。
第一步在日常使用的电脑上使用&ssh-keygen&指令建立一对加密钥匙,它会询问储存加密钥匙的档案名称,和把钥匙加密的密码,档案名称使用默认的路径和名称便可以,密码则无需输入:
这个指令会创造两个档案,一个名为&id_rsa,是你的 RSA 密钥,另一个是&id_rsa.pub,是你的 RSA 公钥。公钥必需上传到服务器并且附加于用户帐号里面的&.ssh/authorized_keys&档案中,这个档案储存所有可透过&ssh&登入到这一个帐号的公钥,一行一条公钥:
顺便一提,这个档案的存取权限必须是&0700,否则&sshd&不会读取:
使用公钥验证法登入&ssh&又省力又安全,因为我们不用输入密码,自然也没有密码被盗取的忧虑,简简单单地输入连线指令便可以了。
但是存放在日常电脑中的密钥却带来新的安全隐患,万一密钥被盗取了,其他人岂不是可以随便登入服务器?现在是“双重验证”(two-factor authentication) 隆重登场的时候,双重验证的理念是我们必须向服务器证明两种不同性质的东西,才能成功验证身分,第一样是我们知道什么,第二样是我们拥有什么。首先服务器会要求我们输入密码,我们知道密码,过了第一关。跟着服务器要求我们证明拥有公钥验证法中的密钥,透过上面的设定程序我们也通过了验证,过了第二关。现在服务器才会让我们进入系统。
设定 ssh 的双重验证法很简单,使用&vim& (或任何文本编辑器) 开启&/etc/ssh/sshd_config,在档案的末端假如这一行:
AuthenticationMethods&publickey,password
它告诉服务器用户必须拥有合法的公钥,和输入正确的密码才能成功登入。修改完成后重新启动&sshd:
systemctl&restart&sshd.service
完成后不要登出系统,使用另一个视窗尝试登入,测试无误便可进行下一步。
6. 更新、更新、每天更新、每天自动更新
每一天都有成千上万的黑客在世界各地寻找 Linux 系统和常见软件的安全漏洞,一有发现便会发动规模庞大而迅速的网络攻击,务求在我们来得及反应前把系统攻陷。不要以为黑客都只是十来岁的年轻小毛头,大部分黑客背后都有势力庞大、资源几乎无限的国家机构支持,有些甚至属于这些机构的雇员,美国的 NSA,英国的 GQHC,中国的无名黑客队伍,都是比较明目张胆由国家支持的网络黑帮,可见我们的系统时时刻刻都被凶狠之徒盯着,保持软件在最新的状态是其中一项我们必须做,也很容易做到的工作。
首先我们立即手动更新所有预先安装的软件:
yum&-y&update
跟着设定系统定时自动更新,第一步确定服务器是否安装了自动执行指令的工具,跟着使用&yum&一个名叫&yum-cron插件。
CentOS 7 使用数个软件来自动执行指令:cron、anacron、at&和&batch,其中&cron&和&anacron&用来定期重复执行指令,At&和&batch&则用来在特定时间执行一次性的指令。我们将会使用&cron&和&anacron,两者的分别这里不细表了,将来有机会再讨论,现在使用以下指令安装&cron&和&anacron:
yum&-y&install&cronie
下一步就是安装&yum-cron:
yum&-y&install&yum-cron
其实你可以使用一个指令同时安装&cronie&和&yum-cron,甚至单独安装&yum-cron&也可以,因为&yum&会自动检测到yum-cron&需要&cronie&然后自动替你安装,上面分开两个指令纯粹令大家容易明白。
完成后系统多了数个档案,比较重要的包括:
/etc/cron.daily/0yum.cron
Anacron&每天执行这个档案一次,它根据配置档案 /etc/yum/yum-cron.conf 来更新软件/etc/yum/yum-cron.conf
这是每天执行&yum-cron&的配置档案,默认只会下载更新的软件,并不安装,用意是让管理员检视&yum-cron的输出,选取需要更新的软件进行手动安装。
跟着我们修改配置档案,让&yum-cron&自动更新软件,使用&vim& (或任何文本编辑器) 开启 /etc/yum/yum-cron.conf,寻找:
apply_updates&=&no
apply_updates&=&yes
确认一下&update_messages = yes,&download_updates = yes,&apply_updates = yes,正如下图:
最后,启动&crond&和&yum-cron:
systemctl&start&crond
systemctl&start&yum-cron
防火墙的作用好比网络警察,它监察所有进出系统的 IP 封包,哪些端口容许封包进入,哪些端口容许封包外出等等,都由防火墙控制,保护使用这些端口的应用程式,所以设定防火墙是极重要的工作。
过滤封包功能的 netfilter 已经内建在 CentOS 7 的内核,但是配置 netfilter 的界面程式 firewalld 却未必有安装,不论是否已经安装,都可以执行下面的安装指令:
yum&install&firewalld
跟着查看一下防火墙现在开启了哪些服务和端口:
firewall-cmd&--list-all
上图可见防火墙只开启了 DHCP 客户端和 ssh 两个服务的通讯端口,倘若日后安装了其他网络软件,例如网站服务器、域名服务器等等,必须要检查安装程式有否开启他们的通讯端口,没有的话便要手动开启。如果好像前面第四点那样使用了非常规的通讯端口,也可能要手动配置防火墙,防火墙详细的配置方法超出了本文的讨论范围,将来有机会再谈。
/CentosSecurity/CentosSafe/58.html
本文已收录于以下专栏:
相关文章推荐
防火墙的使用
CentOS 7.0默认使用的是firewall作为防火墙
systemctl start firewalld.service #启动firewall
systemctl stop f...
CentOS7 初次安装记录(一)安装完成不能上网CentOS7.1出来已经很久了,我的服务器也顺利的配置为了7.1,但是是运维同事帮我操作的。而上次出现问题,我重启了一下,出现了很多问题,折腾了很久...
配置上网用过centos7的人都指定刚安装的时候系统是不能上网的,需要我们去配置一下允许上网才可以具体命令如下vi /etc/sysconfig/network-scripts/ifcfg-enp0s...
转载地址:/atc/server/798.html
CentOS是最多人用来运行服务器的 Linux 版本,最新版本是 CentOS 7。当你兴趣勃勃地在...
centos查找命令
自动激活网卡
安装了CENTOS 6.X后,每次启动了系统都需要手动激话网卡,以下方法可以在系统启动后自动激活网卡。
cat /etc/sysconfig/network-scripts/ifcf...
在VM虚拟机中安装CentOS 7 时
有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好的最小化centos7做一些操作,来世...
CentOS 7最小安装之后应该尽快做好的几件事情
CentOS的最小系统仅包含内核和必要的工具,派不上多大用处,以后还得安装很多附加软件。为了方便以后的工作,还需要对系统...
添加第三方源Centos作为REDHAT的社区版本,本身追求稳定性。因此,官方源中自带的软件并不多,添加一些第三方的源对我们以后安装一些软件非常方便。常用的有 EPEL、ATrpms、ELRepo、N...
1.宽带连接
终端: nm-connection-editor
另外一篇:Centos7宽带连接
2.输入法设置
设置-->区域和语言--> + -->搜索chinese-->选择”...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)查看:6938|回复:3
============================================================================================
问题描述:
1.启动系统时,以文字界面查看启动信息,发现不停报错如下图所示,可出现登陆界面,登陆后,依然报错,然后用户自动注销、重启。
(548.37 KB)
2.通过安装光盘进入rescue,chroot /mnt/sysimage时,提示:bus error 。
3.使用dbg分析core文件,提示:bus error,*** signal 7,可能是内存对齐出错,更换内存插槽、内存条,问题依旧。
4.仔细观察启动信息,发现提示**** sda2 error,然后指出具体的某个block。通过fstab、mtab得知sda2为根分区。
5.vi ./etc/fstab,修改sda2的自检参数为0,禁止根分区自检。问题依旧。
============================================================================================
请教各位兄弟,这个问题该如何修复?
如果无法修复,选择重装系统,怎样保证硬盘上其它分区的数据不会丢失?
谢谢!!!
本帖最后由 shelia_2008 于
18:58 编辑
高级工程师
Linuxの小凡
引用:原帖由 shelia_2008 于
18:53 发表
============================================================================================
问题描述:
1.启动系统时,以文字界面查看启动信息,发现不停报错如下图所示,可出现登陆界面,登陆后,依然报错,然后用户自动注 ... 首先,兄弟提问的方式很好,图文并茂,表达清晰,赞一个。
其次,我觉得兄弟判断的思路比较正确,我建议你先把硬盘放到别的电脑上试试,同时也换机器测试下内存条,实在不行送专门的售后,这样才能保证你的数据安全。
优秀技术经理
首先进救援模式,看能不能把文件拷出来。如果不行,就把硬盘挂载到其它机器,备份数据,然后再考虑重装系统,这样数据有备份了,做起来也就有底气。
优秀技术经理
不排除是主板问题,或者主板上某个接口问题。在桌面“计算机”上右击,选择“管理”,选择“磁盘管理”,找到对应的linux分区,在其上右击删除卷,或者类似的能抹消的操作,linux就被删除了。
如果需要恢复linux引导,用bcdedit或easybcd就可以修复。
以上操作对win7木有任何影响,除非你误操作了。

我要回帖

更多关于 linux centos重装系统 的文章

 

随机推荐