请选择 进入手机版 | 继续访问电脑版

新安装的centos7前期准备 [复制链接]

632
 
0x01 前言我在淘宝上买了一台HP ProLiant DL380 G6服务器,关于这服务器的介绍我会在这两天写篇文章介绍介绍。这篇文章里的系统就是运行在这服务器上面的。手上也没闲置的vps,也没有合适的电脑给我玩弄,所以这还是挺贴合市面上实际KVM环境。 其实从服务商那开通主机后并不能立即配置、上线服务,要先做些小配置和适配性修改才能开始放置自己的文件。这是为了能更好地适配你的程序,也能提高安全性。这里我不写关于内核的修改。 因为我也是处于学习阶段,如果有错误或不适当的地方,欢迎通过邮件或留言与我取得联系。我也欢迎读者们给我留下你所遇到的问题,我最喜欢解决问题了。0x02 环境
  • 系统:centos7
  • 虚拟化技术:KVM
0x03 升级系统、安装常用包要注意的是,某些主机是不允许升级内核的,不过近一年我使用的VPS都没发生过这种情况。 安装EPEL源yum install epel-release -y请注意别滥用yum中的 -y 函数。除非你安装的东西或过程是你熟悉或实践过的。 升级系统yum update -y升级系统而不升级内核yum update --exclude=kernel* -y这里说说update和upgrade的区别:两者的作用都是将软件包升级到最新版。可是upgrade会考虑取代关系,如果有个包foo改名为foo2,那么upgrade会将foo升级为foo2并将foo删除!如果你的系统已经存在运行中的服务,且服务正常运行着,没重大的安全隐患不要使用upgrade升级系统。 安装常用包yum install -y pcre-devel openssl-devel libxslt* perl-ExtUtils-Embed at gcc-c++ python subversion gperf make rpm-build git curl bzip2-devel libcurl-devel gd gd-devel t1lib t1lib-devel libmcrypt libmcrypt-devel libtidy libtidy-devel GeoIP-devel libatomic_ops-devel zlib-devel unzip libstdc++* net-snmp net-snmp* gmp gmp-devel openldap openldap-devel libpcap-devel glib2-devel GeoIP-devel libxml2-devel libxml2-devel redis vim wget git htop iftop libtool make automake mlocate openssl-devel pam-devel unzip gcc screen openssl openssl-devel iptables-services bash-completion* pcre-devel openssl-devel libxslt* perl-ExtUtils-Embed at gcc-c++ python subversion gperf make rpm-build git curl bzip2-devel libcurl-devel gd gd-devel t1lib t1lib-devel libmcrypt libmcrypt-devel libtidy libtidy-devel GeoIP-devel libatomic_ops-devel zlib-devel unzip libstdc++* net-snmp net-snmp* gmp gmp-devel openldap openldap-devel net-tools这些都是我常用的,有些VPS的系统确实很纯净,什么都没有。0x04 关闭一些程序因为我对selinux不熟悉,所以我选择将其关闭#打开selinux的配置文件vim /etc/selinux/config #将第7行的enforcing改为disabledSELINUX=disabled #保存退出centos7开始已经用firewalld替代,我试用过一段时间,觉得还需要比较长的时间学习才能懂得如何应用。这里我也选择关闭firewalld#禁止开机启动systemctl disable firewalld #立即停止服务systemctl stop firewalld我也并不需要IPv6,在这里,我选择从系统启动就不加载它。有些vps不允许修改grub.cfg,请跳过这里并继续往下看。#修改grub文件vim /etc/default/grub #在GRUB_CMDLINE_LINUX添加ipv6.disable=1GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap console=ttyS0,115200n8" #保存退出 #重新生成grub.cfggrub2-mkconfig -o /boot/grub2/grub.cfg #重启即可生效对于不允许修改grub.cfg,或这个文件不存在的系统,可以通过如下方法禁用IPv6#修改/etc/sysctl.confnet.ipv6.conf.all.disable_ipv6 = 1 #修改/etc/sysconfig/networkNETWORKING_IPV6 = no #修改/etc/sysconfig/network-scripts/ifcfg-eth0IPV6INIT = no #请通过ip addr确认你的网卡名称,这里默认是ifcfg-eth00x05 启用iptables#设置iptables为开机启动systemctl enable iptables #立即启动iptablessystemctl start iptables #禁止IPv6的ip6tables开机启动systemctl disable ip6tables #立即停止IPv6的ip6tablessystemctl stop ip6tables0x06 设置iptables我的服务器主要用于网站和radiusd,所以我只放行80,443,1812,1813和SSH端口9099。#通过以下命令查看iptables现有的规则,包含INPUT,FORWARD,OUTPUTiptables -L -vn --line-number #通过以下命令查看iptables现有nat的规则,包含PREROUTING,INPUT,OUTPUT,POSTROUTINGiptables -L -vn -t nat --line-number我的SSH端口不是默认的22,而是修改后的9099(临时的,写文章用,请手下留情)。所以我会删除预设的22放行规则,也删除一切reject规则,我只通过对INPUT的规则对网络流量进行控制。#删除22端口,先查看规则所在的编号。因为我的iptables是修改过的,预设规则的应该是在第4行。iptables -D INPUT 4 #同样,INPUT里有个reject规则,也同样删掉。要注意编号!iptables -D INPUT 4 #用同样的手法删掉FORWARD里的reject规则。iptables -D FORWARD 1添加参数 –line-number 可以显示行号,方便删除操作。 添加放行端口#添加80端口iptables -A INPUT -p tcp --dport 80 -j ACCEPT #添加443端口iptables -A INPUT -p tcp --dport 443 -j ACCEPT #添加9099端口iptables -A INPUT -p tcp --dport 9099 -j ACCEPT #添加1812和1813端口,要注意radiusd用的是udp协议。连续的端口可以写成80:8080,表示从80到8080iptables -A INPUT -p udp --dport 1812:1813 -j ACCEPT默认情况下,所有规则都是开放的,我要对进站(INPUT)的所有数据包都DROP,只有我ACCEPT的规则才能通行,这能起到一定的防护作用。iptables -P INPUT DROP保存修改并重新加载iptables,重启iptables前请再次审视SSH的端口是否放行,如果出错,你将无法通过SSH登陆服务器!#保存,如果发现错了。可以直接重新启动iptbales,被保存的修改都会被还原。iptables save #重新加载systemctl reload iptables #重新启动,一般用重新加载就可以了systemctl restart iptables记住修改完后要重新审视规则,以防有错!0x07 配置SSH无论你的服务器是用在外网还是内网,默认的SSH端口都必须更改。安全是最重要的。同时使用证书登陆,那就更好了。#编辑sshd_config文件vim /etc/ssh/sshd_config #修改端口,在#Port 22这一行下添加,端口号请自行选择。Port 9099 #修改PasswordAuthentication字段为noPasswordAuthentication no #保存退出生成ssh key#通过以下命令生成key(密钥对)ssh-keygen -t rsa -b 4096 #这里回车即可Enter file in which to save the key (/root/.ssh/id_rsa): #这里请为你的key设置一个密码,用key登录的时候需要密码才能解锁key。这是保护key的一种有效的方法。#密码留空并回车即为空密码,不安全!Enter passphrase (empty for no passphrase): #重命名密钥,有些主机以内置密钥,覆盖前请确认。mv .ssh/id_rsa.pub .ssh/authorized_keys #查看key并保存到本地,然后删除。cat .ssh/id_rsa #留密钥在服务器内就足够了,key删掉以保安全。前提是你已经保存到本地!要不然你将不能通过SSH登陆服务器!rm -f .ssh/id_rsa重启SSH服务systemctl restart sshd0x08 修改hostname如果你有多台服务器,那hostname将是区分这些服务器最好的方法。你可以通过以下命令进行修改hostnamectl set-hostname [your-hostname] #例如hostnamectl set-hostname test1 #重启生效完成,重启一遍。可以部署你的服务啦!0x09 相关视频
文章转自:TerenceProject 原文链接:https://enginx.cn/2016/05/23/%E6 ... 87%86%E5%A4%87.html


632
举报
0个关于 新安装的centos7前期准备 的回复

本版积分规则

发表主题 回复

加入我们

(c) 2010-2018 怪兽工厂 gsmonsters All Rights Reserved

ICP备案证书号: 津ICP备16000525号