一、端口与服务
关闭不必要端口
Linux系统共有65536个端口,以1024作为分割点。
1~1023端口,只有root用户才能启用。
1024+的端口,不受root用户控制,留给客户端软件使用的。
[root@ balckfox ~]# netstat -tunl # 查看端口监听状态
[root@ balckfox ~]# netstat -tun # 查看端口已联机的连接状态
关闭不必要服务
系统运行必须服务:
# 查看服务开启或关闭
[root@ balckfox ~]# chkconfig --list sendmail # centos7前
[root@ balckfox ~]# systemctl status sshd # centos7后
[root@ balckfox ~]# chkconfig --level 35 sendmail off # 关闭运行级别3、5下的sendmail服务(centos7前)
[root@ balckfox ~]# systemctl disable sshd.service # centos7后
二、密码登陆安全
推荐使用秘钥认证方式登陆系统
-
使用xshell生成秘钥
-
选择非对称加密:DSA/RSA
- 上传Linux服务端
[root@ balckfox ~]# mkdir /root/.ssh
[root@ balckfox ~]# chmod 700 /root/.ssh
# ... 上传pub后缀的秘钥
[root@ balckfox ~]# ssh-keygen -i -f [name].pub >> /root/.ssh/authorized_keys # 导入pub文件
- xshell设置秘钥登陆
- 移除密码登陆
[root@ balckfox ~]# vi /etc/ssh/sshd_config
# Protocol 2 # 仅允许使用SSH2
# PubkeyAuthentication yes # 启用PublicKey认证
# AuthorizedKeysFile .ssh/authorized_keys # PublicKey文件路径
# PasswordAuthentication no # 不使用密码认证
[root@ balckfox ~]# systemctl restart sshd.service
三、其他一些简单配置
[root@ balckfox ~]# echo "1"> /proc/sys/net/ipv4/icmp_echo_ignore_all # 禁止ping请求,默认0
# 添加上面一行命令到/etc/rc.d/rc.local文件中,每次系统重启后自动运行
[root@ balckfox ~]# vi /etc/profile # 限制Shell记录历史HISTSIZE=30,默认1000
[root@ balckfox ~]# userdel adm # 删除不必要用户adm、lp、sync、shutdown、halt、news、uucp、operator、games、gopher
[root@ balckfox ~]# groupdel adm # 删除不必要的组adm、lp、news、uucp、games、dip、pppusers、popusers、slipusers
# 关闭SELinux(内核强制访问控制安全系统)
[root@ balckfox ~]# getenforce # 查看是否启用
[root@ balckfox ~]# vi /etc/sysconfig/selinux # SELINUX=enforcing 改为SELINUX=disabled,重启系统。
# 设定tcp_wrappers防火墙(第二层,第一层iptables)
# 仅涉及/etc/hosts.allow 和/etc/hosts.deny两个配置
# ALL:ALL EXCEPT 192.168.60.132 # 除指定ip外,任何机器执行服务时会被允许或拒绝。格式:service:host(s) [:action]
# 能否使用取决于该服务是否使用libwrapped库
[root@ balckfox ~]# rpm -q tcp_wrappers # 检查是否已安装,同 rpm -qa| grep tcp
# firewall-cmd 防火墙,centos7 默认安装
[root@ balckfox ~]# firewall-cmd --add-service=ftp # 暂时开放服务
[root@ balckfox ~]# firewall-cmd --add-service=ftp --permanent # 永久开放
[root@ balckfox ~]# firewall-cmd --remove-service=ftp --permanent # 永久关闭
[root@ balckfox ~]# systemctl restart firewalld
[root@ balckfox ~]# iptables -L -n | grep 21 # 查看是否生效
[root@ balckfox ~]# firewall-cmd --state # 查看状态
[root@ balckfox ~]# firewall-cmd --list-all # 查看全部
[root@ balckfox ~]# firewall-cmd --get-service # 在firewalld的服务名称
[root@ balckfox ~]# firewall-cmd --query-service ftp # 查看启用状态
[root@ balckfox ~]# firewall-cmd --add-port=3128/tcp # 添加开放端口
四、备份linux
Linux备份文件可分为:系统级配置文件和用户级配置文件
-
系统级配置,如:/etc/目录、/home/目录、/boot/目录、/root/目录等。
-
用户级配置,如:/usr/local/目录、/var/www/目录、/etc/目录等。
常用备份工具:tar/cpio/rsync
不常用备份脚本:
#!/bin/sh
# 将系统与用户的备份数据分别保存在两个不同的本地磁盘disk1和disk2中,
# 且保留最近三天的数据,三天前的数据自动删除。
BAKDATE='date +%y%m%d'
DATA3='date -d "3 days ago" +%y%m%d'
osdata=/disk1
userdata=/disk2
echo "backup OS data starting"
tar -zcvf /$osdata/etc.data/etc_$BAKDATE.tar.gz /etc
tar -zcvf /$osdata/boot.data/boot_$BAKDATE.tar.gz /boot
tar -zcvf /$osdata/home.data/home_$ BAKDATE.tar.gz /home
tar -zcvf /$osdata/root.data/root_$ BAKDATE.tar.gz /root
tar -zcvf /$userdata/usr_data/usrlocal_$BAKDATE.tar.gz /usr/local
tar -zcvf /$userdata/var_www/www_$BAKDATE.tar.gz /var/www
cp –r /$osdata/* /$userdata
cp –r /$userdata/* /$osdata
echo "Backup OS data complete!"
echo "delete OS data 3 days ago"
rm -rf /$osdata/etc.data/etc_$DATA3.tar.gz
rm –rf /$osdata/boot.data/boot_$DATA3.tar.gz
rm –rf /$osdata/home.data/home_$DATA3.tar.gz
rm –rf /$osdata/root.data/root_$ DATA3.tar.gz
rm –rf /$osdata/usr_data/usrlocal_$DATA3.tar.gz
rm –rf /$osdata/var_www/www_$DATA3.tar.gz
rm -rf /$userdata/etc.data/etc_$DATA3.tar.gz
rm –rf /$userdata/boot.data/boot_$DATA3.tar.gz
rm –rf /$userdata/home.data/home_$DATA3.tar.gz
rm –rf /$userdata/root.data/root_$ DATA3.tar.gz
rm –rf /$userdata/usr_data/usrlocal_$DATA3.tar.gz
rm –rf /$userdata/var_www/www_$DATA3.tar.gz
echo "delete cws ok!"
使用rsync同步数据:
博主太懒了,不肯测试,发个参考算了:http://man.linuxde.net/rsync