[Tony]加强 CentOS 7 登录安全

背景

这几天登录服务器root账户发现了上千的登录尝试,而服务器上有重要的隐私文件,升级安全性刻不容缓。


查看主机登录日志

日志存放的地点是/var/log
可以使用以下命令查看

less /var/log/secure

常用日志

日志名称 说明
access-log 纪录HTTP/web的传输
acct/pacct 纪录用户命令
aculog 纪录MODEM的活动
btmp 纪录失败的纪录
lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录
messages 从syslog中记录信息(有的链接到syslog文件)
sudolog 纪录使用sudo发出的命令
sulog 纪录使用su命令的使用
syslog 从syslog中记录信息(通常链接到messages文件)
utmp 纪录当前登录的每个用户
wtmp 一个用户每次登录进入和退出时间的永久纪录
xferlog 纪录FTP会话

详细指令查看这里


添加新用户

使用自定义的用户登录参考这篇文章

禁用root账户远程登录

需要编辑/etc/ssh/sshd_config文件。
找到以下语句

PermitRootLogin yes

如果有#,则取消注释,修改为

PermitRootLogin no

保存并退出。
重启SSH服务

systemctl restart sshd

使用秘钥登录

以后更新。

修改SSH登录端口

修改/etc/ssh/sshd_config文件,取消# Port 22的注释,并在下一行添加想更改成为的端口,例如2222端口Port 2222

Port 22
Port 2222

这里不直接删除Port 22是因为避免配置中出错而导致彻底无法远程登录。
保存更改后重启sshd服务

systemctl restart sshd

新开终端,测试连接新端口。

ssh -p 2222 user@255.255.255.255

如果成功连接便可以忽略文章中间的SELinuxFirewalld的配置,直接转到收尾。


配置SELinux

SELinux 全称 Security Enhanced Linux (安全强化 Linux),是 MAC (Mandatory Access Control,强制访问控制系统)的一个实现,目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。

对于SSH,SELinux默认只允许22端口,我们可以用SELinux管理配置工具semanage,来修改SSH可访问的端口。

安装 semanage 工具

yum provides semanage
yum -y install policycoreutils-python

打开2222端口

semanage port -a -t ssh_port_t -p tcp 2222

查看当前SELinux允许的SSH端口

semanage port -l | grep ssh

如果显示如下则配置正常。

ssh_port_t                     tcp      2222, 22

解除禁用

SELinux配置为禁用状态时,使用semanage会报错提示无法读取policy 文件。

SELinux:  Could not downgrade policy file /etc/selinux/targeted/policy/policy.30, searching for an older version.  
SELinux:  Could not open policy file <= /etc/selinux/targeted/policy/policy.30:  No such file or directory  
/sbin/load_policy:  Can't load policy:  No such file or directory
libsemanage.semanage_reload_policy: load_policy returned error code 2. (No such file or directory).  
FileNotFoundError: [Errno 2] No such file or directory

此时需要修改/etc/selinux/config文件,开启SELinux

vi /etc/selinux/config
SELINUX=permissive

重启服务器

init 6

查看SELinux状态

sestatus # if it shows disable, you can run$ load_policy -qi

添加SSH端口并检查配置

semanage port -a -t ssh_port_t -p tcp 2222
$ semanage port -l | grep ssh
ssh_port_t                     tcp      2222, 22

重启SSH服务

systemctl restart sshd

注:semange 不能禁用 ssh 的 22 端口:

semanage port -d -t ssh_port_t -p tcp 22
ValueError: 在策略中定义了端口 tcp/22,无法删除。

配置Firewalld

启用防护墙

systemctl enable firewalld
systemctl start firewalld

检查防火墙状态

  • 方法一
systemctl status firewalld

显示如下为正常

 firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2016-12-20 02:12:59 CST; 1 day 13h ago
 Main PID: 10379 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─10379 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
  • 方法二
firewall-cmd --state

显示如下为正常

running

查看防火墙当前默认激活zone(区域)

$ firewall-cmd --get-default-zone
public  
$ firewall-cmd --get-active-zones
public  
  interfaces: eth0 eth1

如果没有激活public区域,需要激活。

激活public区域,增加网卡接口

$ firewall-cmd --set-default-zone=public
$ firewall-cmd --zone=public --add-interface=eth0
success
$ firewall-cmd --zone=public --add-interface=eth1
success

public zone永久开放2222/TCP端口:

# 以防新端口不生效,先把 22 端口暴露
$ firewall-cmd --permanent --zone=public --add-port=22/tcp
$ firewall-cmd --permanent --zone=public --add-port=2222/tcp
success  
# 重载防火墙
$ firewall-cmd --reload
# 查看暴露端口规则
$ firewall-cmd --permanent --list-port
443/tcp 80/tcp 22/tcp 2222/tcp  
$ firewall-cmd --zone=public --list-all
public (default, active)  
  interfaces: eth0 eth1
  sources:
  services: dhcpv6-client ssh
  ports: 443/tcp 80/tcp 22/tcp 2222/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

测试连接

ssh -p 2222 user@255.255.255.255

收尾

SSH禁用22号端口

修改/etc/ssh/sshd_config文件,注释掉Port 22
重启SSH服务

systemctl restart sshd

查看SSH监听的端口

ss -tnlp | grep ssh
LISTEN     0      128          *:2222                     *:*                   users:(("sshd",pid=2125,fd=3))

防火墙移除22号端口

$ firewall-cmd --permanent --zone=public --remove-port=22/tcp
success  
$ firewall-cmd --reload
$ firewall-cmd --permanent --list-port
443/tcp 80/tcp 2222/tcp

其实可以这样。

firewall-cmd --permanen --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=127.0.0.1

防火墙载入配置后就会将22号端口的流量重定向为访问者本地。

如要删除。

firewall-cmd --permanen --zone=public --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=127.0.0.1

测试

$ ssh -p 22 user@255.255.255.255

无响应,因为转到了本地的 22 端口,若防火墙未 forward 连接,则会回显 "ssh: connect to host {ip} port 22: Connection refused"

$ ssh -p 2222 user@255.255.255.255

成功 success

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容