CentOS7服务器相关配置

====================查看CentOS版本====================

cat /etc/redhat-release

====================YUM更新====================

yum update

====================SSH修改默认端口====================

1.先查看下服务器端口号范围:

sysctl -a|grep ip_local_port_range

net.ipv4.ip_local_port_range = 32768 61000

新ssh端口号在这个范围外即可,如6837

2.配置防火墙(CentOS6)

vi /etc/sysconfig/iptables

(可选)如果防火墙没有安装

yum install -y iptables

(可选)如果提示找不到配置文件,则打开iptables-config找到配置如下

IPTABLES_SAVE_ON_STOP="yes"

然后随便写一个规则,配置防火墙端口

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 6837 -j ACCEPT

最后执行保存规则操作即可生成iptables文件

service iptables save

3.修改SSH配置文件

vi /etc/ssh/sshd_config

把Port22修改为Port6837,

PermitEmptyPasswords no

LogLevel INFO

保存退出重启服务生效

====================Firewall防火墙配置====================

systemctl start firewalld.service
firewall-cmd --zone=public --add-port=6837/tcp --permanent

====================创建新用户设置密码并增加sudo====================

useradd newuser
passwd newuser
visudo

在root ALL=(ALL) ALL追加新行newuser ALL=(ALL) ALL,wq保存退出即可

====================关闭root账户ssh权限====================

vim /etc/ssh/sshd_config

将PermitRootLogin调成no,保存退出重启sshd

systemctl restart sshd.service

====================实现ssh公钥免密登陆====================

在端生成公钥私钥对:

ssh-keygen -t rsa

复制到服(确认服务器有此文件,如没有则先创建好):

scp ~/.ssh/id_rsa.pub root@192.168.1.200:~/.ssh/authorized_keys

登陆后配置authorized_keys的权限,必须是600:

chmod 600 ~/.ssh/authorized_keys

修改ssh的配置文件:

vim /etc/ssh/sshd_config

取消这三行的注释

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

退出保存重启sshd服务

systemctl restart sshd.service

至此可以直接免密登陆:

ssh -l root 192.168.1.181

如果觉得每次输密码麻烦,可以在端配置别名:

vi .ssh/config

输入别名,都很简单,就不逐一解释了

Host web
        HostName 192.168.1.181
        User root
        Port 22
        IdentityFile ~/.ssh/id_rsa

保存退出后就可以直接ssh web登陆了

====================用户账号和环境====================

删除风险用户和组

userdel operator;userdel lp;userdel shutdown;userdel halt;userdel adm;userdel uucp;userdel news;
groupdel games;groupdel dip;groupdel uucp;groupdel lp

查看是否有空密码账户

awk -F: '($2 == "") { print $1 }' /etc/shadow

检查是否还有其他UID为0的账户

awk -F: '($3 == 0) { print $1 }' /etc/passwd

将home目录设置为755,如果是root就700

chmod -R 755 /home

将最小密码增加到12位

vim /etc/login.defs

PASS_MIN_LEN = 12

设置保留历史命令及自动注销时间

vim /etc/profile

修改HISTSIZE=5

增加TMOUT=600

防止IP SPOOF

vi /etc/host.conf

添加:nospoof on

禁止sendmail,需要root权限

systemctl disable postfix.service