Centos7 修改SSH 端口
为了防止服务器被攻击,建议以下几点:
1. root密码要复杂一点,尽量字母数字特殊字符都有
2. ssh端口最好修改成自己的不要使用默认的22端口
3. 如果可以的话重新增加个用户,然后修改禁止root远程登录
在centos7中添加一个新用户,并授权SUDO http://www.cnblogs.com/woshimrf/p/5906084.html
# adduser user1 #添加新用户
#passwd user1
# whereis sudoers
# ls -l /etc/sudoers #查看权限
# chmod -v u+w /etc/sudoers #添加w权限
# vim /etc/sudoers
user1 ALL=(ALL) ALL #添加user1用户权限
# chmod -v u-w /etc/sudoers #将写权限收回
怎么查看Centos用户登陆记录 http://www.111cn.net/sys/CentOS/58493.htm
禁止root用户登录
vi /etc/ssh/sshd_config
PermitRootLogin yes
改为: PermitRootLogin no
service sshd reload #重启sshd
修改ssh端口的详细步骤(centos7)
step1 修改/etc/ssh/sshd_config/
vi /etc/ssh/sshd_config
#Port 22 //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉
Port 20000 //下面添加这一行
step2 修改firewall配置:
firewall添加想要修改的ssh端口:
firewall-cmd --zone=public --add-port=20000/tcp --permanent
(permanent是保存配置,不然下次重启以后这次修改无效)
reload firewall: 如防火墙未启动systemctl start firwalld(启用防火墙)
firewall-cmd --reload
查看添加端口是否成功,如果添加成功则会显示yes,否则no
firewall-cmd --zone=public --query-port=20000/tcp
firewall-cmd --zone=public --list-ports # 查看防火墙开放端口
step3 修改SELinux (关闭启用selinux见文尾)
使用以下命令查看当前SElinux 允许的ssh端口:
semanage port -l | grep ssh
添加20000端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 20000
然后确认一下是否添加进去
semanage port -l | grep ssh
如果成功会输出
ssh_port_t tcp 20000, 22
step4 重启ssh
systemctl restart sshd.service
step5 测试新端口的ssh连接
测试修改端口以后的ssh连接
如果成功则将step1里面的port 22 重新注释掉并再次重启ssh
systemctl restart sshd.service
关闭启用selinux
http://blog.csdn.net/x_i_y_u_e/article/details/45226843
yum install - policycoreutils-python #安装semanage 命令
1、临时关闭以及启用
/usr/sbin/setenforce 0 立刻关闭 SELINUX
/usr/sbin/setenforce 1 立刻启用 SELINUX
加到系统默认启动里面
echo "/usr/sbin/setenforce 0" >> /etc/rc.local
这样,我们在不需要在CentOS系统中开启SELINUX的时候,就可以快速的去关闭了,以及在需要的时候,在开启它。
2、永久关闭
执行命令 # vi /etc/sysconfig/selinux
内容如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
将红色配置注释掉,并添加一行,操作如下:
1 #SELINUX=enforcing #注释掉
2 #SELINUXTYPE=targeted #注释掉
3 SELINUX=disabled #增加
4 :wq #保存,关闭。
5 shutdown -r now #重启
了解和配置 SELinux
1. 获取当前 SELinux 运行状态
getenforce
可能返回结果有三种 :Enforcing、Permissive和Disabled。Disabled 代表 SELinux 被禁用 ,Permissive 代表仅记录安全警告但不阻止可疑行为,Enforcing 代表记录警告且阻止可疑行为 。
目前常见发行版中 ,RHEL 和 Fedora 默认设置为 Enforcing, 其余的如 openSUSE 等为 Permissive。
2. 改变 SELinux 运行状态
setenforce [ Enforcing | Permissive | 1 | 0 ]
该命令可以立刻改变 SELinux 运行状态 , 在 Enforcing 和 Permissive 之间切换 , 结果保持至关机 。 一个典型的用途是看看到底是不是 SELinux 导致个服务或者程序无法运行 。若是在 setenforce 0 之后服务或者程序依然无法运行 , 那么就可以肯定不是 SELinux 导致的 。
若是想要永久变更系统 SELinux 运行环境 , 可以通过更改配置文件/etc/sysconfig/selinux实现。 注意当从 Disabled 切换到 Permissive 或者 Enforcing 模式后需要重启计算机并为整个文件系统重新创建安全标签 (touch
/.autorelabel && reboot)。