扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
个人认为centos7.0
成都创新互联公司主营龙州网站建设的网络公司,主营网站建设方案,成都app软件开发,龙州h5微信小程序定制开发搭建,龙州网站营销推广欢迎龙州等地区企业咨询
1、可靠性
Redhat,称为Redhat系列,包括RHEL(RedhatEnterprise Linux,收费版本)。
CentOS(Community ENTerprise Operating System,开源版本),是由红帽公司测试维护,并在Linux内核稳定分支上进行开发,系统相对稳定。
Debian系列,包括Debian和Ubuntu 等,是社区类Linux的典范,分为三个版本分支(branch): stable, testing 和 unstable。
其中,unstable为最新的测试版本,其中包括最新的软件包,也有相对较多的bug,适合桌面用户,Ubuntu是基于 Debian的unstable版本加强而来。
拥有Debian所有的优点,以及所加强的优点的近乎完美的 Linux桌面系统,界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
2、硬件兼容性
RHEL对硬件的支持比较好,主流硬件厂商早就将服务器拿过去测试,不存在硬件的兼容性问题。对于Debian来说,由于版权和代码纯洁性考虑,一些硬件驱动和软件被删掉了。导致安装过程有问题。
3、生命周期
CentOS/RHEL的生命周期是7到10年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。
Debian的生命周期是不固定的,一般新版本发布以后,上个版本再维护18个月。Debian的版本发布时间间隔不稳定,经常会延期。
综合起来一个版本的生命周期一般在3~4年。选用了 Debian 或者 Ubuntu作为服务器。等生命周期过了以后,就没有安全补丁,服务器就会有安全风险。
扩展资料:
CentOS7的功能:
1、CentOS6在线升级到 CentOS7;
2、加入了linux容器(LinuX Containers, LXC)支持,使用轻量级的Docker进行容器实现;
3、默认的XFS文件系统;
4、使用systemd后台程序管理linux系统和服务;
5、使用firewalld后台程序管理防火墙服务;
6、Centos7 单用户模式;
7、centos7里不再有0-6启动级别,而是4个target;
8、graphical.target 多人模式,支持图形和命令行两种登录,对应之前的3,5级别;
9、multi-user.target 多人模式,只支持命令行登录,对应之前的3级别;
10、 rescue.target 单人模式,对应之前的1级别;
11、emergency.target 单人模式,不过系统进入后根目录是只读的;
12、centos7采用的是grub2,和之前的方式有所不同;
参考资料:
百度百科—CentOS
保留、维护和分析日志(如某个特定时期内发生过的,或正在发生的帐号事件),是Linux系统管理员最基础和最重要的任务之一。对于用户管理,检查用户的登入和登出日志(不管是失败的,还是成功的)可以让我们对任何潜在的安全隐患或未经授权使用系统的情况保持警惕。例如,工作时间之外或放假期间的来自未知IP地址或帐号的远程登录应当发出红色警报。在CentOS系统上,用户登录历史存储在以下这些文件中:/var/run/utmp(用于记录当前打开的会话)被who和w工具用来记录当前有谁登录以及他们正在做什么,而uptime用来记录系统启动时间。/var/log/wtmp (用于存储系统连接历史记录)被last工具用来记录最后登录的用户的列表。/var/log/btmp(记录失败的登录尝试)被lastb工具用来记录最后失败的登录尝试的列表。在本文中,我将介绍如何使用utmpdump,这个小程序来自sysvinit-tools包,可以用于转储二进制日志文件到文本格式的文件以便检查。此工具默认在CentOS 6和7系列上可用。utmpdump收集到的信息比先前提到过的工具的输出要更全面,这让它成为一个胜任该工作的很不错的工具。除此之外,utmpdump可以用于修改utmp或wtmp。如果你想要修复二进制日志中的任何损坏条目,它会很有用(LCTT 译注:我怎么觉得这像是做坏事的前奏?)。Utmpdump的使用及其输出说明正如我们之前提到的,这些日志文件,与我们大多数人熟悉的其它日志相比(如/var/log/messages,/var/log/cron,/var/log/maillog),是以二进制格式存储的,因而我们不能使用像less或more这样的文件命令来查看它们的内容。所以,utmpdump的出现拯救了世界。为了要显示/var/run/utmp的内容,请运行以下命令:代码如下:# utmpdump /var/run/utmp同样要显示/var/log/wtmp的内容:代码如下:# utmpdump /var/log/wtmp tail -15[code]最后,对于/var/log/btmp:[code]# utmpdump /var/log/btmp正如你所能看到的,三种情况下的输出结果是一样的,除了utmp和btmp的记录是按时间排序,而wtmp的顺序是颠倒的这个原因外(LCTT 译注:此处原文有误,实际上都是按照时间顺序排列的)。每个日志行格式化成了多列,说明如下。第一个字段显示了会话识别符,而第二个字段则是PID。第三个字段可以是以下值:--(表示运行等级改变或系统重启),bw(启动守候进程),数字(表示TTY编号),或者字符和数字(表示伪终端)。第四个字段可以为空或用户名、重启或运行级别。第五个字段是主TTY或PTY(伪终端),如果此信息可获得的话。第六个字段是远程主机名(如果是本地登录,该字段为空,运行级别信息除外,它会返回内核版本)。第七个字段是远程系统的IP地址(如果是本地登录,该字段为0.0.0.0)。如果没有提供DNS解析,第六和第七字段会显示相同的信息(远程系统的IP地址)。最后一个(第八)字段指明了该记录创建的日期和时间。Utmpdump使用样例下面提供了一些utmpdump的简单使用情况。1、 检查8月18日到9月17日之间某个特定用户(如gacanepa)的登录次数。代码如下:# utmpdump /var/log/wtmp grep gacanepa如果你需要回顾先前日期的登录信息,你可以检查/var/log下的wtmp-YYYYMMDD(或wtmp.[1...N])和btmp-YYYYMMDD(或btmp.[1...N])文件,这些是由logrotate生成的旧wtmp和btmp的归档文件。2、 统计来自IP地址192.168.0.101的登录次数。代码如下:# utmpdump /var/log/wtmp grep 192.168.0.1013、 显示失败的登录尝试。代码如下:# utmpdump /var/log/btmp在/var/log/btmp输出中,每个日志行都与一个失败的登录尝试相关(如使用不正确的密码,或者一个不存在的用户ID)。上面图片中高亮部分显示了使用不存在的用户ID登录,这警告你有人尝试猜测常用帐号名来闯入系统。这在使用tty1的情况下是个极其严重的问题,因为这意味着某人对你机器上的终端具有访问权限(该检查一下谁拿到了进入你数据中心的钥匙了,也许吧?)4、 显示每个用户会话的登入和登出信息代码如下:# utmpdump /var/log/wtmp在/var/logwtmp中,一次新的登录事件的特征是,第一个字段为‘7’,第三个字段是一个终端编号(或伪终端id),第四个字段为用户名。相关的登出事件会在第一个字段显示‘8’,第二个字段显示与登录一样的PID,而终端编号字段空白。例如,仔细观察上面图片中PID 1463的行。在 [Fri Sep 19 11:57:40 2014 ART],TTY1上显示登录提示符。在 [Fri Sep 19 12:04:21 2014 ART],用户 root 登入。在 [Fri Sep 19 12:07:24 2014 ART],用户 root 登出。旁注:第四个字段的LOGIN意味着出现了一次登录到第五字段指定的终端的提示。到目前为止,我介绍一些有点琐碎的例子。你可以将utmpdump和其它一些文本处理工具,如awk、sed、grep或cut组合,来产生过滤和加强的输出。例如,你可以使用以下命令来列出某个特定用户(如gacanepa)的所有登录事件,并发送输出结果到.csv文件,它可以用像LibreOffice Calc或Microsoft Excel之类的文字或工作簿应用程序打开查看。让我们只显示PID、用户名、IP地址和时间戳:代码如下:# utmpdump /var/log/wtmp grep -E "[7].*gacanepa" awk -v OFS="," 'BEGIN {FS="] "}; {print $2,$4,$7,$8}' sed -e 's/[//g' -e 's/]//g'就像上面图片中三个高亮区域描绘的那样,过滤逻辑操作是由三个管道步骤组成的。第一步用于查找由用户gacanepa触发的登录事件([7]);第二步和第三部用于选择期望的字段,移除utmpdump输出的方括号并设置输出字段分隔符为逗号。当然,如果你想要在以后打开来看,你需要重定向上面的命令输出到文件(添加“[文件名].csv”到命令后面)。在更为复杂的例子中,如果你想要知道在特定时间内哪些用户(在/etc/passwd中列出)没有登录,你可以从/etc/passwd中提取用户名,然后运行grep命令来获取/var/log/wtmp输出中对应用户的列表。就像你看到的那样,有着无限可能。在进行总结之前,让我们简要地展示一下utmpdump的另外一种使用情况:修改utmp或wtmp。由于这些都是二进制日志文件,你不能像编辑文件一样来编辑它们。取而代之是,你可以将其内容输出成为文本格式,并修改文本输出内容,然后将修改后的内容导入回二进制日志中。如下:代码如下:# utmpdump /var/log/utmp tmp_output使用文本编辑器修改 tmp_output# utmpdump -r tmp_output /var/log/utmp这在你想要移除或修复二进制日志中的任何伪造条目时很有用。下面小结一下,utmpdump从utmp、wtmp和btmp日志文件或轮循的旧归档文件来读取详细的登录事件,来补充如who,w,uptime,last,lastb之类的标准工具的不足,这也使得它成为一个很棒的工具。
CentOS有几个版本可以选择,如下:
1、CentOS-7-DVD版本:DVD是标准安装盘,一般下载这个就可以了。
2、CentOS-7-NetInstall版本:网络安装镜像。
3、CentOS-7-Everything版本:对完整版安装盘的软件进行补充,集成所有软件。
4、CentOS-7-LiveGnome版本:GNOME桌面版。
5、CentOS-7-KdeLive版本:KDE桌面版。
6、CentOS-7.0-livecd版本:光盘上运行的系统,类拟于winpe。
新版本较于旧版本类型区别说明如下:
1、初次启动。
装完机后,开机进系统的界面不同,有一个是rescue选择,而且按e后,会发现所有的grub.conf的信息全出来了,内核启动的地方,写要进单用户模式,然后需要进rescue模式。
2、字符界面。
每次的新版本进系统后,是图形界面,想进字符界面,结果找到/etc/inittab,发现几乎是个空文件,文件中提示想改runlevel的话,可以把/lib/systemd/system/runlevel*.target软连到/etc/systemd/system/default.target下(当然考过来,覆盖也行),试了一下还行,能改到字符界面runlevel3。
3、配置网络和主机名。
新版本想配置网络,进/etc/sysconfig/network-script/,网卡改名了enp1s5,配置完网络后改主机名,到/etc/sysconfig/network去改名,这个文件也是空的,按原6版本的去修改,重启后没效果,man了一下hostname,7中改名要到/etc/hostname去改名字。
4、本地yum源和挂载。
新版本想配置一个本地yum源,配上后要挂光盘,手动挂上,然后直echo“mount......”到rc.local中,启动执行脚本,,进去rc.local中,7中要手动的把chmod+xrc.local,要手动加执行权限,之前6的系统中不需要手动加执行权限,加了权限后,开机启动执行了rc.local的mount命令。
5、LVM和xfs。
就分区,格式化,pv,vg,lv一步一步,放大,缩小,执行resize2fs时,,然后man resize2fs一下,发现新版本这命令只支持ext的文件系统。
6、dhcp和服务。
所有dhcp的包装上之后,不能servicedhcpdstart,/etc/init.d/中没dhcp类似的东西。
6之前有dhcpd,dhcpd6,dhcrelay的,/sbin/dhcpd有启动文件,是在/usr/lib/systemd/system/dhcpd.service,还要修改,然后加权限,执行service服务restart/,但是指向了systemctlrestart/start/stop服务.service
7、iptables
iptables新版本也不是作为一个服务在/etc/init.d/下面了,/sbin下有;
扩展资料:
CentOS是Linux发行版之一,是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。
由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的RedHatEnterpriseLinux使用。两者的不同,在于CentOS完全开源。
CentOS是一个基于RedHatLinux提供的可自由使用源代码的企业级Linux发行版本。每个版本的CentOS都会获得十年的支持。
新版本的CentOS大约每两年发行一次,而每个版本的CentOS会定期更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。
参考资料:百度百科-centos
1.禁用ROOT权限登录。(重要)
2.安全组收缩不使用的端口,建议除443/80以及ssh登录等必要端口外全部关闭。
3.防火墙收缩不使用的端口,建议除443/80以及ssh登录端口外全部关闭。
4.更改ssh默认端口22
5.除登录USER,禁止其他用户su到root进程,并且ssh开启秘钥及密码双层验证登录。(重要)
6.限制除登录USER外的其他用户登录。
7.安装DenyHosts,防止ddos攻击。
8.禁止系统响应任何从外部/内部来的ping请求。
9.保持每天自动检测更新。
10.禁止除root之外的用户进程安装软件及服务,如有需要则root安装,chown给到用户。
11.定时给服务器做快照。
12.更改下列文件权限:
13.限制普通用户使用特殊命令,比如wget,curl等命令更改使用权限,一般的挖矿程序主要使用这几种命令操作。
1.nginx进程运行在最小权限的子用户中,禁止使用root用户启动nginx。(重要)
2.配置nginx.conf,防范常见漏洞:
1.禁止root权限启动apache服务!禁止root权限启动apache服务!禁止root权限启动apache服务!重要的事情说三遍!因为这个问题被搞了两次。
2.改掉默认端口。
3.清空webapps下除自己服务外的其他文件,删除用户管理文件,防止给木马留下后门。
4.限制apache启动进程su到root进程以及ssh登录,限制启动进程访问除/home/xx自身目录外的其他文件。
5.限制apache启动进程操作删除以及编辑文件,一般a+x即可。
1.关闭外网连接,与java/php服务使用内网连接。
2.在满足java/php服务的基础上,新建最小权限USER给到服务使用,禁止USER权限访问其他项目的库。
3.root密码不要与普通USER相同。
4.建议使用云库,云库具备实时备份,动态扩容,数据回退等功能,减少操作风险。
1.关闭外网连接,只允许内网交互,基本这个做了之后就已经稳了。
2.禁止root权限启动,运行在普通用户进程里。
3.更改默认端口。
4.添加登录密码。
以上是自己做的防范手段,不成熟见解,有一些方案待验证,不定时更新,欢迎大佬补充!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流