Linux系统安全配置 您所在的位置:网站首页 系统配置有哪些 Linux系统安全配置

Linux系统安全配置

2023-05-28 02:28| 来源: 网络整理| 查看: 265

目录 账户锁定安全策略配置账户密码安全配置限制任何用户使用su切换用户 SSH安全加固1.禁止root远程登录       2.禁止使用密码登录,改用密钥登录系统3.防止绕过2的验证方式登录4. SSH登录安全机制5. 设置某个ip或ip段的主机连接目标机SSH端口6. 更改默认端口 FTP服务安全配置1. 什么是FTP服务2.Linux下vsftpd的默认主配置文件 Apache 服务安全配置1.什么是apache服务2.账号设置3. 授权设置3.1修改httpd.conf文件,找到 server root设置为:3.2设置文件夹权限,非root用户禁止修改浏览 4.日志设置4.1Apache 日志格式分类(1)4.1.1 错误日志:4.1.2 访问日志: 5.禁止访问外部文件5.1 禁止访问除了WEB目录以外的文件5.2 设置可访问目录5.3 禁止目录列出 6.隐藏敏感信息6.1 隐藏版本号 7. 安全配置apache服务(使用密码认证机制访问策略)7.1 创建密码文件7.2 访问控制7.3 创建.htaccess文件,进行限制访问登录 检查相关服务状态审计策略1.1 系统日志策略配置文件1.2 系统特殊文件安全性 参考文章

账户锁定安全策略配置 账户密码安全配置

配置文件: /etc/login.defs在这里插入图片描述

PASS_MAX_DAYS 密码最长的有效期设置 最好设置的有效期较短比较安全 PASS_MIN_DAYS 与第一个相反,设置最短密码有效期时间 PASS_MIN_LEN 设置密码长度不低于xxx位,建议设置的密码为8位以上较为安全 PASS_WARN_AGE 密码失效日期警告天数

限制任何用户使用su切换用户

使用命令 vim /etc/pam.d/su 添加一行内容为auth required pam_wheel.sogroup= 指定xxx用户可以使用su

SSH安全加固

SSH 配置文件: /etc/ssh/sshd_config

1.禁止root远程登录

        修改该文件的#PermitRootLogin yes一行,把yes改为no。 在这里插入图片描述

      2.禁止使用密码登录,改用密钥登录系统

PasswordAuthentication yes 改为 on 禁止使用密码验证方式登录系统 在这里插入图片描述

3.防止绕过2的验证方式登录

ChallengeResponseAuthentication yes 改为 no

4. SSH登录安全机制

UsePAM yes 改为 no 则标识拒绝登录ssh服务器 尝试若干次,都拒绝登录ssh服务器

5. 设置某个ip或ip段的主机连接目标机SSH端口

路径: /etc/ssh/sshd_config 在文件末尾添加上

allowusers [email protected] 192.168.220.138 为我的ip,可以更改为其他ip地址

设置之后,其他主机都被拒绝访问连接,只能138这个ip可以访问

6. 更改默认端口

ssh默认端口为22 Port 将/etc/ssh/sshd_config 中的Port 22 改为其他任何端口 只要不超过65535 不占用特殊端口就行

如果把默认端口更改为其他端口后,出现连接失败的状况 提示: " Connection refuse .... " 的字样,可能防火墙屏蔽了指定端口

                       参考链接 解决方案:

1.执行 " service iptables stop" 把防火墙关闭,就可以访问目标端口 service iptables start 开启防火墙 service iptables stop 关闭防火墙 service iptables status 查看防火墙状态

2.或者 添加防火墙规则,添加指定端口号

FTP服务安全配置 1. 什么是FTP服务

FTP Server 服务器是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口卡、热备援多电源供应器。到后来,文件服务器逐渐进化成带有RAID(Redundant Array of Independent Disk)存储子系统和其他高可用特性的高性能系统。 参考链接: FTP服务器 参考链接: FTP Server

2.Linux下vsftpd的默认主配置文件 /etc/vsftpd/user_list # 根据vsftpd.conf 的 userlist_deny进行决定/etc/vsftpd/ftpusers # 指定了某些用户限制访问FTP服务器/etc/vsftpd/vsftpd.conf 以上三个是vsftpd的主要配置文件 详细参考 : 参考链接 参考链接 名称内容允许匿名登录anonymous_enable=YES允许本地local登录local_enable=YES开放本地用户写权限write_enable=YES激活上传和下载日志xferlog_enable=YES数据连接端口connect_from_port_20=YES允许匿名用户上传文件anon_upload_enable=YES开 启匿名用户的写和创建目录的权限anon_mkdir_write_enable=YES匿名用户对文件系统的上传目录具有写权限write_enable=YES------------ Apache 服务安全配置 1.什么是apache服务

Apache服务 参考链接 简单了解下apache;进行安装apache 等相关服务 参考链接

2.账号设置

配置文件: /etc/httpd/conf/httpd.conf debain系统:

service apache2 start # 开启apache2服务 service apache2 stop # 关闭apache2服务 service apache2 restart #重启apache2服务

centos系统:

service httpd start # 开启httpd服务 service httpd stop #关闭httpd服务 service httpd restart #重启httpd服务

使用专用的用户账号和用户组运行apache服务

