명령줄 도구를 사용하여 Linux 서버 보안 향상
요약: 인터넷이 발전하면서 Linux 서버 보안 문제가 점점 더 많은 관심을 받고 있습니다. 이 문서에서는 관리자가 Linux 서버의 보안을 향상시키는 데 도움이 되는 몇 가지 일반적으로 사용되는 명령줄 도구를 소개합니다. 동시에 독자들이 실제 상황에서 더 잘 이해하고 적용할 수 있도록 각 도구에 대한 코드 예제도 제공할 것입니다.
소개:
인터넷의 대중화와 기술의 발전으로 Linux 서버는 많은 기업과 개인이 선택하는 시스템이 되었습니다. 그러나 동시에 서버 보안 문제도 점점 더 두드러지고 있습니다. 해킹 공격, 취약점 악용, 데이터 유출 등은 모두 서버에 심각한 위협이 됩니다. 서버와 데이터를 보호하기 위해 관리자는 Linux 서버의 보안을 개선하기 위한 몇 가지 조치를 취해야 합니다.
1. 올바른 비밀번호 정책 설정
안전한 비밀번호 정책은 서버 보안에 매우 중요합니다. 명령줄 도구를 사용하여 비밀번호 길이, 복잡성 요구 사항 및 만료 날짜를 포함한 비밀번호 정책을 설정할 수 있습니다.
1.1 비밀번호 길이 설정:
명령줄 도구 passwd
를 사용하여 /etc/login.defs
에서 PASS_MIN_LEN
필드를 수정할 수 있습니다. > 파일을 사용하여 최소 비밀번호 길이를 설정하세요. 다음은 샘플 스크립트입니다. passwd
,我们可以修改/etc/login.defs
文件中的PASS_MIN_LEN
字段来设置密码最小长度。下面是一个示例脚本:
#!/bin/bash sed -i 's/^PASS_MIN_LEN.*$/PASS_MIN_LEN 8/' /etc/login.defs
1.2 设置密码复杂度:
使用命令行工具pam_pwquality
,我们可以修改/etc/security/pwquality.conf
文件中的参数来设置密码的复杂度要求。以下是一个示例脚本:
#!/bin/bash sed -i 's/^minlen.*$/minlen=8/' /etc/security/pwquality.conf sed -i 's/^dcredit.*$/dcredit=-1/' /etc/security/pwquality.conf sed -i 's/^ucredit.*$/ucredit=-1/' /etc/security/pwquality.conf sed -i 's/^ocredit.*$/ocredit=-1/' /etc/security/pwquality.conf sed -i 's/^lcredit.*$/lcredit=-1/' /etc/security/pwquality.conf
1.3 设置密码有效期限:
使用命令行工具chage
,我们可以查看和修改用户的密码有效期。下面是一个示例脚本:
#!/bin/bash # 查看用户的密码有效期 chage -l username # 修改用户的密码有效期为30天 chage -M 30 username
二、限制用户远程登录
为了降低服务器被入侵的风险,我们可以限制用户的远程登录权限。具体而言,我们可以使用命令行工具sshd
来配置/etc/ssh/sshd_config
文件,限制用户的SSH登录。
2.1 禁止root远程登录:
通过修改/etc/ssh/sshd_config
文件,将PermitRootLogin
字段的值改为no
。以下是一个示例脚本:
#!/bin/bash sed -i 's/^PermitRootLogin.*$/PermitRootLogin no/' /etc/ssh/sshd_config
2.2 限制SSH登录的IP范围:
通过修改/etc/ssh/sshd_config
文件,使用AllowUsers
字段限制允许SSH登录的IP范围。以下是一个示例脚本:
#!/bin/bash echo "AllowUsers 192.168.1.0/24" >> /etc/ssh/sshd_config
三、使用防火墙保护服务器
防火墙是保护服务器安全的重要组成部分,我们可以使用命令行工具iptables
来配置防火墙规则。
3.1 关闭不必要的端口:
使用iptables
命令来关闭服务器上不必要的端口,为服务器提供更好的保护。以下是一个示例脚本:
#!/bin/bash # 关闭80端口 iptables -A INPUT -p tcp --dport 80 -j DROP
3.2 设置ALLOW/DENY规则:
使用iptables
#!/bin/bash # 允许192.168.1.100访问80端口 iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT # 拒绝192.168.1.200访问22端口 iptables -A INPUT -s 192.168.1.200 -p tcp --dport 22 -j DROP1.2 비밀번호 복잡성 설정:
명령줄 도구 pam_pwquality
를 사용하여 /etc/security/pwquality.conf
파일을 수정할 수 있습니다. 비밀번호 복잡성 요구 사항을 설정합니다. 다음은 샘플 스크립트입니다:
rrreee
명령줄 도구 chage
를 사용하여 사용자의 비밀번호 유효 기간을 보고 수정할 수 있습니다. 다음은 샘플 스크립트입니다.
rrreee
sshd
를 사용하여 /etc/ssh/sshd_config
파일을 구성하여 사용자의 SSH 로그인을 제한할 수 있습니다. 🎜🎜2.1 루트 원격 로그인 비활성화: 🎜 /etc/ssh/sshd_config
파일을 수정하여 PermitRootLogin
필드 값을 no
로 변경합니다. . 다음은 샘플 스크립트입니다. 🎜rrreee🎜2.2 SSH 로그인을 위한 IP 범위를 제한합니다. 🎜 /etc/ssh/sshd_config
파일을 수정하여 AllowUsers
필드를 사용하여 허용되는 SSH 로그인 IP 범위를 제한합니다. 다음은 샘플 스크립트입니다. 🎜rrreee🎜 3. 방화벽을 사용하여 서버 보호 🎜 방화벽은 서버 보안 보호의 중요한 부분입니다. 명령줄 도구인 iptables
를 사용하여 방화벽 규칙을 구성할 수 있습니다. 🎜🎜3.1 불필요한 포트 닫기: 🎜iptables
명령을 사용하여 서버의 불필요한 포트를 닫아 서버를 더 효과적으로 보호하세요. 다음은 샘플 스크립트입니다. 🎜rrreee🎜3.2 ALLOW/DENY 규칙 설정: 🎜iptables
명령을 사용하여 특정 IP 또는 IP 범위에 대한 액세스를 허용하거나 거부하는 ALLOW/DENY 규칙을 설정합니다. 다음은 샘플 스크립트입니다. 🎜rrreee🎜결론: 🎜이 기사에서는 관리자가 Linux 서버의 보안을 향상시키는 데 도움이 되는 일반적으로 사용되는 몇 가지 명령줄 도구를 소개합니다. 비밀번호 정책을 설정하고 사용자의 원격 로그인을 제한하며 방화벽을 사용함으로써 공격 및 데이터 유출 위험으로부터 서버를 효과적으로 보호할 수 있습니다. 독자들이 이러한 도구를 익히고 실제로 적용하여 서버 보안을 향상할 수 있기를 바랍니다. 🎜🎜참고자료: 🎜없음🎜위 내용은 명령줄 도구를 사용하여 Linux 서버 보안 향상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!