发布时间:2014-09-05 13:31:22作者:知识屋
CentOS是linux中搭建服务器比较推崇的系统,其是来自于Red Hat Enterprise Linux依照开源规定生成的,去除了那些非开源的软件,可以说是对稳定性和成本考虑的较好的选择。
虽然安全性对于服务器来说是至关重要的,但是在下面我们的学习阶段,我们仅以好用为主要指标,穿插的会说明哪些地方我们在真正运行时要考虑的安全问题。
安装完系统,首先关闭SELinux,其是增强安全性的一项功能,会对初学者在学习过程中带来不必要的麻烦,等后面入门了再慢慢研究也不迟。
设定文件为:/etc/syscofig/selinux ,将SELINUX=enforcing改为SELINUX=disabled。
一、网络配置
网卡配置文件位置:/etc/sysconfig/network-scripts
普通网卡:ifcfg-eth0
无线网卡:ifcfg-wlan0
配置方法,分静态IP和动态IP
自动获取(DHCP):
DEVICE=eth0TYPE=EthernetHWaddr 08:00:27:70:2A:32 //MAC地址UUID=273e13cd-70cf-4a90-b3b0-f515c79ec09bONBOOT=yesNM_CONTROLLED=noBOOTPROTO=dhcp静态IP:
DEVICE=eth0HWADDR=08:00:27:70:2A:32ONBOOT=yesIPADDR=192.168.1.106 //静态IP地址BOOTPROTO=static //与dhcp相对,获取协议,另设为none也行。NETMASK=255.255.255.0TYPE=EthernetGATEWAY=192.168.1.1DNS1=x.x.x.x //根据实际改IPV6INIT=no //静态IPV6DNS的配置文件为:/etc/resolv.conf
网络服务管理命令:service network {start|stop|status|restart|reload|force-reload}
当然如果觉得文件配置不容易操作的话,也可以安装GUI的软件:
sudo yum -y install setuptool ntsysv system-config-firewall-tui system-config-network-tui
运行setup开始图形话配置。
PS:
1、 禁用ping命令,即ICMP协议:echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 启用改为0.
2、单一网卡添加另一IP:ifconfig eth0:0 192.168.1.106 up //第三个IP为eth0:1
删除:ip addr delete 192.168.1.106 dev eth0 //此法是动态添加,重启网卡,配置失效
查看ip:ip addr show或ifconfig
静态方法就是新建/etc/sysconfig/network-scripts/ifcfg-eth0:0
配置文件内容和ifcfg-eth0相仅,仅IPADDR处绑定的IP不同
3、双网卡,到这里应该知道,第二块网卡叫eth1,配置文件为ifcfg-eth1,内容同eth0
如果想用双网卡组建负载均衡的配置,则通过ifcfg-bond0来设置
//ifcfg-eth0DEVICE=eth0 //eth1配置文件设为eth1ONBOOT=yesBOOTPROTO=none //static 也行USERCTL=noMASTER=bond0 //配置交给bond0统一设置SLAVE=yes
//bond0DEVICE=bond0ONBOOT=yesIPADDR=192.168.1.105BOOTPROTO=noneNETMASK=255.255.255.0GATEWAY=192.168.1.1DNS1=x.x.x.x
// /etc/modprobe.confalias bond0 bondingoptions bond0 miimon=100 mode=1//miimon表示每100ms时间检查网络一次//mode 有0:balance-rr 负载均衡1:active-backup 仅网卡工作,断线自动切换2:balance-xor 容错3:broadcast 所有网卡接收数据包4、禁用IP6 (求大规模使用,禁用可提高网络效率):
修改 /etc/modprobe.d/dist.conf
添加:alias net-pf-10 off
alias ipv6 off
reboot
二、FTP
接下来是文件共享与传输的内容,首先就是vftpd的安装和配置
vsftpd(Very Secure FTP Daemon)
rpm -qa | grep vsftpd 查看安装与否
安装方法 :yum install vsftpd -y
PS:这里补充一句,Cetos的防火墙是通过iptables来配置的,可以管理开启哪些端口,
开启的查看命令是netstat -ntlp | grep xxx(可以是端口号也可以是程序名)
想偷懒service iptables stop关闭
加一条配置也简单:/etc/sysconfig/iptables
加上两条:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
service iptables restart
监听是开始了,下面就开始设置vsftpd 了
给出我的配置文件:
anonymous_enable=YES//允许匿名登录,即不需要密码,其共享的文件是/var/ftp/publocal_enable=YES // 允许用户账号登录,即共享的就是/home/用户文件夹chroot_local_user=YES//禁止用户切换目录,否则一个账号可访问其它用户目录listen=YESpam_service_name=vsftpduserlist_enable=YES //黑名单设置,文件为/etc/vsftpd/user_list里tcp_wrappers=YES //YES表示限制IP,设置分别在两个文件中,/etc/hosts.deny和/etc/host.allow中local_max_rate=300000 限制上传下载速度为300kuser_config_dir=/etc/vsftpd/limit//这个可以配置专门用户的上传下载速度,只要,在limit新建以用户名的文件,加上一句local_max_rate=500000。对该用户特殊对待。idle_session_timeout=30 //30秒没任何操作,自动断线。说明一句,这里的注释应为#号,这里是为了让内容紧凑些,所以不要复制粘贴,理解意思最好。
还有几条配置补充一下,
pasv_enable=no //设置主要模式还是被动模式,如果是被动模式,看ftp客户端是什么形式。不过好像在浏览器里用ftp访问,还是要主动模式,但大部分客户端还是被动模式。
listen_port=xx//修改监听端口,注意防火墙处也要改
max_per_ip=3 //限制最多3个ip连接,其它等待
chroot_list_enables=YES //限制特定用户不可以切换目录,配置文件在/etc/vsftpd/chroot_list,与chroot_local_user所以用户不可以切换目录只能一个有效
SSL/TLS加密传输,个人觉得一般不必要。
需安装openssl,方法不多说,rpm -qa查一下,没装的yum install
这里要简单介绍一下ssl,什么是ssl(security socket layer)安全传输层,是位于HTTP和TCP协议中间的一层协议,至于为什么要加这层协议,是因为HTTP是明文传输的,意味着如果数据包被截,信息直接泄漏,所以加了这么一层加密层。
证书(Certification Authority):CA是证书的签发机构。其为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。(from wiki)
公钥/私钥:说白了一个是加密密钥,一个是解密密钥,即公钥公开,用于加密,而想解析这个信息只能通过私钥,这也称为非对称加密。
一般公钥是附带于数字证书(ca),而根据数字签名验证该证书是否是当前server所执有。
其主要的原理就是通过证书和密钥来完成,其过程如下
首先,Client向Server发送连接请求(https),Server接受信息并返回自己的证书并附带公钥。
Client验证证书是否是ca所颁发,然后利用公钥加密自己的会话密钥信息,返回给Server
Server接收后用自己的私钥来解密,得到并生成会话密钥。然后双方利用协商出的密钥加密通信。
创建CA证书(未验证):
cd /etc/pki/tls/certs
sudo openssl req -x509 -nodes -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem
根据提示,填写国家,公司,主机名,邮件等信息,会在当前 文件夹下生成 vsftpd.pem
sudo chmod 600 vsftpd.pem
在vsftpd.conf中添加下列几行
rsa_cert_file=/etc/ki/tls/certs/vsftpd.pem
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
结束后service vsftpd restart
service vsftpd {start|stop|restart|reload}
浏览器中想访问:ftp:user:password@ip
三、samba文件服务器
samba是一个用于windows和linux之间共享文件的,像建网上邻居,传传文档,电影还是不错的,还能共享打印机。
安装samba (rpm -qa|grep samba yum -y install samba samba-client)
新建共享目录:
mkdir share
chown nobody:nobody share 共享权限
samba配置文件:/etc/samba/smb.conf
security = share //share表示匿名登录,即不需要账号密码登录,默认是user表示需要账号密码登录。passdb backend = tdbsam //如果上面是user,则需要,如果是share则注释,加# workgroup = WORKGROUP //表示用户组,像windows中的用户组,一般改为这个 server string = Samba Server Version %v //当你连接时显示的信息 netbios name = MyServer表示在windows上显示的名称,否则显示ip。[share]comment=share folder//说明path= /home/share //共享文件夹路径read only=no //可读可写guest ok=yes //支持访客browseable=yes //可以浏览public=yes //如果是share,则加上这条,如果是user模式,则把这条注释。#valid user=@aa //如果是user,且仅允许某些用户访问,则加上这条。至于[printers] 共享打印,默认就行。
service smb start //起动守护进程,核心服务
service nmb start //像域名解析
打开防火墙(137,1398,139,445端口)
测试:testparm
在windows上输入//IP就行,或在资源管理器-网络中会出现连接。
至于在linux上访问可以通过smbclient
smbclient -L //IP 显示存在在线主机
smbclient //IP 如果是share,会出现输入密码,按回车即可
smbclient //IP -U username%passwd //如果是user模式,输入用户密码登录
其它的看smbclient --help查看
对于user模式,samba v3版本后,采用数据库代替
对于user模式,samba v3版本后,采用tdbsam数据库代替文件管理用户,密码。
命令:pdbedit -L(Lw/Lv) 列出用户列表
pdbedit -a xx 添加xx用户 //先在系统里通过ueradd 添加用户,且在home内有用户的主目录。
pdbedit -x xx 删除xx用户
pdbedit -c "[D]" -u xx 暂时停用xx用户
pdbedit -c "[]" -u xx 恢复xx用户
对于Linux中的用户,如果想将网络共享文件夹挂载至某一目录下,命令是
sudo mount -t cifs //IP/share /mnt/
想图形化管理的话可以试一试,SWAT-Samba WEB管理工具。
PS:部分内容引自《CentOS 6.x系统管理实战宝典》
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能