如果没有专用的用户,则新键用户,并在apache配置文件中指定 i. 创建apache用户组 groupadd apacheii. 创建Apache 用户 并加入到Apache用户组 useradd apache -g apacheiii. 将下面两行设置参数加入apache配置文件的httpd.conf中 User apacheGroup apache 检查httpd.conf 配置文件是否允许使用非专用账户(如 root 用户) 运行apache服务,Linux默认使用apache 或者 nobody用户 如果开启状态下,使用ps-aux 命令 查看apache进程可找到什么类型的用户在运行 3. 授权设置 3.1修改httpd.conf文件,找到 server root设置为:

Server Root /usr/local/apache

默认设置为/etc/httpd/ 3.2设置文件夹权限,非root用户禁止修改浏览 执行 chmod 600 /etc/httpd/conf/httpd.conf,设置配置文件属主可读写执行 chmod 644 /var/log/httpd/*.log设置日志文件为属主可读写,其他用户只有只读权限 /etc/httpd/conf/httpd.conf 默认权限为644,根据需要进行修改权限为600/var/log/httpd/*.log 日志文件默认权限644 /var/log/httpd/*.log文件 4.日志设置

参考链接

4.1Apache 日志格式分类(1)

apache中日志记录格式有两种,普通型(common)和复合型(combined),安装时默认使用普通型

配置文件: /etc/httpd/conf/httpd.conf

在这里插入图片描述

%h%I%u%t%r$>s$b远端主机远端登录名远端用户名时间请求第一行状态传送字节 4.1.1 错误日志: 1. LogLevel notice # 日志的级别 2. Error /etc/httpd/logs/error_log # 日志的保存位置

在这里插入图片描述

4.1.2 访问日志: 1.#CustomLog logs/access_log common #访问日志配置文件 2. #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio # 日志的格式 5.禁止访问外部文件 5.1 禁止访问除了WEB目录以外的文件 1. 修改 /etc/httpd/conf/httpd.conf 配置文件 1. Order Deny ,Allow 2. Deny from all 5.2 设置可访问目录 1. Order Allow,Deny 2. Allow from /web 3. /web 为网站的根目录 5.3 禁止目录列出

删除/etc/httpd/conf/httpd.conf配置文件中的Options 的Indexes

1. 修改httpd.conf文件 1.#Options Indexes FollowSymLinks #删掉Indexes 2.Options FollowSymLinks 3.AllowOverride None 4.Order allow,deny 5.Allow from all

Indexes的作用就是当web根目录下没有index.html文件时,自动显示目录所有文件

6.隐藏敏感信息 6.1 隐藏版本号

隐藏web页面显示Apache版本号以及其他敏感信息

修改 httpd.conf 文件

找到 “ServerSignature On” 一行 把 On 改为 off“ServerTokens OS” 改为 “ServerTokens Prod” 3.关闭TRACE功能,防止Trace方法被恶意利用 在httpd.conf文件中添加一行 " TraceEnable off" 注意: 该参数适用于apache 2.0以上版本 7. 安全配置apache服务(使用密码认证机制访问策略) 7.1 创建密码文件

使用htpasswd命令创建密码文件,Apache将会用它来验证用户身份进行访问web网站

命令参数-c创建加密的文件-n不更新加密文件;只将加密后的用户名密码显示在屏幕上-m默认采用MD5算法对密码进行加密-d采用CRYPT算法对密码进行加密-p不对密码进行加密,即明文密码-s采用SHA算法对密码进行加密-b在命令行一并输入用户名和密码而不是根据提示输入密码-D删除指定用户

[root@localhost httpd]# htpasswd -c /etc/httpd/.htpasswd admin # 设置用户名 New password: # 输入密码 Re-type new password: # 重新输入一次新的密码 Adding password for user admin [root@localhost httpd]# 在这里插入图片描述

ls -a 查看.htpasswd 该隐藏文件 cat filename 查看文件内容 在这里插入图片描述

7.2 访问控制

在httpd.conf文件中添加以下内容 在这里插入图片描述

/var/www/html/1.php # web目录文件 7.3 创建.htaccess文件,进行限制访问登录

这里我们给1.php这个文件进行限制登录 使用nano命令,设置.htaccess文件

nano /var/www/html/.htaccess

写入以下代码:

AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/httpd/.htpasswd Require valid-user

最后通过浏览器访问该xxx/1.php文件,提示需要账号密码才能访问该页面 在这里插入图片描述

检查相关服务状态

chkconfig --list 查看相关服务,2,3,4,5 如果为开启状态标识服务已经是启动状态 who 查看系统用户状态 关闭|启动|重启某个服务 chkconfig --level stop|on|restart

审计策略 1.1 系统日志策略配置文件

系统日志文件(默认): /var/log/messages 安全日志文件(默认): /var/log/secure cron日志文件:          /var/log/cron 查看日志文件:cat /etc/logrotate.d/syslog 检查日志文件是否存在;并备份文件 备份方法:cp -p /etc/logrotate.d/syslog

1.2 系统特殊文件安全性

使用chattr命令对以下文件设置不可更改属性

[root@localhost sysconfig]# chattr +i /etc//passwd [root@localhost sysconfig]# chattr +i /etc/shadow [root@localhost sysconfig]# chattr +i /etc/group [root@localhost sysconfig]# chattr +i /etc/gshadow 参考文章

1.参考文章 2. 阿里云 3.参考文章 4.SSH安全配置 5. Linux安全加固方法



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有