强化Linux安全的10个技能

1.找出不必要的服务

很明显,服务器上跑的服务,并不是每个都有用的。强烈建议检查并关掉不需要的服务,从而减少风险(多跑一个服务,就可能多几个漏洞)。

查询运行在runlevel 3的服务列表:

[afei@afei ~]# /sbin/chkconfig --list |grep '3:on'

关闭指定的服务:

[afei@afei ~]# chkconfig ip6tables off

疑问:为什么查询runlevel 3的服务?

Linux系统有7个运行级别(runlevel),分别如下:

runlevel 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动;

runlevel 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆;

runlevel 2:多用户状态(没有NFS);

runlevel 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式。这个运行级别的服务会启动httpd,系统提供web server服务,所以主要查看这个运行级别的服务;

runlevel 4:系统未使用,保留;

runlevel 5:X11控制台,登陆后进入图形GUI模式;

runlevel 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动;

2.检查监听的网络端口

通过netstat命名能够看到所有已经打开的端口,并且可以看到是哪些程序打开的。如果发现某些是必须要的,建议关掉:

[afei@afei~]# netstat -tulpn

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:2181 0.0.0.0:* LISTEN 48983/java

tcp 0 0 0.0.0.0:2182 0.0.0.0:* LISTEN 49051/java

3.优化CRON任务

linux的cron可以执行一些定时任务。并且还可以通过/etc/cron.allow 和 /etc/cron.deny 控制哪些用户可以运行JOB,哪位用户禁止运行JOB。例如:

允许用户afei允许JOB,执行如下命令:

echo afei >> /etc/cron.allow

禁止所有用户访问JOB,执行如下命令:

echo ALL >>/etc/cron.deny

4.限制用户使用旧密码

linux用户的旧密码保存在文件/etc/security/opasswd中:

[root@LAPP-V1159 ~]# cat /etc/security/opasswdafei:504:4:$1$MVAi/EpJ$iXXkV5r3Hjc8AaK2b5KyQ/,$1$AbpFPYaD$ZKj12lK6qaYUqgQnEdocd0,$1$POabjmzY$F4Cp6aTwN6RRk1KjZWm8A/,$1$LoHe5GHY$QjkLGqABANpLmlQsRB4WE.检查是否有开启限制使用旧密码,在RHEL /CentOS/ Fedora系统中,查看文件:/etc/pam.d/system-auth。在Ubuntu/Debian/Linux Mint系统中,查看文件:/etc/pam.d/common-password,需要下面两行关键内容,其中remember=4,表示不能使用最后4次密码,否则会报错:Password has been already used. Choose another.:auth sufficient pam_unix.so nullok try_first_passpassword sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=4

5.检查密码过期

密码的过期属性可以通过如下命令查看:

[root@root ~]# chage -l afei

Last password change : Sep 14, 2018

Password expires : Nov 13, 2018

Password inactive : never

Account expires : never

Minimum number of days between password change : 0

Maximum number of days between password change : 60

Number of days of warning before password expires : 7

修改密码的过期属性可以执行如下命令:

chage -M 60 -W 7 afei

说明:

-M 60表示密码最大有效期是60天。

-W 7 表示密码还有7天过期时给出告警提醒。

6.检查密码为空的用户

密码为空意味着只要知道用户名就能访问,这非常危险。因为用户与密码信息保存在文件/etc/shadow中,且格式如下:

admin:$6$YTSkre3DLd4SAZ$Jy9piv/gPezhLrLzMMeUleV8F5DNjP:17765:0:99:5:::

afei:$6$.vMcyE9ss96$YNk2Q5qiS/SAeGCcyEFsmspkC5dr3OXfnN:17788:0:60:7:::

后面的几个数字是密码过期等属性信息,上面已经提及。

所以,检查密码为空的用户,只需要执行如下命令即可,如果发现有这样的用户,通过root用户执行passwd username强行修改它的密码:

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

7.锁定&解锁用户

和删除用户账户不一样,这个只是限制用户登录。只需要执行如下密码即可锁定&解锁用户:

[root@root ~]# passwd -l afei

Locking password for user afei.

passwd: Success

[root@root ~]# passwd -u afei

Unlocking password for user afei.

passwd: Success

说明:

参数l表示lock,即锁定用户密码;

参数u表示unlock,即解锁用户密码;

8.关闭IPv6

现在IPv6基本上没有实际使用,所以我们可以关掉它,在文件/etc/sysconfig/network中增加如下两行内容即可:

NETWORKING_IPV6=no

IPV6INIT=no

9.复查日志

Linux服务器上很多的行为都会有记录相应的日志,简单列举一些如下,如果有一些非法操作,就能从这些日志中造成蛛丝马迹,例如非法登陆,非法定时任务等:

/var/log/message – Where whole system logs or current activity logs are available.

/var/log/auth.log – Authentication logs.

/var/log/kern.log – Kernel logs.

/var/log/cron.log – Crond logs (cron job).

/var/log/maillog – Mail server logs.

/var/log/boot.log – System boot log.

/var/log/mysqld.log – MySQL database server log file.

/var/log/secure – Authentication log.

/var/log/utmp or /var/log/wtmp : Login records file.

/var/log/yum.log: Yum log files.

10.保持系统更新

总是让系统更新最新发行的补丁包,因为这些补丁包会修复一些BUG:

sudo apt-get upgrade

yum check-update

yum upgrade

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

推荐阅读更多精彩内容